A boolean tag is a single-bit software variable in a PLC, HMI, or SCADA system that stores a discrete binary state (True/1 or False/0), acting as the logical bridge between physical 24VDC electrical I/O and software control routines. In industrial automation and advanced home control systems, this single bit of memory is the fundamental atom of logic, translating the physical closure of a relay contact or the beam-break of a photoelectric sensor into a software decision.

The Core Concept: If physical wiring is the nervous system carrying electrical impulses, the boolean tag is the brain's conscious recognition of that impulse. It abstracts the physical voltage into a clean, noise-immune logical state that your ladder logic or SCADA scripts can act upon.

The Anatomy of a Boolean Tag vs. Other Data Types

To understand the boolean tag, you must see it in the context of a controller's memory map. When programming an Allen-Bradley ControlLogix or a Siemens S7-1500, you allocate memory based on the data type. A boolean tag consumes exactly one bit of memory, making it the most lightweight and fastest-scanning data type available. Below is a spec-sheet breakdown of how the boolean tag compares to other standard PLC data types.

Data Type Memory Size Typical Electrical Mapping Scan Time Impact Example Use Case
Boolean (BOOL) 1 Bit Discrete I/O (Pushbuttons, limit switches, relay coils) ~0.001ms (Negligible) Motor starter seal-in logic
Integer (INT/DINT) 16 / 32 Bits Word-packed I/O, absolute encoders, BCD thumbwheels ~0.005ms per math operation Counting parts on a conveyor
Real (REAL) 32 Bits Scaled analog 4-20mA or 0-10V signals ~0.015ms (Floating math heavy) PID temperature control loop
String (STRING) 88+ Bits (Array) Serial ASCII, RFID tags, barcode scanners High (Memory copy overhead) Logging batch recipe names

Because a boolean tag only requires evaluating a single bit (is it a 1 or a 0?), PLC processors can evaluate thousands of boolean instructions in a single millisecond. This is why complex safety interlocks and permissive chains are always built using boolean logic rather than integer comparisons.

What a Boolean Tag Changes in a Real Installation

In a physical circuit, introducing a boolean tag fundamentally changes the installation by decoupling the physical hardware wiring from the software logic. This abstraction is known as 'aliasing'.

Consider a physical 24VDC PNP proximity sensor (like an Omron E2E) wired to an Allen-Bradley 1769-IQ16 discrete input card. The physical input address might be Local:2:I.Data.3. If you hardcode this physical address into your motor start logic, you are permanently tying your software to that specific wire on that specific terminal block.

By creating a boolean tag named Motor_Proximity_Present and mapping it to Local:2:I.Data.3, you change the installation's maintainability. If the sensor fails and the electrician moves the wire to terminal 4 (Local:2:I.Data.4), you only have to change the mapping of the boolean tag in one place. The hundreds of rungs of ladder logic, HMI animations, and SCADA alarms tied to Motor_Proximity_Present remain completely untouched.

Numeric Threshold Example: On a standard 24VDC sinking/sourcing PLC input card, the physical voltage thresholds dictate when the boolean tag flips. According to standard Rockwell Automation input specifications, the OFF-state voltage is 0-5V DC (Boolean Tag = 0), and the ON-state voltage is 10-30V DC (Boolean Tag = 1). The region between 5V and 10V is undefined. If a long cable run or a leaky 2-wire sensor causes the voltage to float at 7V, the boolean tag will 'chatter' (oscillate rapidly between 0 and 1) during the PLC scan, potentially triggering false machine faults.

Where You Meet This in Practice

You will encounter boolean tags in almost every layer of modern electrical control systems, from the machine-level PLC up to the enterprise SCADA network.

  • Motor Control Centers (MCCs): A boolean tag like M1_Run_Fdbk maps to the physical auxiliary contact of a NEMA size 2 motor starter. The PLC uses this tag to confirm the contactor actually pulled in after the start command was issued.
  • Safety Interlock Chains: Emergency stop circuits are hardwired in series, but the final safety relay feeds a single discrete input to the PLC. This is mapped to a global boolean tag (e.g., Sys_EStop_OK). Every motion sequence in the machine checks this tag as a primary permissive before executing.
  • SCADA and HMI Polling: In systems like Ignition SCADA, a boolean tag is created in the tag browser and linked to the PLC via OPC UA. The SCADA system polls this tag every 250ms to update a green/red indicator light on the operator's screen. As noted in the Inductive Automation tag documentation, boolean tags in SCADA are often configured with 'deadband' or 'quality' overlays to prevent HMI flickering during network latency spikes.
  • Home Automation (Node-RED / Home Assistant): When integrating a Shelly 1 relay or an ESP32 via MQTT, the physical state of the dry contact is published as a boolean payload (true/false). The automation software uses this boolean tag to trigger scenes, like turning on hallway lights when the front door contact opens.

Common Confusions and Troubleshooting

Even experienced technicians and junior programmers trip over a few specific quirks when dealing with boolean tags. Here is a troubleshooting matrix for the most common field issues.

Why is my boolean tag True in the PLC, but the physical output isn't turning on?

This is the classic 'Forced I/O' trap. A programmer may have manually 'forced' the boolean tag to True in the software to test logic, overriding the physical output card. Alternatively, the boolean tag might be mapped to an internal memory bit (like a B3 or M area) rather than a physical O: (Output) address. Always verify that the tag is mapped to a physical Output address and that no software forces are active.

What is the difference between a boolean tag and a discrete I/O point?

Think of the discrete I/O point as a physical mailbox on the street, and the boolean tag as the name on the envelope inside. The I/O point is the actual hardware terminal where the 24VDC wire lands. The boolean tag is the software alias that reads the mailbox. You can change the name on the envelope (the tag name) without moving the physical mailbox (the I/O wiring).

My boolean tag is flickering (chattering) on the HMI. How do I fix it?

Flickering usually indicates electrical noise or a voltage floating in the undefined threshold zone (5V-10V on a 24V system). Fix 1 (Hardware): Check for missing pull-down resistors on 2-wire proximity sensors, or ensure shielded cable drains are grounded at only one end to prevent ground loops. Fix 2 (Software): Add a simple 'timer on delay' (TON) instruction in the PLC. Route the raw boolean tag into the TON enable bit, set the preset to 50ms, and use the TON 'Done' bit as your clean boolean tag for the HMI. This filters out any electrical noise shorter than 50ms.

Can I use a boolean tag for an analog sensor?

No. A boolean tag only holds a 1 or 0. If you wire a 4-20mA pressure transducer to an analog input card, you must use an Integer or Real tag to capture the 16-bit resolution of the analog-to-digital converter. However, you can use a 'Greater Than' (GRT) instruction to compare that Real tag against a setpoint, and write the result of that comparison into a new boolean tag (e.g., Pressure_High_Alarm) for use in your logic.

Mastering the boolean tag is the first step in moving from simply wiring electrical panels to designing robust, maintainable control architectures. By strictly aliasing your physical I/O to descriptive boolean tags and understanding the voltage thresholds that drive them, you eliminate the most common sources of machine downtime and commissioning delays.