Skip to content

Phase Template: filter-charge

Feed slurry into the filter-dryer and build a filter cake under vacuum. Use this phase as the first step of every filter-dryer recipe. It prepares the vessel by opening the filtrate drain and pulling vacuum, then admits slurry through the feed valve and watches the cake-level sensor to close the feed at the target height.

Where to find it

System endpointEquipment LibraryPhases → select filter-charge.

graph TD
    Start([initial]) --> OF[open_filtrate_valve]
    OF -->|"filtrate.FB"| SV[start_vacuum]
    SV -->|"vacuum.POS >= 80% setpoint"| WV[wait_vacuum]
    WV -->|"pressure <= 500 mbar"| OE[open_feed]
    OE -->|"feed.FB"| FG[filtering]
    FG -->|"cake_level &gt;= target<br/>priority 0"| CF[close_feed]
    FG -->|"T &gt;= feed_timeout<br/>priority 1"| CF
    CF -->|"NOT feed.FB"| DR[drain_residual]
    DR -->|"flow &lt; 0.5"| Done([done])

See Phases for the diagram conventions.

What you see when it runs

Element Meaning
Active step Which vacuum/fill stage is currently running
Parameters target_cake_height, vacuum_setpoint, feed_timeout
Live PVs cake_level_sensor.PV, filtrate_flow_sensor.PV, and pressure_sensor.PV drive the transitions

HMI screenshot pending

An annotated capture of a running filter-charge phase during the filtering step will be added here.

Parameters

Parameter Type Unit Range Default Required
target_cake_height REAL mm 10-500 yes
vacuum_setpoint REAL % 10-100 yes
feed_timeout TIME 1m-1h yes

TIME parameters take duration strings ("45s", "1m30s", "5m"), not bare numbers.

Required control modules

Role Module type Description
feed_valve discrete-valve Slurry feed valve from reactor
filtrate_valve discrete-valve Filtrate drain valve
vacuum_controller analog-control Vacuum pump controller
pressure_sensor analog-sensor Vessel headspace pressure
cake_level_sensor analog-sensor Cake height on filter plate
filtrate_flow_sensor analog-sensor Filtrate flow rate
moisture_sensor analog-sensor Cake moisture content

Capability: filtration.

How it works

Each scan the SFC engine:

  1. open_filtrate_valve opens the filtrate drain and waits for filtrate.FB = TRUE.
  2. start_vacuum writes vacuum_setpoint to vacuum_controller.CMD and waits until the vacuum pump has ramped to 80 % of setpoint.
  3. wait_vacuum holds until the headspace pressure drops to ≤ 500 mbar, confirming the vessel is evacuated.
  4. open_feed opens the slurry feed valve.
  5. filtering is the main work step with two priority-ordered exit transitions:
    • priority 0 (nominal): cake_level >= target_cake_height
    • priority 1 (safety): filtering.T >= feed_timeout — a backstop if the cake never builds (line blockage, upstream empty, or sensor fault)
  6. close_feed closes the feed and waits for feed.FB = FALSE.
  7. drain_residual holds until filtrate flow drops below 0.5 (cake has stopped producing filtrate) before done.

This is a level-guard phase with an embedded safety timer. Pair with a hardware-limit alarm on the cake-level sensor and verify feed_timeout is set on every recipe call. See Phases § Level-guard phase.

Used in recipes

Try it

  1. HMI endpointBatch Execution+ Newsim-filter-dry-m1Start
  2. Expand the procedural tree until the charge step activates on filter-dryer-1
  3. Watch the phase walk through open_filtrate_valvestart_vacuumwait_vacuum, each transition gated by feedback or a PV
  4. Open Data endpointTrends and chart pressure_sensor.PV, cake_level_sensor.PV, and filtrate_flow_sensor.PV to see the cake build and the residual drain