Skip to main content

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

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.