Phase Template: tank-transfer¶
Transfer mixing-tank contents downstream by opening the discrete outlet valve for a fixed duration, then closing it. It is the timed, fire-and-forget counterpart to the feedback-gated drain inside tank-mix. Use it when a downstream unit (for example the reactor in a blend-then-react recipe) is ready to receive and a fixed transfer window is acceptable.
Where to find it¶
System endpoint → Equipment Library → Phases → select tank-transfer.
graph TD
Start([initial]) --> OO[open_outlet]
OO -->|"open_outlet.T >= duration"| CO[close_outlet]
CO --> Done([done])
See Phases for the diagram conventions.
What you see when it runs¶
| Element | Meaning |
|---|---|
| Active step | open_outlet while transferring; close_outlet during the final close |
| Parameters | duration resolved from the recipe formula |
| Bound modules | The concrete control-module instance the outlet_valve role resolved to |
| Elapsed | Step-elapsed timer compared against duration |
HMI screenshot pending
An annotated capture of a running tank-transfer phase will be
added here.
Parameters¶
| Parameter | Type | Unit | Range | Default | Required |
|---|---|---|---|---|---|
duration |
TIME | — | 10s-10m |
— | yes |
TIME parameters take duration strings ("45s", "1m30s", "5m"),
not bare numbers.
Required control modules¶
| Role | Module type | Description |
|---|---|---|
outlet_valve |
discrete-valve | Tank outlet valve (on/off) |
Capability: mixing.
How it works¶
A linear timed phase. Each scan the SFC engine:
- Activates
open_outlet, which opens the outlet valve (outlet_valve.CMD = 1.0). - Holds on
open_outletuntilopen_outlet.T >= duration. - Advances to
close_outlet, which closes the valve.
The holding, stopping, aborting, and resetting charts close the outlet. Any interruption therefore stops the transfer, and the restarting chart reopens the outlet.
This is a timed phase. The timer cannot confirm material actually
moved or that the transfer finished. Pair with the valve's MISMATCH
alarm and a level or weight check in the surrounding procedure. Use
a level-guard phase (like the drain segment of
tank-mix) when the transferred quantity matters. See
Phases § Timed phase.
Used in recipes¶
No shipped reference recipe uses this template. The multi-unit recipes drain via tank-mix's level-guarded segment instead. It is a building block for composing your own.
Try it¶
- System endpoint → Recipes → create a draft recipe with a
tank-transferstep onmix-tank-1(theoutlet_valverole binds tomt1-outlet-valve) - Approve and start it from HMI endpoint → Batch Execution
- Open the outlet valve's faceplate and watch
CMD/FBgo high forduration, then return to closed
Modify this template¶
Want to clone this and adapt it for your own equipment? Walk through Adaptation Guide for the full clone → rebind → deploy → run workflow, and Parameter Binding to understand how recipe values flow through to control-module tags.