Search these docs, or ask Revo a question — answers link the pages they came from.
All schedule operations
A Revolution schedule is a sequence of steps. Each step is an operation: move a plate, run a device, wait for a signal, branch on a condition. This section documents every operation the schedule editor offers, and every value each one asks you for.
Labware
Create Labware Creates a new named labware instance within a schedule thread.
Define Labware Defines and names a labware that is already on the system, and claims it, so that later steps can transfer it wherever they need. The labware is normally defined as being in a virtual store.
Labware Completed Tells the scheduler that a labware has finished its schedule, and releases any resources it still claims. Its name then becomes free to use again, which matters when one schedule refers to several different labware by the same name. This is an advanced option that most schedules do not need.
Remove all labware Removes the labware recorded at every location on the system. Intended for demonstrations that need the system cleared before a run.
Remove Labware at location Removes the labware recorded at a given device location. Useful in setup schedules, to bring the system into a known state before a run.
Set Labware at location Records a labware as being at a given device location. Useful in setup schedules, to bring the system into a known state before a run.
Set Labware to Available Marks one labware in a store as available again, so that later schedule runs are free to use it.
Transfer Transfers labware from a Source to a Destination; each can be a store, a location type or a specific location.
Stores
Clear Storage Device Clears a range of positions in a storage device, so that Revolution no longer records any labware in them.
Clear Store Clears a store, so that Revolution no longer records any labware in it.
Fill Storage Device Fills a range of positions in a storage device with labware of a given type.
Fill Store Fills a store with labware of a given type.
Set All Labware in store to Available Marks every labware in a store as available, so that the scheduler is free to use them.
Device Control
Control Flow
Break Loop Breaks out of the current loop.
Composite Operation Groups a set of steps into one sequence. Unless IncrementalClaiming is set, every resource they need is claimed up front, so the run does not stall part way through waiting for a device.
Conditional Operation Runs a sequence of steps only when the Expression holds.
For Each Repeats a sequence of steps once for each item in a set or collection. SubSetName names the current item for the steps inside.
If..Else Runs one of two sequences of steps, depending on whether the Expression holds.
Loop Repeats a sequence of steps LoopCount times.
While.. Repeats a sequence of steps for as long as the Expression holds.
Threads & Synchronisation
Await Merge Waits until another schedule thread reaches the merge step with the same InstanceName, so that the two can continue in step with one another.
Await Merge Release Suspends this schedule thread until another thread releases it with a Release Merge step.
Await Signal Suspends this schedule thread until the signal named by SignalName is given, or until the Timeout elapses.
End Schedule Stops this schedule thread. Paired with a conditional step, it lets a schedule finish at any point, which keeps the schedule simpler to author.
Give Signal Gives the signal named by SignalName, releasing any schedule threads that are waiting on it.
Join Schedule Thread Waits for another schedule thread to finish before this one continues. ReturnedObjects and ReturnedParameters hand labware and parameter values back from that thread.
Mutex Sequence Runs a sequence of steps under the locks listed in its Names parameter, so that only one schedule thread can be inside it at a time.
Release Merge Releases the schedule thread waiting at the Await Merge step with the same InstanceName.
Run Schedule Starts a schedule. ScheduleThreadCount on this operation (default 1) sets how many threads of it to start, rather than duplicating the schedule. To start a single thread instead, use Run Schedule Thread.
Run Schedule Thread Starts a single thread of another schedule, so that one schedule can start another. ScheduleExecutionMode sets whether the new thread runs alongside this one or is waited on.
Start Next Schedule Thread Tells the scheduler to start the next thread of this schedule run after an optional Delay, rather than at the normal pacing time, so labware can leave storage just as locations become free.
Waiting
Sleep Pauses this schedule thread for a given length of time.
Wait for response A schedule operation that raises an event to wait for a response. The response can be provided by a user at runtime or in headless systems can be provided from the high level control software with which the scheduler is integrated.
Wait for time of day Pauses this schedule thread until a given time of day. If that time has already passed when the step is reached, it can either continue immediately or wait until tomorrow.
Parameters
Messages & Errors
Log Message Generates a message notification.
Raise Error Generates an error in the current schedule.
Run OS Command Runs a command line application on the schedule controller.
Run Python Script Runs a Python script on the schedule controller.
Send Message Sends a message or email via the configured notification channels.