OperationTemplate: cip-hot-wash-op¶
A generic CIP hot chemical wash operation: fill with chemical
solution, heat to target, agitate for the full contact time, and
drain. Use this operation for any heated chemical wash step in a
mix-tank-style CIP cycle, typically a caustic (NaOH) wash for
organic soil and an optional acid wash for inorganic scale. Each
phase supports the skip_if_zero parameter so the operation can be
toggled off per call via a 0/1 recipe gate.
Where to find it¶
System endpoint → Equipment Library → Operations → select cip-hot-wash-op.
What you see when it runs¶
Inside the procedural tree, this operation appears as a three-step node:
| Element | Meaning |
|---|---|
| Operation node | caustic-wash or acid-wash depending on which UnitProcedureTemplate call you're inside |
| Phase children | fill → heat-and-hold → drain |
| Skipped state | When the caller passes skip_if_zero = 0, the child phases short-circuit and the operation completes in a single tick — visible in the tree as a green-checked step with no elapsed time |
HMI screenshot pending
An annotated capture of a running cip-hot-wash-op operation will be added here.
Phases¶
| # | Step | Phase template | Description |
|---|---|---|---|
| 1 | fill |
cip-fill |
Fill with chemical solution (skips if skip_if_zero < 1) |
| 2 | heat-and-hold |
cip-heat-and-hold |
Heat to target temperature and hold with agitation for contact time |
| 3 | drain |
cip-drain |
Drain wash solution |
Capability: mixing.
Parameters¶
| Parameter | Type | Unit | Range | Default | Required |
|---|---|---|---|---|---|
fill_level |
REAL | L | 50-450 | 350 |
yes |
wash_temp |
REAL | degC | 40-85 | 75 |
yes |
heat_output |
REAL | % | 10-100 | 80 |
yes |
agitate_speed |
REAL | % | 20-100 | 60 |
yes |
contact_time |
TIME | — | 1m-1h |
30m |
yes |
drain_level |
REAL | L | 0-50 | 5 |
no |
skip_if_zero |
REAL | — | 0-1 | 1 |
no |
TIME parameters take duration strings ("45s", "1m30s", "5m"),
not bare numbers.
How it works¶
Linear three-phase sequence with a gating parameter:
- The caller passes
skip_if_zero(conventionally bound to a recipe parameter likeacidWashRequired). - If
skip_if_zero >= 1, the three child phases run in order — fill, heat and hold, drain. - If
skip_if_zero < 1, each child phase exits immediately on its initial step, and the operation completes without any field effect. Used to make theacid-washstep conditional on theacidWashRequiredrecipe parameter.
Used in¶
- UnitProcedureTemplate:
cip-vessel-cleaning, which calls it twice: caustic wash and conditional acid wash
Try it¶
- HMI endpoint → Batch Execution → + New →
sim-cip-cycle-m1→ Start - Expand the procedural tree — this operation appears as
caustic-wash(always runs) andacid-wash(conditional) - Open Data endpoint → Trends on tank temperature during the hot wash to see the heat ramp, contact-time hold, and cool-down
- Re-run the recipe with
acidWashRequired = 0to see theacid-washoperation complete instantly in the procedural tree