grain_mass and water_mass now live on each step (defaulted from default.step) instead of being fixed for the whole brew, since both change over a mash (malt going in, water boiling off). Sud.derive_plant_params() takes them as arguments so it can be recomputed per step; the demo re-applies the resulting M/C to both the real plant and the controller's Smith-predictor model on every step change via the new Pot.set_thermal_params()/ TempController.set_model_params(). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CgR9tPaSzFkAwRAUyeaaCD
119 lines
1.9 KiB
JSON
119 lines
1.9 KiB
JSON
{
|
|
"Name" : "Sud-0010",
|
|
"Description" : "Rotfraenkisch, Dunkles Lager",
|
|
"pot_mass" : 5.960,
|
|
"pot_material" : "Edelstahl 18/10",
|
|
"default":
|
|
{
|
|
"step" : {
|
|
"descr": "Put description here",
|
|
"user_message": "Put user message here",
|
|
"user_wait_for_continue": false,
|
|
"grain_mass" : 5.21,
|
|
"water_mass" : 22,
|
|
"ramp": {
|
|
"rate": 1.0,
|
|
"temp": 0,
|
|
"stirrer": {
|
|
"speed": 50,
|
|
"interval_time": 0,
|
|
"on_ratio": 1.0
|
|
}
|
|
},
|
|
"hold": {
|
|
"duration": 0,
|
|
"stirrer": {
|
|
"speed": 30,
|
|
"interval_time": 60,
|
|
"on_ratio": 0.5
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"steps":
|
|
[
|
|
{
|
|
"grain_mass" : 0,
|
|
"descr": "Heizen für Einmaischen",
|
|
"ramp": {
|
|
"rate": 1.8,
|
|
"temp": 57,
|
|
"stirrer": {
|
|
"speed": 75
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"descr": "Einmaischen einfüllen",
|
|
"user_message": "Bitte Malz einfüllen und bestätigen",
|
|
"user_wait_for_continue": true,
|
|
"hold": {
|
|
"stirrer": {
|
|
"speed": 0
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"descr": "Einmaischen Rast",
|
|
"hold": {
|
|
"duration": 2000
|
|
}
|
|
},
|
|
{
|
|
"descr": "Heizen Glucose-Rast",
|
|
"ramp": {
|
|
"rate": 1.0,
|
|
"temp": 63
|
|
}
|
|
},
|
|
{
|
|
"descr": "Halten Glucose-Rast",
|
|
"hold": {
|
|
"duration": 4000,
|
|
"stirrer": {
|
|
"speed": 20,
|
|
"interval_time": 90,
|
|
"on_ratio": 0.8
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"descr": "Heizen Verzuckerungs-Rast",
|
|
"ramp": {
|
|
"rate": 1.0,
|
|
"temp": 72
|
|
}
|
|
},
|
|
{
|
|
"descr": "Halten Verzuckerungs-Rast",
|
|
"hold": {
|
|
"duration": 3000,
|
|
"stirrer": {
|
|
"speed": 35,
|
|
"interval_time": 120
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"descr": "Heizen Abmaischen",
|
|
"ramp": {
|
|
"rate": 1.0,
|
|
"temp": 76
|
|
}
|
|
},
|
|
{
|
|
"water_mass" : 21,
|
|
"descr": "Halten Abmaischen",
|
|
"user_message": "Quittieren zum Abmaischen",
|
|
"user_wait_for_continue": true,
|
|
"hold": {
|
|
"duration": 300,
|
|
"stirrer": {
|
|
"speed": 50
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
|