Soft Tags vs Hard I/O. What Belongs on the I/O List.
A hard I/O point is a wire on a card. A soft tag is a value the controller computes or reads over a bus. Only hard channels belong on the I/O list.
Two things sit next to each other on many I/O lists that have no business being there together. One is a hard I/O point. A physical wire terminating on an I/O card, occupying one channel of one AI, AO, DI, or DO slot. The other is a soft tag. A value the controller computes from field data, reads over a serial bus, or holds internally as a setpoint or alarm state. Both are real values that the control system manages. Only one of them consumes a card channel and drives hardware cost.
Conflating them produces I/O lists that over-count channels, inflate card quantities, and send inaccurate bills of materials to vendors. It also produces I/O lists that under-scope configuration effort by hiding the serial and calculated tags that the DCS programmer still has to build, just without needing to wire anything.
What a hard I/O channel is
A hard I/O channel is a physical termination on an input, output card. A pressure transmitter PT-101 produces a 4-20 mA signal that runs on a twisted pair from the field junction box to a terminal block on the AI card in PLC-1. That connection is one AI channel. It occupies one slot in the channel count, it is classified on the I/O list with a signal class, AI, and it is what drives the card and rack quantities in the hardware bid.
The four signal classes cover the full set of hardwired I/O.
- **AI, Analog Input. ** a continuous signal from a field device, most commonly 4-20 mA from a transmitter. One transmitter, one AI channel.
- **AO, Analog Output. ** a continuous signal from the controller to a field device, most commonly a 4-20 mA setpoint to a control valve positioner. One modulating valve, one AO channel.
- **DI, Digital Input. ** a discrete contact-closure signal from a field device. A pressure switch, a motor run feedback, a limit switch. One contact, one DI channel.
- **DO, Digital Output. ** a discrete output from the controller to a field device. A solenoid valve coil, a motor starter command, an alarm horn. One discrete actuator, one DO channel.
The I/O list is the register of these physical terminations. Its purpose is to tell the hardware vendor exactly how many cards to supply and the PLC programmer exactly which rack and slot each field signal lands on. When the I/O list is correct, card count, rack count, cabinet footprint, and wiring termination count all follow from it directly.
What a soft tag is
A soft tag is a value in the controller database that does not correspond to a physical termination. It is computed, received over a serial link, or held in memory as a configuration parameter. Soft tags are real engineering data that the DCS or PLC manages alongside hardwired points, but they cost nothing in card channels.
The main categories.
Calculated values. A compensated volumetric flow is calculated from a raw flow transmitter reading, a pressure measurement, and a temperature measurement. PT-101, FT-102, and TT-104 each have an AI channel on the I/O list. The compensated result, call it FQ-102-COMP in the controller database is a soft tag. It has no I/O list row. The same applies to flow totalizers, heat-duty calculations, ratio tags, and any value derived arithmetically from field inputs.
Serial-linked values. A Modbus TCP connection between the DCS and a compressor package controller carries dozens or hundreds of process values across a single Ethernet cable. Those values are soft tags from the DCS perspective. They are received over a serial interface and mapped into the DCS tag database, but no AI card channels are consumed. The physical termination at the DCS is the Ethernet port, not 80 separate input channels.
Internal logic and configuration tags. Alarm setpoints, operator-adjustable setpoints stored in the controller, rather than entered from the HMI via a dedicated AO loop, soft handswitches that enable and disable process logic, calculated alarm states, and permissive flags are all soft tags. They live in the controller program. They have tag names. They appear in the HMI. They require configuration effort. They are not on the I/O list.
The grey zones
Three categories cause real confusion because the relationship between wire count and data count is not one-to-one.
HART secondary variables
A HART transmitter delivers its primary process variable as a 4-20 mA analog signal, which is the AI channel. Over the same wire pair, it simultaneously transmits a digital HART signal carrying the primary variable again plus up to three secondary variables, device temperature, electronics status, calculated values and full diagnostics.
From the I/O list perspective. One AI channel, full stop. HART does not multiply the channel count. A Rosemount 3051 pressure transmitter with HART is one AI row on the I/O list, the same as a transmitter with no HART. The secondary variables it makes available over HART are soft tags in the DCS once the system is configured to read them. They are additional data items, not additional I/O channels.
For an explanation of HART signal mechanics and when to specify it over plain 4-20 mA, see 4-20mA vs HART vs fieldbus.
Foundation Fieldbus and PROFIBUS PA segments
On a digital fieldbus segment, multiple transmitters and valves share a single two-wire cable from the marshalling area to the field. The devices are individually addressable. Each one has a tag and delivers its own process value.
At the I/O card, what the host system sees is one fieldbus port, not a separate AI or AO channel for each device on the segment. A Foundation Fieldbus or PROFIBUS PA card typically manages 4 to 8 segment ports. Each segment carries up to 16 active devices, some installations push to 32, depending on segment loading. A plant with 64 fieldbus transmitters might be wired across 4 to 8 segment ports rather than 64 individual AI card channels.
How this appears on the I/O list depends on project convention. Some projects list each field device as an individual row, analogous to a hardwired AI row but with signal class "FF" or "PA" and a segment identifier instead of a rack-slot-channel address. Others list the segment port as the I/O row and maintain a separate device list per segment. Either approach is valid if it is consistent and if the hardware bid reflects the actual card port count rather than treating each fieldbus device as an AI channel.
The key point. A fieldbus segment is not a collection of discrete AI channels in the traditional sense. The wiring cost model, the card cost model, and the commissioning approach are all different from hardwired 4-20 mA. Counting fieldbus devices as AI channels inflates the card-cost estimate for a digital-bus design.
Variable-speed drives on a network vs hardwired
A VSD, variable-speed drive interfaced to the DCS over Ethernet or PROFIBUS DP is a serial interface. The speed setpoint goes to the drive as a network message. The speed feedback comes back the same way. On the I/O list, this appears as one serial communication interface. No AO channel for the setpoint, no AI channel for the feedback.
The same VSD interfaced via conventional 4-20 mA would have one AO channel, speed setpoint and one AI channel, speed feedback, plus possibly a DI for run feedback and a DO for start command. The process function is identical. The I/O channel count is not. An I/O estimate that mixes the two interface types without distinguishing them will be wrong.
Package skids and the serial point list
A vendor package such as a compressor unit, a gas chromatograph, or a heat recovery system typically arrives with its own local controller. The package controller talks to the plant DCS over a single serial link. Modbus TCP, Modbus RTU, or PROFIBUS DP, depending on the vintage and vendor preference.
Over that single link, the package may expose 60 to 120 values. Discharge pressure, suction temperature, lube oil pressure, vibration readings, alarm states, shutdown states, speed, setpoints, and permissive flags. From the I/O list perspective, there is one interface to tabulate. One serial communication row with a description, the protocol, and the package tag or skid number.
The 60 or 80 or 120 values that come across that link do not appear on the I/O list as AI or DI rows. They appear on a serial point list, sometimes called a Modbus register map or a serial interface definition, which lists each value with its register address, data type, engineering units, read, write access, and description.
This matters for two reasons.
The hardware bid is driven by the I/O list. If a package skid's 80 Modbus values are entered as AI rows, the AI card count grows by 5 cards, 80 channels on 16-channel cards. That is five cards and the rack space and wiring infrastructure behind them, none of which will exist because the connection is a single Ethernet cable. The vendor will bid against the wrong scope.
The configuration scope is driven by the signal list. The DCS programmer needs to build tags and HMI faceplates for all 80 values from the package. That work takes time and must be scoped. If the serial point list is missing from the engineering package, the configuration effort is invisible to the project manager and to the DCS vendor pricing the programming scope.
The I/O list and the signal list are not the same document
The I/O list is a hard-channel register. Its purpose is hardware definition. The signal list, sometimes called a point list, a tag list, or a controller tag database is the complete set of values the control system holds. It includes every I/O list row plus the calculated tags, serial-linked tags, internal parameters, and soft handswitches.
On a well-run project, the two documents are maintained in parallel and clearly separated. The I/O list drives the hardware bid and the PLC rack layout. The signal list drives the configuration scope and the HMI build.
On many projects, they are collapsed into a single spreadsheet where hard channels and soft tags sit in the same rows with no distinguishing column. Reviewers counting rows to estimate card quantities get an inflated number. DCS vendors pricing configuration scope do not see the serial and calculated tags. Both estimates go wrong in opposite directions.
For a full breakdown of the I/O list, the instrument index, and the line list as separate documents with separate audiences, see instrument index vs I/O list vs line list.
A worked illustration
Consider the feed section of a gas-processing plant, Unit 34. The P&ID shows 240 hard-wired field instruments, transmitters, control valves, switches, and final elements. The section also includes a compressor package with its own controller, exposing 60 values to the DCS over one Modbus TCP link. The DCS database also holds 45 calculated tags. Compensated flows, ratio calculations, accumulated totals, and derived alarm states.
The I/O list for Unit 34 shows.
| Signal class | Hardwired channels | Serial interfaces |
|---|---|---|
| AI | 140 | n, a |
| AO | 32 | n, a |
| DI | 48 | n, a |
| DO | 20 | n, a |
| Serial, Modbus TCP | n, a | 1 |
| Total | 240 | 1 |
The signal list, controller tag database for Unit 34 shows.
| Category | Tag count |
|---|---|
| Hardwired I/O, all classes | 240 |
| Serial-linked tags from compressor package | 60 |
| Calculated and derived tags | 45 |
| Internal setpoints and soft handswitches | 28 |
| Total | 373 |
The hardware bid is sized from the I/O list. 240 field channels plus infrastructure for one Modbus TCP connection. The card count for the 240 hard channels follows from the per-type breakdown and the card density of the chosen platform.
The configuration scope is sized from the signal list. 373 tags, with the 60 serial-linked tags requiring register-map coordination with the package vendor and the 45 calculated tags requiring verified engineering formulae. Neither of those 105 tags appears on the I/O list and neither consumes a card channel, but both require real engineering time.
The arithmetic closes because the two documents serve different purposes and are not interchangeable.
What goes wrong
Serial-linked package values counted as hard AI channels. This is the most common bid-stage error. An engineer copying values from the package vendor's data sheet into the I/O list adds 80 AI rows for the Modbus register values. The hardware vendor prices against 80 extra AI channels. The actual hardware will have an Ethernet port. The overcount is discovered either at procurement, when the discrepancy requires an expensive correction or at construction, when there are no card slots for 80 non-existent transmitters.
Calculated tags entered as I/O list rows. A compensated flow or a running-average temperature is added to the I/O list as an AI row because "it shows up on the HMI." The hardware vendor includes a channel for it. The DCS programmer looks for a field terminal that does not exist. The error is usually caught during the PLC rack layout, but by then the hardware has been sized against the inflated count.
HART secondary variables counted as extra AI channels. A transmitter with HART is listed as two AI rows. One for the primary variable and one for "HART data." The primary variable and the HART data travel on the same physical wire. There is one channel. Secondary HART variables are soft tags once the system reads them. They do not occupy a second channel on the card.
The signal list and the I/O list treated as a single document. Configuration scope becomes invisible. The DCS programmer is handed an I/O list with 240 rows and told the tag count is 240. The actual scope is 373. The undercount surfaces during configuration when the programmer requests additional time for the serial and calculated points that were never in the scope document.
A fieldbus segment counted as N discrete AI channels. A PROFIBUS PA segment with 16 transmitters is entered as 16 AI rows with standard AI card assignments. The hardware vendor prices 16 AI channels and a rack's worth of terminal blocks. The actual hardware is one PROFIBUS PA card with one segment port. The discrepancy at procurement requires a full re-specification of the I/O rack layout.
Practical recap
The I/O list contains one row for each physical termination on an I/O card. One AI row per wired transmitter, one AO row per wired control valve output, one DI row per wired contact, one DO row per wired coil or starter. It contains one row for each serial communication interface, a Modbus TCP link, a PROFIBUS DP connection, not one row for each value that interface carries.
Calculated values, serial-linked values, internal setpoints, alarm states, and soft handswitches are soft tags. They belong in the signal list, not the I/O list. They require configuration effort but no card channels.
HART secondary variables do not add AI channels. A HART transmitter occupies one AI channel regardless of how many variables the host system reads from its digital signal.
A fieldbus segment is a single physical port at the I/O card. The devices on the segment are individually addressable and may be listed in the I/O list by convention, but the card count is driven by segment port count, not device count.
A package skid on a serial link is one communication interface. Its 60 or 80 exposed values are serial-linked tags. They belong on a serial point list maintained alongside the I/O list, not as rows within it. The two documents together give the full picture. The I/O list for hardware scope, the serial point list for configuration scope.
For a walkthrough of the full I/O list process, see the I/O list creation guide.
Related. 4-20mA vs HART vs fieldbus covers signal-type selection and how HART secondary variables work at the wire level. Instrument index vs I/O list vs line list covers which document each type of engineering data belongs in.