UnitProcedureTemplate: cip-vessel-cleaning¶
A complete CIP cycle for a pharmaceutical mixing vessel: pre-rinse, hot caustic wash, intermediate rinse, conditional hot acid wash, final rinse with conductivity endpoint, and N₂ blowdown. Use this UnitProcedureTemplate as the top of a mix-tank-style CIP master recipe. It composes the CIP operation templates into a reusable, parameterized cleaning cycle.
In ISA-88 terms this is a UnitProcedureTemplate, one level above OperationTemplates, bound to a single unit and suitable for direct reference by a MasterRecipe.
Where to find it¶
System endpoint → Equipment Library → Unit Procedures → select cip-vessel-cleaning.
graph TD
Start([initial]) --> PR[pre-rinse]
PR --> CW[caustic-wash]
CW --> IR[intermediate-rinse]
IR --> AW["acid-wash<br/>(skip_if_zero: acidWashRequired)"]
AW --> FR[final-rinse]
FR --> BD[blowdown]
BD --> Done([done])
Linear six-step sequence. The only conditional is acid-wash,
skipped internally by cip-hot-wash-op when acidWashRequired = 0.
What you see when it runs¶
| Element | Meaning |
|---|---|
| Unit procedure node | The top-level node of the batch's procedural tree — one per allocated unit |
| Operation children | The six operations listed below, executed in order |
| Active operation | Highlighted on the tree; click in to see its child phases |
HMI screenshot pending
An annotated capture of a running cip-vessel-cleaning procedural
tree will be added here.
Operations¶
| # | Step | OperationTemplate | Description |
|---|---|---|---|
| 1 | pre-rinse |
cip-rinse-op |
WFI pre-rinse to remove gross residue |
| 2 | caustic-wash |
cip-hot-wash-op |
Hot caustic wash (NaOH) for organic soil removal |
| 3 | intermediate-rinse |
cip-rinse-op |
WFI rinse to remove caustic residue |
| 4 | acid-wash |
cip-hot-wash-op |
Hot acid wash (phosphoric acid) for inorganic scale — skipped when acidWashRequired=0 |
| 5 | final-rinse |
cip-conductivity-rinse-op |
WFI rinse with conductivity endpoint verification |
| 6 | blowdown |
cip-blowdown-op |
N₂ blowdown for tank drying |
Capability: mixing.
Parameters¶
All parameters are optional with defaults, and master recipes bind
recipe-level values to these via parameterBindings on the
unit-procedure step. TIME parameters take duration strings
("45s", "1m30s", "5m"). A bare number is not a duration.
| Parameter | Type | Unit | Default |
|---|---|---|---|
preRinseFillLevel |
REAL | L | 300 |
preRinseAgitateSpeed |
REAL | % | 40 |
preRinseDuration |
TIME | — | 5m |
causticFillLevel |
REAL | L | 350 |
causticWashTemp |
REAL | degC | 75 |
causticHeatOutput |
REAL | % | 80 |
causticAgitateSpeed |
REAL | % | 60 |
causticContactTime |
TIME | — | 30m |
interRinseFillLevel |
REAL | L | 300 |
interRinseAgitateSpeed |
REAL | % | 40 |
interRinseDuration |
TIME | — | 5m |
acidWashRequired |
REAL | — | 1 |
acidFillLevel |
REAL | L | 300 |
acidWashTemp |
REAL | degC | 60 |
acidHeatOutput |
REAL | % | 70 |
acidAgitateSpeed |
REAL | % | 50 |
acidContactTime |
TIME | — | 20m |
finalRinseFillLevel |
REAL | L | 350 |
finalRinseAgitateSpeed |
REAL | % | 50 |
finalRinseDuration |
TIME | — | 5m |
conductivityLimit |
REAL | µS/cm | 15.0 |
blowdownPressure |
REAL | bar | 1.5 |
blowdownPressurizeTime |
TIME | — | 15s |
blowdownHoldTime |
TIME | — | 2m |
blowdownVentTime |
TIME | — | 10s |
How it works¶
The batch controller expands this template into a six-operation SFC when the batch starts. Each operation runs its own child phases sequentially, and the unit procedure advances when the current operation completes.
pre-rinseandcaustic-washalways run.intermediate-rinseremoves caustic before the acid wash.acid-washruns only if the calling recipe setsacidWashRequired = 1. Otherwise the operation's internalskip_if_zerogate bypasses every child phase.final-rinserecords the cleanliness verdict. The conductivity check measures againstconductivityLimitand logs a PASSED or FAILED operator message, then the cycle advances either way. Review the message before releasing the vessel. Re-run a rinse if it failed.blowdowndries the vessel before release.
Used in recipes¶
- sim-cip-cycle-m1 — the starter
CIP cycle for
mix-tank-1
Try it¶
- HMI endpoint → Batch Execution → + New →
sim-cip-cycle-m1→ Start - Expand the procedural tree to see this UnitProcedureTemplate at the top with its six operation children
- Click into each operation as it activates to watch the child phases advance
- Re-run the recipe with
acidWashRequired = 0(via a formula override) to verifyacid-washcompletes instantly in the tree