What is a tag?

A tag is a unique, human-readable name for a single data element in an automation system, such as a measured value, a status, a control signal or a setpoint, through which PLC, SCADA, HMI, MES and Historian systems all refer to the same process variable. Behind that name sit a data type, a source address, a current value, a timestamp and a quality status. Tags are therefore the shared language of the OT layer: anyone who wants to display, log, alarm on or analyse a temperature does so through the tag, not through a memory address.


🧠 What does a tag represent?

A tag points to one concrete quantity in the process or in the control system. Examples:

  • Measured value - the temperature of a furnace (Oven1.Temp), coming from a sensor
  • Position or status - the position of a valve (Valve_A23.Position) or a fault indication (Compressor1.Fault)
  • Control signal - the start/stop command to a motor or actuator
  • Desired value - a Setpoint for rotational speed (Pump1.RPM_Setpoint) in a control loop
  • Calculated value - a total, average or OEE figure derived in the PLC or SCADA system

Tags are not literally updated continuously. They are refreshed at a fixed scan or poll rate (for example 100 ms, 1 s or 10 s) or only when they change (report by exception). To the operator this feels like real time, but the refresh rate is a deliberate design choice that determines network and server load.


🔧 What properties make up a tag?

A tag is more than a name. Almost every SCADA, HMI or historian package gives a tag the same set of properties:

Property Meaning Example
Name Unique, readable identifier Line2.Pump1.Speed
Description What the tag represents, for humans ”Feed pump speed, line 2”
Data type How the value is stored BOOL, INT (16-bit), DINT (32-bit), REAL (32-bit float), STRING
Source address Where the value physically lives Modbus register 40011, DB10.DBD4, OPC UA NodeId
Unit and range Engineering unit and scaling 0–3000 rpm, 4–20 mA to 0–10 bar
Scan rate / deadband How often and on what change it refreshes 1 s, ±0.5%
Quality Reliability of the value Good, Uncertain, Bad
Timestamp Moment of measurement or receipt 2026-10-13T08:15:02.120Z
Alarm limits Where an alarm is raised HH 95 °C, H 85 °C, L 10 °C
Historisation Whether and how the tag is stored Yes, swinging door, CompDev 2%

The quality status in particular is often underestimated. If the connection to a PLC drops, the last value stays on screen but the quality becomes Bad. A report or AI model that ignores quality will then calculate with frozen data.


📚 What types of tags are there?

Tags are classified by origin and function:

Type Description Example
I/O tag (input) Value of a physical input Temperature sensor via 4-20 mA
I/O tag (output) Control signal to a physical output Motor on/off, valve position 0–100%
Memory tag (internal) Exists only in the PLC or SCADA, without physical I/O Counter, step number, auxiliary bit
Setpoint tag Desired value, often adjustable by the operator Target temperature 72 °C
Alarm tag Signals that a limit has been exceeded Tank3.Level_HH
Calculated tag Derived from other tags through a formula or script Flow × time = total
Structured tag (UDT) Composite tag with fixed members Motor_M101 with .Run, .Fault, .Current

A “historian tag” is strictly speaking not a separate type but a property: any tag can be historised in a historian such as the PI System. In PI a tag is called a PI Point; the terms are interchangeable.


🔄 What is the difference between a tag and an address?

Many industrial protocols have no names, only addresses. The tag is then a translation layer defined in the engineering software or on the SCADA server:

Protocol or platform How data is identified Role of the tag
Modbus (1979) Numeric tables: coils, discrete inputs, input registers and 16-bit holding registers SCADA maps a name to a register address, for example 40011
ProfiNET IO Cyclic I/O data per slot and subslot Names exist only in engineering, such as TIA Portal
Siemens S7 Absolute (%MW20, DB10.DBD4) or symbolic Symbolic PLC tags in the tag table
Rockwell Logix Tag-based memory The tag is the address, with controller or program scope in Studio 5000
OPC UA NodeId within a namespace The name is part of the information model
MQTT Sparkplug B Metrics within a topic per edge node The metric name is the tag

In OPC UA every node has a NodeId of the form ns=<namespace-index>;<type>=<value>. The type is i (numeric), s (string), g (GUID) or b (opaque bytes). A string NodeId looks like this:

ns=2;s=Factory.Line2.Pump1.Speed

In Sparkplug B the structure lives in the topic, spBv1.0/<group_id>/<message_type>/<edge_node_id>, extended with /<device_id> for an attached device, and tags travel as metrics in the payload: first in full in a BIRTH message, then as changes in DATA messages. An OPC server such as Kepware translates addresses from dozens of protocols into one consistent tag structure.


🏭 Where are tags used?

  • PLC - internally for logic and control, declared as variables according to IEC 61131-3
  • HMI - for operation and visualisation at the machine
  • SCADA - for overview, logging, alarming and remote operation; packages such as WinCC and Ignition are built entirely around tags
  • Historian - for long-term storage and trending
  • MES - for production recording, quality and traceability
  • Unified Namespace - as the central, hierarchical place where all of an organisation’s tags are published

Scale varies enormously: a single machine has a few hundred tags, a factory quickly reaches tens of thousands, and large DCS or SCADA installations in energy and the process industry run to hundreds of thousands or more. That number has a direct impact on cost. WinCC Runtime is licensed in packages of PowerTags, where only tags connected to a controller count and internal tags do not. Ignition, by contrast, is licensed per server with an unlimited number of tags.


🏷️ How do you set up a good tag naming convention?

Consistent naming decides whether tags will still make sense in ten years, and whether IT applications can use them without manual mapping. A practical approach:

  1. Align with existing documentation - in the process industry, instruments already appear on the P&ID with a tag number according to ANSI/ISA-5.1 (most recently revised in 2024). FIC-101 means flow (F), indicating (I), controller (C), loop 101. Reuse that number in the SCADA tag.
  2. Follow a physical hierarchy - build the name from the ISA-95 equipment model: site, area, line, cell, device. For example Delft/Brewery/Line2/Filler/Pump1/Speed.
  3. Use fixed abbreviations - agree on a list (Temp, Pres, Lvl, Spd, SP, PV, Out) and stick to it.
  4. Use structures - define a UDT or faceplate per device type (motor, valve, PID controller), so every motor has the same members.
  5. Avoid meaningless addresses - N7:12 or MW240 will mean nothing to anyone five years from now.
  6. Record units and range - in the tag properties, not in the name.
  7. Manage centrally - keep a tag database or export list under change management, so PLC, SCADA and historian stay in sync.

Power plants often use their own coding system such as KKS, while modern architectures increasingly link the name to a digital information model, for example an Asset Administration Shell. In an Industrial DataOps approach the raw tag is enriched with context, such as unit, device and order, before it is passed to IT systems.


🔐 Why do tags matter for security and data integrity?

Whoever can write a tag can influence the process. A changed setpoint or a forced output has physical consequences. Therefore:

  • Restrict write access - most tags only need to be read externally; make writing explicit and role-based
  • Watch out for protocols without authentication - Modbus does not check who writes a holding register, so segmentation according to IEC 62443 is the main line of defence
  • Record changes - log who changed which setpoint tag and when, among other things for data integrity in regulated sectors such as pharma
  • Monitor quality and time - wrong timestamps or Bad quality make alarm management according to ISA-18.2 and any analysis unreliable
  • Publish selectively - do not expose every tag in a broker or the cloud, only the set an application actually needs

❓ Frequently asked questions

What is the difference between a tag and a variable?

A variable is the general programming term for a named memory location in a PLC program. A tag is that same value seen from the whole automation system, including properties such as quality, timestamp, unit and alarm limits. In Rockwell Logix controllers the two terms are used almost interchangeably.

What does a tag number such as FIC-101 mean?

A tag number such as FIC-101 follows the ANSI/ISA-5.1 coding for instruments on a P&ID. The first letter is the measured variable (F for flow), the following letters are the functions (I for indicating, C for controlling) and the number is the loop number. TT-205, for instance, is a temperature transmitter in loop 205.

How many tags does a SCADA system have?

The number of tags in a SCADA system ranges from a few hundred in a small installation to hundreds of thousands at a large energy or process company. The tag count drives server load, network load and, in many packages, licence costs as well. It is therefore wise to reserve capacity for expansion up front.

What is a UDT in a PLC?

A UDT (user-defined data type) is a custom structure that bundles several tags, for example all signals of one motor. Every motor then gets the same members, such as run, fault and current, which greatly simplifies programming, visualisation and maintenance. Modern SCADA packages can adopt such structures as templates.

Is a tag the same as an RFID tag or a LOTO tag?

No, a tag in automation is a digital name for a process variable. An RFID tag is a physical label with a chip used for identification, and in lock-out tag-out the tag is a warning label showing that equipment has been safely isolated. The word is the same, the meaning is entirely different.

Can I send tags directly to the cloud?

Tags can be sent to the cloud, but preferably not directly from the controller. The usual approach is an edge gateway or OPC server that publishes selected tags outwards over MQTT or OPC UA, using outbound connections only. This keeps the controller shielded and gives you control over which data leaves the network.


📌 In summary

A tag is the unique name by which a measured, control or status value is recognised throughout the automation system, from PLC and HMI to SCADA, historian and MES. Behind that name sit data type, address, quality and timestamp. A well-thought-out naming convention, controlled write access and attention to data quality make tags the reliable backbone of data acquisition, control and IT/OT integration.