Control
Learn what control is in Synnax, what it is for, and which way to use.
To control hardware in Synnax, you write values to a
command channel, such as press_vlv_cmd.
A write task listens on that channel and sends
each value to the device: it opens a valve, starts a pump, or changes a setpoint. Most
write tasks also write what the device did to a
state channel, such as press_vlv_state.
Modbus,
OPC UA, and
HTTP write tasks have
no state channels, so a
read task on the same device reads the state
back. For how commands and state work, see
write tasks.
An operator writes commands by hand from a schematic. An Arc automation or a Python script writes them for you. All three write to channels, not to hardware, so you can change a device or a task without a change to the schematic or the code.
What control is for
Open a valve by hand
An operator clicks a valve on a schematic, and the schematic writes to the command channel of the valve. See control hardware from a schematic.
Start a test from a button
A button on a schematic writes to a channel, and an Arc sequence starts when the channel becomes true. See start a sequence from a schematic.
Run a test sequence with aborts
An Arc sequence moves through stages, such as pressurize, hold, and vent. In each stage, it watches for unsafe values and goes to an abort stage when it finds one. See write a test sequence.
Hold a value in a band
An Arc automation turns a heater or a valve on below a low limit and off above a high limit. See regulate a value with bang-bang control.
Hand control between an operator and an automation
An automation controls the valves at a low authority. An operator takes control at a higher authority, and the automation gets control back when the operator releases it. See control authority.
Build an automation without code
In the graph editor, you connect blocks for channels, comparisons, and statuses instead of writing Arc code. See Arc.
Script a sequence in Python
A Python script takes control of channels, sets values, and waits for conditions. See write a control sequence in Python.
Ways to control
A Python script sends each command over the network to the Synnax Core, so network delays change its timing. An Arc automation runs where the data arrives, so its timing does not depend on your computer.
Control authority
More than one writer can write to the same command channel, but only one writer at a time controls it. Each writer has an authority from 0 to 255, and the writer with the highest authority gets control. See control authority.