Skip to content

MasterRecipe: sim-iterative-dose-m1

Iterative dose test on sim-cell/mix-tank-1. Use this recipe to exercise the iterative-dose phase. The batch doses reagent, waits for mixing, re-reads pH, and loops until the pH is within tolerance or the safety counter (max_doses) is exhausted. Good for demonstrating SFC back-edge loops with bounded iteration.

Where to find it

HMI endpointBatch Execution+ New → select sim-iterative-dose-m1.

What you see when it runs

Element Meaning
Procedure Running from batch start
Phase detail The active step cycles through read_phevaluatedoseclose_dosemix_settle → back to read_ph each iteration
Dose count dose_count increments each iteration — visible on the phase detail alongside the current pH reading

HMI screenshot pending

An annotated capture of this recipe's dose loop mid-iteration will be added here.

Batch sizing

Field Value
Nominal 300 L
Product Iterative Dose Test (Simulated)
Product ID SIM-IDOSE-001
Version 1.0.0

Target units

ProcessCell: sim-cell

Capability Unit
mixing mix-tank-1

Procedure

# Step Phase template Description
1 pressure-test tank-pressure-test Pressurize tank and verify no leaks
2 iterative-dose tank-iterative-dose Iteratively dose reagent and re-read pH

How it works

  1. pressure-test runs the standard tank leak check.
  2. iterative-dose initializes dose_count := 0, starts the agitator, and enters the loop. Each iteration doses for dose_time, waits mix_time for mixing, re-reads pH. The evaluate step exits (priority 0) when pH is within tolerance OR the dose counter has reached max_doses. Otherwise it loops back (priority 1).

Try it

  1. HMI endpointBatch Execution+ Newsim-iterative-dose-m1Start
  2. Click into iterative-dose and watch the active step cycle through the loop
  3. Open Data endpointTrends on ph_sensor.PV — you'll see a staircase as each dose pushes the pH closer to target
  4. Verify the phase exited because the pH reached tolerance, with the dose counter still below max_doses