Phase Template: vacuum-dry¶
Dry the filter cake under vacuum with jacket heating, until a target
moisture endpoint is reached or max_dry_time expires. Use this
phase as the dry step of every filter-dryer recipe. The phase uses
the cake-moisture sensor (an LOD proxy in the simulator) as the
primary endpoint, with max_dry_time as the safety backstop.
Where to find it¶
System endpoint → Equipment Library → Phases → select vacuum-dry.
graph TD
Start([initial]) --> CV[close_vent]
CV -->|"NOT vent.FB"| SV[start_vacuum]
SV -->|"vacuum.POS >= 80% setpoint"| SH[start_heating]
SH -->|"jacket.POS >= 80% output"| WT[wait_temp]
WT -->|"temp >= 90% target_temp"| DR[drying]
DR -->|"moisture <= target_moisture<br/>priority 0"| STH[stop_heating]
DR -->|"T >= max_dry_time<br/>priority 1"| STH
STH -->|"jacket.POS < 2"| STV[stop_vacuum]
STV -->|"vacuum.POS < 2"| Done([done])
See Phases for the diagram conventions.
What you see when it runs¶
| Element | Meaning |
|---|---|
| Active step | Which stage is currently running — most of the duration is on drying |
| Parameters | jacket_output, vacuum_setpoint, target_moisture, max_dry_time, target_temp |
| Live PVs | moisture_sensor.PV is the endpoint; temp_sensor.PV and pressure_sensor.PV show the drying conditions |
HMI screenshot pending
An annotated capture of a running vacuum-dry phase during the
drying step will be added here.
Parameters¶
| Parameter | Type | Unit | Range | Default | Required |
|---|---|---|---|---|---|
jacket_output |
REAL | % | 0-100 | — | yes |
vacuum_setpoint |
REAL | % | 10-100 | — | yes |
target_moisture |
REAL | % | 0.5-50 | — | yes |
max_dry_time |
TIME | — | 5m-10h |
— | yes |
target_temp |
REAL | degC | 20-120 | — | yes |
TIME parameters take duration strings ("45s", "1m30s", "5m"),
not bare numbers.
Required control modules¶
| Role | Module type | Description |
|---|---|---|
jacket_controller |
analog-control | Jacket heater controller |
vacuum_controller |
analog-control | Vacuum pump controller |
temp_sensor |
analog-sensor | Product / cake temperature |
pressure_sensor |
analog-sensor | Vessel headspace pressure |
moisture_sensor |
analog-sensor | Cake moisture content (LOD) |
vent_valve |
discrete-valve | Vent / vacuum break valve |
Capability: drying.
How it works¶
Each scan the SFC engine:
close_ventcloses the vent valve and waits forFB = FALSE.start_vacuumwritesvacuum_setpointand waits for the pump to ramp to 80 % of setpoint.start_heatingwritesjacket_outputto the jacket and waits forjacket.POSto reach 80 % of setpoint.wait_tempholds until the product temperature reaches 90 % oftarget_temp.dryingis the main work step with two priority-ordered exits:priority 0(nominal):moisture <= target_moisturepriority 1(safety timeout):drying.T >= max_dry_time
stop_heatingzeroes the jacket and waits forjacket.POS < 2. The heater is disabled first so the cake doesn't over-bake during the vacuum bleed.stop_vacuumzeroes the vacuum pump and waits forPOS < 2.
This is a PV-endpoint phase. The termination is a moisture
measurement. If the moisture sensor fails, the safety timer ends the
phase at max_dry_time. Pair with a TagHigh vacuum-loss alarm and
a deviation alarm on the heater. See
Phases § PV-endpoint phase.
Used in recipes¶
Try it¶
- HMI endpoint → Batch Execution → + New →
sim-filter-dry-m1→ Start - Wait for the
drystep to activate onfilter-dryer-1 - Watch the
dryingstep hold while the moisture sensor drops - Open Data endpoint → Trends and chart
moisture_sensor.PV,temp_sensor.PV,pressure_sensor.PV,jacket_controller.CMD, andvacuum_controller.CMDtogether - Verify the phase exits via the moisture endpoint (priority 0) under nominal simulation, with the timeout (priority 1) unused