Skip to content

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 endpointEquipment LibraryPhases → 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 &lt;= target_moisture<br/>priority 0"| STH[stop_heating]
    DR -->|"T &gt;= max_dry_time<br/>priority 1"| STH
    STH -->|"jacket.POS &lt; 2"| STV[stop_vacuum]
    STV -->|"vacuum.POS &lt; 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:

  1. close_vent closes the vent valve and waits for FB = FALSE.
  2. start_vacuum writes vacuum_setpoint and waits for the pump to ramp to 80 % of setpoint.
  3. start_heating writes jacket_output to the jacket and waits for jacket.POS to reach 80 % of setpoint.
  4. wait_temp holds until the product temperature reaches 90 % of target_temp.
  5. drying is the main work step with two priority-ordered exits:
    • priority 0 (nominal): moisture <= target_moisture
    • priority 1 (safety timeout): drying.T >= max_dry_time
  6. stop_heating zeroes the jacket and waits for jacket.POS < 2. The heater is disabled first so the cake doesn't over-bake during the vacuum bleed.
  7. stop_vacuum zeroes the vacuum pump and waits for POS < 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

  1. HMI endpointBatch Execution+ Newsim-filter-dry-m1Start
  2. Wait for the dry step to activate on filter-dryer-1
  3. Watch the drying step hold while the moisture sensor drops
  4. Open Data endpointTrends and chart moisture_sensor.PV, temp_sensor.PV, pressure_sensor.PV, jacket_controller.CMD, and vacuum_controller.CMD together
  5. Verify the phase exits via the moisture endpoint (priority 0) under nominal simulation, with the timeout (priority 1) unused