Skip to main content

Persistence, tags and counters

Beyond its type and value, every Variable carries a handful of flags that control how it behaves across restarts, who may change it, and how it is organized.

Initial value and current value

Each Variable has two values:

  • The initial value is what you configure. It is the value the Variable starts from.
  • The current value is what the Variable holds right now, while a Flow runs.

When the Robot restarts, a Variable is reset to its initial value — unless it is marked persistent.

Persistent

A persistent Variable keeps its current value across a restart of the Robot. Its initial value is only used the very first time.

Use it for anything that must survive a power cycle:

  • A shift or total part counter.
  • The current position in a Stack or Grid, so a partly emptied stack resumes where it stopped.
  • A configuration an operator set from a Dashboard.
warning

A persistent counter never resets on its own. If a Flow expects to start from zero, reset it explicitly with a Variable Node at the start of the Flow.

Read-only

A read-only Variable can be read in Expressions but not written. Nothing in a Flow, and no Dashboard Widget, can change it.

Use it to publish a value that the outside world sets — for example a Variable a PLC writes over Modbus or Profinet — and to protect constants that several Flows depend on.

Sync to Studio

Sync to Studio marks a Variable to be shared with RobCo Studio, so its value is visible outside the Control Unit. Leave it off for Variables that are only meaningful inside a single Flow.

Description

Every Variable can carry a free-text description. It is worth filling in for anything another person will meet later: which machine an I/O belongs to, what unit a Float is in, or what a String is expected to contain.

Tags

Tags are named, colored labels you attach to Variables. A Variable can carry several.

Tags are how you keep a large Variable set navigable:

  • Group by cell, station or machine — Station 1, Infeed, Gripper.
  • Group by purpose — Counters, Recipe, Diagnostics.
  • Filter the Variables menu down to one tag while you work.

Tags are also used by the Set Variable Widget, which can be restricted to Variables carrying particular tags — so an operator only ever sees the Variables that concern them. See Robot Control Widgets.

Counter events

An Integer Variable can additionally be bound to a counter event, which is how RobFlow turns a Flow's own counting into production figures:

EventMeaning
Good countIncrement the count of good parts produced
Bad countIncrement the count of rejected parts

Once bound, incrementing the Variable in a Flow also raises the corresponding event. The OEE Event Node covers the remaining machine states — idle, blocked, starved, producing, failure and fault.

note

Only Integer Variables can be bound to a counter event. In the Variables menu these appear under the Bound to Event filter.