Variables
Variables hold values that a Flow can read and write while it runs — a counter, a measured position, a flag set by an operator, a Subflow UUID.
Variables are also how a Flow talks to the periphery: a Variable can be bound to hardware, for example to an I/O or to a Modbus/TCP register. Writing the Variable drives the output; reading it gives you the current input state.
Variables are global to the Robot. The same list is visible from every Flow, Subflow and Dashboard — there are no per-Flow Variables.
In this section
- Variable types — the eight types, what each one holds, and the two built-in Variables.
- Persistence, tags and counters — surviving a restart, read-only Variables, tags, and binding a counter to production figures.
- Binding a Variable to I/O — banks, channels, and using a signal in a Flow.
- Mapping a Variable to a fieldbus — exposing a Variable over Modbus/TCP or Profinet.
- The Variables menu — the inspector, filters, and import/export.
Setting a Variable
- The Variable Node sets one or more Variables to Expressions that are evaluated first. For Boolean Variables you can either set an Expression or toggle a switch.
- Each assignment can carry a delay, which makes the Robot wait before executing the next command — useful when the periphery needs time to react, for example while a vacuum gripper builds up suction.
Where Variables are used
Almost anywhere a value can be typed. Two things account for most of it:
- Any Expression field takes a Variable. Press
#in the field and pick one. Expression Fields are on most Nodes — conditions and loops, delays, payload, brakes, message text, SQL queries, HTTP requests, user confirmations, collision detection — and on Dashboard Widgets such as Set Variable and Generic Button. - Some settings take a Variable directly. A Cartesian Movement can follow a Cartesian Pose Variable instead of a taught Pose, and a Stack or Grid Node can take its next item number from one.
A few examples:
- Conditions and loops — the Condition, Do Until and Loop Nodes branch on Variable values.
- Dashboards — a Set Variable or Generic Button Widget lets an operator change a Variable from the Dashboard Viewer.
- Subflows — a String Variable holding a Subflow's UUID selects which Subflow to execute at runtime.