Skip to content

Search these docs, or ask Revo a question — answers link the pages they came from.

Schedule parameters


Parameters hold the values a schedule works with: plate counts, worklist names, temperatures and so on. Every parameter a schedule uses is declared on the schedule, with a name and a type (Text, Number, Decimal or Boolean).

A parameter is either an input or a working value.

  • An input is asked for when the schedule is run or planned, and when another schedule starts it with Run Schedule or Run Schedule Thread. It can have a default value, which can still be changed at start.
  • A working value is set by the schedule while it runs, for example with Set Parameter or a Python step. It is not asked for at start.

A step field that accepts a parameter takes a reference written as ${name}. A reference can fill the whole field, or sit inside text, for example a worklist name ${PlateId}_worklist.csv. References are resolved when the step runs.

Conditions and loop counts take expressions; see Allowed expressions in schedule operations. A While.. step checks its condition before each pass, so its steps may run no times at all.

A schedule started by Run Schedule Thread or Run Schedule starts with a copy of the caller’s parameters, then the values in Parameter Values are applied. Parameter Values has one field for each input parameter of the child. Changes the child makes stay in the child.

  • Run Schedule Thread starts a thread inside the current run. It can pass labware and bring values back (below).
  • Run Schedule starts a separate run, with its own Thread Count. Each value is converted to the type the started schedule declares, so 0012345 stays text for a Text parameter.

To bring a value back, list it under Returned Parameters on a Join Schedule Thread step. Source is the parameter’s name in the child, Destination is the name it is written to in the parent. Choose a Source that the child itself sets: the child starts as a copy of the parent’s parameters, so a name the child never sets returns the parent’s old value without an error. Only the listed values come back; the rest of the child’s parameters stay with the child.

With the Do Not Fork execution mode, Run Schedule Thread waits for the child and has its own Returned Parameters, so no Join is needed.

Reading and writing parameters from Python

Section titled “Reading and writing parameters from Python”

A Python step can read and write the schedule’s parameters through revo.parameters; see Schedule parameters in Python.

Each run has its own parameters, passed explicitly between parent and child schedules. If several runs need the same value, pass it in when each run starts, or read it from a file or database in a Python step.