Tags and data types
A tag is a named value, like StartPB or StartDelay. Rungs read and write tags, and every tag has one data type.
Where tags live

The Tags table. Online values change while the project runs.
Data types
| Type | Holds | Example |
|---|---|---|
| BOOL | On or off | StartPB = 1 |
| SINT | A whole number from -128 to 127 | Mode = 2 |
| INT | A whole number from -32,768 to 32,767 | Setpoint = 1500 |
| DINT | A whole number | SequenceStep = 3 |
| LINT | A very large whole number | TotalParts = 4000000000 |
| REAL | A number with decimals | SpeedRef = 42.5 |
| TIMER | PRE, ACC, EN, TT and DN | StartDelay.ACC = 760 |
| COUNTER | PRE, ACC, CU, CD and DN | Parts.ACC = 12 |
| STRING | Text within its declared capacity | Recipe = "Bottle A" |
| CHAR | One character | Grade = 'B' |
| MQTT | A topic to publish to | CountMQTT |
| ARRAY | A numbered list or grid of BOOL, DINT or REAL | Levels[2] = 19 |
| UDT | The members its structure lists | Pump1.Speed = 40 |
Add a tag
- Stop the PLC. Tags can only be added while it is stopped.
- In the bottom panel, open Tags and click + Tag.
- Type a name and pick a data type.
- Select a contact on a rung and pick the tag in the Inspector.
Good to know
- With Click to toggle bits on, click a BOOL value to flip it.
- A force holds a value whatever the logic writes. Clear forces removes them all.
- Right-click a tag and choose Find References to see every rung that uses it.
- Tags marked System belong to Labs and cannot be changed.
- For a list of values under one name, see Arrays. To group related values, see User-defined types.
Learn it in a lesson
- Tags: naming what your logic usesBeginner · 15 min
- Data types: BOOL, DINT, REAL, and STRINGBeginner · 15 min