Libraries¶
A working library of control modules, phase templates, simulation presets, and master recipes shipped with the reference plant. Every example runs on the simulator. Clone one, adapt it to your equipment, and use it as a starting point for your own plant.
New to the system? Read Mental Models and the rest of the Concepts section first for the ISA-88 vocabulary, then come back here for runnable artifacts.
Scope
The library is batch-oriented and follows the ISA-88 model. Continuous control patterns (startup/shutdown sequences, temperature ramps, flow regulation loops running indefinitely) aren't covered here. Continuous control modules like PID loops are available as control-module templates, but the procedural layer assumes a recipe → batch execution model.
How the examples fit together¶
ISA-88 layers, bottom up:
- Control Modules — reusable function-block wrappers for valves, sensors, analog outputs, and PID loops.
- Phase Templates — SFC charts that drive one unit procedure step (fill, heat, agitate, rinse, dry, …) using the control modules above.
- Operation & Unit-Procedure Templates — sequenced compositions of phases (e.g. a full CIP rinse operation).
- Master Recipes — complete runnable batches bound to the simulated process cell.
Plus Simulation Profiles: the virtual I/O modules and behavior models that let all of the above run without hardware.
Equipment families covered¶
| Family | Unit | Example phases | Example recipe |
|---|---|---|---|
| Reactor | sim-cell/reactor-1 |
charge-reactor, react, discharge, reactor-cip-* | sim-reactor-heat-m1, sim-reactor-cip-m1 |
| Mix Tank | sim-cell/mix-tank-1 |
tank-mix, tank-tempered-fill, tank-ph-adjust, tank-iterative-dose | sim-tank-blend-m1, sim-cip-cycle-m1 |
| Filter-Dryer | sim-cell/filter-dryer-1 |
filter-charge, smooth-cake, filter-wash, vacuum-dry, filter-discharge | sim-filter-dry-m1, sim-fd-cip-m1 |
| End-to-end API | reactor + tank + filter-dryer | all of the above | sim-api-isolation-m1 |
Running an example¶
The library's canonical YAML ships in the repository under
examples/templates/ (control-module templates) and
examples/riverbend/ (the reference plant: sim I/O, control-module
instances, phase templates, recipes). On the hosted demo the whole
scenario is provisioned for you at first login. On your own control
system, install it file by file:
dcs apply -f examples/templates/ # control-module templates
dcs apply -f examples/riverbend/06-iomodules.yaml # sim IOModules with inline simulation
dcs apply -f examples/riverbend/07-controlmodules.yaml # control-module instances
dcs apply -f examples/riverbend/11-phase-templates.yaml # phase templates
dcs apply -f examples/riverbend/12-recipes.yaml # master recipes
dcs recipe approve sim-reactor-heat-m1 # approve the master recipe
dcs simulate sim-reactor-heat-m1 # run it on the simulator
dcs simulate creates a simulation Batch, watches it to completion,
and reports the outcome.
Don't bulk-apply Batch resources
Applying a Batch CR triggers immediate execution. Never
dcs apply -f a directory that contains Batch manifests (e.g.
examples/riverbend/13-batches.yaml). Start batches one at a
time via dcs simulate, the UI, or a single Batch manifest.
See Recipes for the end-to-end enroll-to-batch narrative and Control Modules for the in-UI editor.
Related Documentation¶
- Control Modules — authoring control modules in the UI
- Phases — writing phase templates
- Recipes — ISA-88 recipe cascade
- Terminology — ISA-88 terms used throughout