System values
Built-in values like program state and override, usable by name with no tag to declare.
Some things about a controller are always true of every controller — which
program is selected, whether the robot is running, the speed override. These are
available as system values, and they need no tag. Use one by name in any
expression or label: {active_program}, {robot_running}.
Bind a control to one the same way: they appear in every tag picker under
System values, separate from the tags you defined. Read-only ones are
offered only where reading makes sense — a slider is offered override and not
robot_running.
The Tags panel lists the ones a document uses, under System values in use.
The names are reserved: a tag cannot be called override or active_program.
A document that already has one still works, and Validate flags it for deleting
— the name reads the same value without it.
Renaming one
Section titled “Renaming one”To use a different name, add a tag, set its Kind to SYS, and pick the value
from the Variable dropdown. {speed} then reads the override.
Available values
Section titled “Available values”| Value | What it holds | Writable |
|---|---|---|
active_program |
The program the controller currently has selected. | yes |
override |
Speed override, as a percentage. | yes |
program_state |
What the selected program is doing. | no |
robot_running |
Whether a program is executing. | no |
tp_enabled |
Whether the teach pendant is enabled. | no |
estop_op |
Operator panel emergency stop. | no |
estop_tp |
Teach pendant emergency stop. | no |
uframe_num |
The user frame the robot is in; 0 is WORLD. |
no |
utool_num |
The tool frame the robot is in. | no |
Writing active_program changes the controller’s selection, and writing
override changes the speed. The rest are read-only.
uframe_num and utool_num are read-only on purpose. Both are selections a TP
program or the operator makes, and writing one from a screen changes the frame
the robot actually moves in — a decision worth making deliberately rather than
as a side effect of a slider someone dragged.
Common uses
Section titled “Common uses”Gate a Start button on the cell being safe and a program being selected:
{active_program} != "" && !{estop_op}Show a warning banner while the pendant is enabled, since the robot will not run in automatic while it is:
{tp_enabled}Put the selected program in a label so an operator can see what is about to run:
Ready to run {active_program}Show which frame a job is set up for, so an operator can see at a glance that the wrong one is active:
UFRAME[{uframe_num}] / UTOOL[{utool_num}]Related
Section titled “Related”- Expressions — the syntax these are used in.
- Program control — reads
active_programwithout you naming it. - Dropdown — bind one to
active_programto change the selected program.