AI, AO, DI, DO Signal Classes Explained.
How to assign the correct signal class, AI, AO, DI, and DO, to every bubble on a P&ID. ISA letter rules, fixed overrides, dialects, and one-channel-per-bubble.
Every bubble on a P&ID wires to one of four signal classes on the I/O list. AI, analog input is a continuous 4-20 mA reading coming in from a transmitter. AO, analog output is a continuous 4-20 mA command going out to a control valve positioner or a drive. DI, discrete input is a two-state contact coming in. A switch, a run feedback. DO, discrete output is a two-state command going out. A solenoid coil, a motor start. The class decides which PLC card the tag lands on, so getting it wrong corrupts the card count and the cabinet sizing long before anyone wires a terminal.
There are two things that trip people up at the I/O list stage. The instrument type and the signal class. They are related, but they are not the same thing. The instrument type tells you what the device measures or does. The signal class tells you what kind of PLC card it wires to. A pressure transmitter, PT measures pressure. Its signal class is AI because it sends a 4-20 mA analog signal to the controller. A temperature switch high, TSH also measures temperature, but its signal class is DI because it sends a two-state contact closure. Two instruments measuring the same variable. Two different card types. Getting this wrong does not break the process, but it does corrupt the card count, which flows directly into hardware procurement, cabinet sizing, and the bid.
For the ISA 5.1 tag structure itself, first letter, modifier letters, loop number, see the ISA 5.1 identification guide. For reading the bubble shapes and signal line types on the drawing, see the P&ID instrument symbols guide. This article focuses on what happens after you have read the bubble. How the tag letters translate to a signal class.
The four signal classes in plain terms
AI, Analog Input. A continuously variable electrical signal arriving at the PLC from a field device. In practice this is almost always a 4-20 mA current loop from a transmitter. Pressure transmitter PT-101 sends 4 mA at zero pressure and 20 mA at full-scale. The PLC reads the current, applies the engineering-unit conversion, and uses the result in control logic. HART instruments also fall here. The 4-20 mA carries process value. The HART protocol overlay carries diagnostics. Every transmitter that feeds a controller generates one AI channel.
AO, Analog Output. A continuously variable signal from the PLC to a field device. The most common case is the 4-20 mA setpoint to a control valve positioner. FIC-201 sends an output that drives FCV-302 to the correct position to maintain the flow setpoint. Variable-speed drive, VSD speed references also land here. The controller sends a setpoint and the drive modulates continuously. One AO channel per modulating output.
DI, Discrete Input. A two-state signal from the field to the PLC. The PLC sees either a closed contact or an open contact, a 24 VDC voltage or an absence of voltage. Sources include pressure switches, PSH-401 closes when pressure exceeds its setpoint, level switches, flow switches, and motor run feedback contacts. Position limit switches such as ZSO-501, valve full-open position are also DI. One DI channel per discrete input signal.
DO, Discrete Output. A two-state command from the PLC to a field device. The PLC energises or de-energises a circuit. The field device sees 24 VDC or 0 VDC and responds by opening, closing, starting, or stopping. On, off block valves, XV-301, emergency shutoff valves, ESDV-307, motor starters, solenoid coils, and alarm annunciators are all DO. One DO channel per discrete command.
These four classes map directly to physical card types. An AI point lands on an analog input card. A DO point lands on a discrete output card. On Siemens S7-1500, Emerson DeltaV, Rockwell ControlLogix, or any other platform, the channel count by class determines how many cards of each type go into the rack. A wrong class in the I/O list shifts count from one card type to another, which shows up as the wrong cards on the procurement list.
ISA 5.1. The last-letter rule and when to override it
ISA 5.1 encodes the signal class in the tag letters. The identifying letter, first letter tells you what is being measured. The function letter, last functional letter in the prefix tells you what the instrument does with that measurement and therefore which class it carries.
The default last-letter map.
| Last functional letter | Default signal class | Rationale |
|---|---|---|
| T, Transmitter | AI | Sends analog measurement to controller |
| E, Sensing element | AI | Primary element, analog signal |
| I, Indicator, G, Glass, Gauge | Local, no channel | Typically local-reading, no wired PLC point |
| C, Controller | AO | DCS, PLC controller block that drives a modulating output |
| Y, Relay, Compute | AO | Computational device with modulating output |
| S, Switch | DI | Discrete contact to PLC input |
| A, Alarm | DI | Discrete alarm contact |
| V, Valve | DO | On, off or modulating valve command |
| Z, Driver, Actuator | DO | Actuator driver output |
This table works as a starting point. It does not work as a final answer, because several very common tag patterns require an explicit override.
**The explicit overrides that beat the last-letter table. **
*Modulating control valves. * TCV, Temperature Control Valve, FCV, Flow Control Valve, PCV, Pressure Control Valve, and LCV, Level Control Valve are all AO. The letter C in TCV might suggest the C-row in the table, AO via the controller path, which happens to be correct, but the more reliable rule is. Any valve with a positioner that receives a 4-20 mA setpoint is AO regardless of what the trailing letter is. The 4-20 mA drives the positioner. The positioner drives the valve stem.
*On, off block valves. * XV, SDV, MOV, and ESDV are DO. These valves are fully open or fully closed. The PLC sends a discrete energise, de-energise signal to the solenoid. There is no analog modulation.
*Transmitters by tag pattern. * TT, Temperature Transmitter, FT, Flow Transmitter, PT, Pressure Transmitter, LT, Level Transmitter, and PDT, Differential Pressure Transmitter are AI. These are the most common instruments on a P&ID and the most common source of AI channel count.
*Switches and alarms. * TSH, TSL, PSH, PSL, PSHH, PSLL, LSH, LSL, FSH, FSL are DI. Position limit switches ZSO, open position and ZSC, closed position are also DI.
When a tag matches an override pattern, apply the override. Do not work backwards through the last-letter table.
One channel per bubble
This is the rule with the most downstream consequences when it is violated.
Each bubble on a P&ID represents one physical instrument. Each physical instrument generates exactly one PLC channel, or zero channels for manual-only devices. The number of channels does not depend on how many modifier letters appear in the tag, and it does not depend on what actuator model is specified for the device.
A control valve with a motorised actuator is one AO. TCV-303 drives a valve positioner via one 4-20 mA signal. The actuator model, say, a Siemens SQX62 electric actuator is an attribute of the TCV-303 row in the I/O list. It lives in a description or vendor-code column and does not create a second channel. The actuator is part of the same instrument assembly as the valve body.
A rectangular housing enclosing two sensor bubbles is two instrument rows, not three. Some building-automation and HVAC drawings show a single device housing that contains two sensors, each with its own bubble and its own tag. A combined CO2 and temperature sensor, for example, might show two bubbles, one labelled QT and one labelled TT inside the same rectangular enclosure. Each bubble is one instrument row with its own tag and its own signal class. The housing itself is not a row. Two bubbles equals two rows. The housing adds nothing to the channel count.
A handwheel-only valve has zero channels. HV-305 is a manually operated block valve. There is no solenoid coil, no motor, no position transmitter wired to the PLC. It does not appear on the I/O list unless it also carries an explicit position switch bubble, which would be a separate tag. HV-305 alone. Zero channels.
A position switch on a valve is a separate instrument row. XV-301 is the block valve. One DO. ZSO-501 is the full-open position limit switch on that valve. One DI. Both bubbles appear on the P&ID. Both get a row on the I/O list. The total for this assembly is two channels, one DO, one DI, provided both bubbles are drawn. If the drawing shows only the XV bubble with no position switch, count one DO.
Non-ISA dialects
ISA 5.1 covers a large share of the process industry, but not all of it. Dutch HVAC and building-automation drawings use a different two-letter code convention where the letter pairs carry meaning through their dialect's own classification table rather than through ISA function letters. Power plant drawings in many European and Asian contexts use KKS, Kraftwerk-Kennzeichnungs-System or IEC 81346, which have their own hierarchical tagging structure and signal-class logic. Some projects use entirely custom company-defined schemes.
The principle is identical across all dialects. Each dialect has a code-to-signal-class mapping table, and you look the code up in that table. What changes is which table you consult.
Where this breaks down is when an ISA-trained engineer applies ISA last-letter rules to a non-ISA tag. A Dutch HVAC code that uses W to mean a modulating water control valve does not follow the same logic as the ISA last-letter for W. Applying the ISA rule would assign the wrong class. The correct approach is to identify the dialect first, then consult that dialect's table. If the dialect cannot be identified with confidence, mark the row REVIEW so an engineer familiar with that standard can resolve it.
The fallback when no dialect matches is to use the instrument description and the symbol shape as context. A description that says "modulating water control valve, 0-10V control signal" resolves the class regardless of what the tag letters say.
Description and symbol as a fallback
Tag letters do not always tell the full story. A bubble labelled with a vendor model code instead of an ISA tag, this happens on drawings where the designer put the catalogue number in the bubble rather than the functional tag still has a signal class once you establish what the device does. A Belimo LM24 label on a damper actuator bubble tells you it is a damper drive. The LM24 is a 24V on, off or modulating actuator. Whether it is DO or AO depends on whether the actuator uses an on, off signal or a modulating 0-10 V signal, and that comes from the instrument's wiring detail or the connection to its controller.
The signal line type on the P&ID also helps. A dashed signal line between a controller block and a valve bubble means an analog, typically 4-20 mA connection, which means AO. A dashed line between a PLC block and a solenoid valve symbol means discrete, 24 VDC, which means DO. Reading the signal line in conjunction with the tag is more reliable than reading the tag alone when the tag is ambiguous. The P&ID symbols guide covers signal line types in detail.
Worked walkthrough. Seven bubbles from PID-001
Take a small section of PID-001 and classify each instrument.
| Tag | Tag reads as | Last-letter default | Override. | Signal class | Channels |
|---|---|---|---|---|---|
| PT-101 | Pressure Transmitter | T -> AI | Override. PT -> AI | AI | 1 |
| FIC-201 | Flow Indicating Controller | C -> AO | None needed. C is AO | AO | 1 |
| FCV-302 | Flow Control Valve | V -> DO | Override. FCV -> AO | AO | 1 |
| XV-301 | Block valve | V -> DO | Override. XV -> DO | DO | 1 |
| PSH-401 | Pressure Switch High | S -> DI | Override. PSH -> DI | DI | 1 |
| HV-305 | Hand Valve, manual only | V -> DO | Manual valve. 0 channels | none | 0 |
| ZSO-501 | Position Switch, Open | S -> DI | Override. ZSO -> DI | DI | 1 |
Total. 6 PLC channels from 7 bubbles, HV-305 contributes none.
Two points to notice. FCV-302 would be assigned DO by the last-letter rule, V -> DO but the FCV override corrects it to AO. This is the single most common misclassification on ISA P&IDs. A control valve with a positioner receives a 4-20 mA signal from FIC-201. That is an analog output, not a discrete output. Assigning it as DO would put it on a discrete output card and leave the positioner without an analog signal.
HV-305 generates no channel. If a controls engineer adds it to the I/O list as DO because "it is a valve," the card count is inflated and the PLC program contains a tag that has nothing wired to it. At commissioning, that tag appears as an unresolved point in the loop index and requires cleanup.
What goes wrong
TCV counted as DO. The V in TCV triggers the default last-letter rule. Engineers working quickly sometimes assign TCV as DO and route it to a discrete output card. The positioner then has no analog signal, the valve cannot modulate, and the discovery happens during loop check. Fix the class on the I/O list before it propagates to the PLC rack schedule.
TCV or FCV counted as two channels. An engineer assumes that a control valve with a motorised actuator generates an AO, the 4-20 mA to the positioner plus a DO, to energise the motor. The motor drive on an electric actuator like the SQX62 is internal to the actuator. It does not receive a separate DO from the PLC. The PLC sends one 4-20 mA signal. The actuator converts it to the mechanical position. One AO per modulating valve.
Handwheel valve appearing as a DO row. Local handwheel valves have no wired connection to the PLC. Including them on the I/O list as DO rows inflates the count. If the project is billing by channel, it inflates the bill. If the PLC programmer assigns those rows to physical channels, it creates phantom outputs that run through commissioning punch lists without resolution.
A paired-sensor housing counted as three rows. A single device enclosure with two sensor bubbles is two instrument rows, one per bubble. Occasionally an engineer adds a third row for "the device itself," perhaps because the drawing shows a model number on the housing. The housing is not a row. Two bubbles, two rows.
Non-ISA tags assigned by ISA rules. An engineer receives a Dutch HVAC drawing, reads the tag codes through an ISA lens, assigns signal classes using ISA last-letter logic, and produces an I/O list where several rows carry the wrong class. The downstream effect is wrong card types on the procurement order, discovered at FAT or commissioning. Identifying the dialect before applying any classification rule prevents this.
Guessing instead of marking REVIEW. When a tag is ambiguous, the instinct is to assign something rather than leave it blank. A blank row in the Signal Class column looks like an error. A populated row looks complete. In practice, a wrong class populates the card count with incorrect data that persists until commissioning. Marking the row REVIEW is the correct response to ambiguity. The review flag makes the incomplete classification visible to the engineer who can resolve it, rather than hiding it behind a plausible-looking but wrong value.