Skip to content

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:

  1. Control Modules — reusable function-block wrappers for valves, sensors, analog outputs, and PID loops.
  2. Phase Templates — SFC charts that drive one unit procedure step (fill, heat, agitate, rinse, dry, …) using the control modules above.
  3. Operation & Unit-Procedure Templates — sequenced compositions of phases (e.g. a full CIP rinse operation).
  4. 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.