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 endpoint → Equipment Library → Phases → 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 endpoint → Batch 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:
- Activates
start_charge. The action ST writesfillPercenttosolvent_valve.CMDandagitatorSpeedtoagitator.CMD. - Holds on
start_chargeuntil the step-elapsed timer satisfiesstart_charge.T >= duration, a fixed-time dosing window. - 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¶
- sim-reaction-full-m1 — reactor bound to
reactor-1 - sim-reactor-heat-m1 — reactor bound to
reactor-1 - sim-api-isolation-m1 — reactor bound to
reactor-1
Try it¶
- HMI endpoint → Batch Execution → + New
- Choose
sim-reactor-heat-m1and create the batch - Click Start — the batch-operator allocates
reactor-1and builds the procedural tree - Expand the procedure until you see the
chargestep — clicking it opens the phase detail withstart_chargeactive - Watch the step-elapsed timer tick up. When it reaches
duration, the SFC advances tostop_chargeand closes the valve - Click the
solvent_valveinstance on the reactor-1 unit view to watch itsCMDandPOStags change as the phase drives them