Skip to content

Phase Template: charge-reactor

Charge material into the reactor via the solvent valve with slow agitation. Use this phase as the first material-addition step of any reactor recipe. It opens the solvent feed to a configurable percentage, runs the agitator at a gentle speed, and holds the combination for the requested duration.

Where to find it

System endpointEquipment LibraryPhases → select charge-reactor.

The detail view shows the SFC chart, action ST for every step, the parameter list, and the required control-module roles.

graph TD
    Start([initial]) --> S1[start_charge]
    S1 -->|"start_charge.T >= duration"| S2[stop_charge]
    S2 --> Done([done])

See Phases for the diagram conventions.

What you see when it runs

Clicking the active phase on the HMI endpointBatch Execution view opens a detail panel with:

Element Meaning
Active step Which SFC step is currently executing (start_charge or stop_charge)
Parameters fillPercent, agitatorSpeed, duration resolved from the recipe formula
Bound modules The concrete control-module instances the solvent_valve and agitator roles resolved to on this unit
Elapsed Time the active step has been running — the guard compares it against duration

HMI screenshot pending

An annotated capture of a running charge-reactor phase will be added here.

Parameters

Parameter Type Unit Range Default Required
fillPercent REAL % 10-100 yes
agitatorSpeed REAL % 20 no
duration TIME 10s-10m yes

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

Required control modules

Role Module type Description
solvent_valve analog-control Reactor solvent valve for material feed
agitator analog-control Agitator for gentle mixing during charge

Capability: reaction.

How it works

This is a linear timed phase. Each scan the SFC engine:

  1. Activates start_charge. The action ST writes fillPercent to solvent_valve.CMD and agitatorSpeed to agitator.CMD.
  2. Holds on start_charge until the step-elapsed timer satisfies start_charge.T >= duration, a fixed-time dosing window.
  3. Advances to stop_charge, which closes the solvent valve (solvent_valve.CMD = 0). The agitator is left running so a downstream phase (for example, react) can choose when to stop it.

This is a timed phase. The timer alone cannot detect a stuck valve or failed field wiring, so pair this phase with a deviation alarm on solvent_valve and a timeoutSeconds backstop on the phase call in the recipe. See Phases § Timed phase for the archetype in full.

Used in recipes

Try it

  1. HMI endpointBatch Execution+ New
  2. Choose sim-reactor-heat-m1 and create the batch
  3. Click Start — the batch-operator allocates reactor-1 and builds the procedural tree
  4. Expand the procedure until you see the charge step — clicking it opens the phase detail with start_charge active
  5. Watch the step-elapsed timer tick up. When it reaches duration, the SFC advances to stop_charge and closes the valve
  6. Click the solvent_valve instance on the reactor-1 unit view to watch its CMD and POS tags change as the phase drives them