In this article9 sections
PLCCreator reads an IO list and builds the PLC project from it. The IO list has to follow one of the templates VOYMATIC publishes, and those templates are stricter than most project I/O lists: a fixed first row, a fixed header row, and closed lists of values. This reference walks through what the published templates contain.
Two lists, three architectures
PLCCreator takes two kinds of IO list.
- Signal IO List. One row per signal. Each row names the signal and gives its Signal Type.
- Device IO List. One row per device. Each row names the device and the library block PLCCreator builds it from.
Each list has a template for each of the three PLC architectures PLCCreator supports: single rack, single fieldbus and multiple fieldbuses. That makes six templates in all.
The marker row
The first row of every template is a marker made of a template code and a type number. The code says which list it is, SIOLT for a Signal IO List and DIOLT for a Device IO List. The number says which architecture.
| Template | Marker row |
|---|---|
| Signal IO List, single rack | SIOLT, 9 |
| Signal IO List, single fieldbus | SIOLT, 10 |
| Signal IO List, multiple fieldbuses | SIOLT, 12 |
| Device IO List, single rack | DIOLT, 7 |
| Device IO List, single fieldbus | DIOLT, 8 |
| Device IO List, multiple fieldbuses | DIOLT, 11 |
Keep the marker row exactly as the template has it. It is how the file is recognised as that template.
The header row
The second row is the header, and it depends on the list and the architecture.
Signal IO List.
- Single rack:
Name,Description,Signal Type - Single fieldbus:
Name,Description,Signal Type,Hardware Platform,Group - Multiple fieldbuses:
Name,Description,Signal Type,Fieldbus,Comm Protocol,Hardware Platform,Group
Device IO List.
- Single rack:
Name,Description,Asset Library,Library Block - Single fieldbus:
Name,Description,Asset Library,Library Block,Hardware Platform,Group - Multiple fieldbuses:
Name,Description,Asset Library,Library Block,Fieldbus,Comm Protocol,Hardware Platform,Group
The rows under the header carry one signal or one device each.
The Signal Type list
Signal Type is the column that does the most work in a Signal IO List. It is a closed list in the template's data sheet, and each value combines the direction with the electrical range or sensor type. The published list has 137 values: 84 analog inputs, 11 analog outputs, 22 discrete inputs and 20 discrete outputs. A few examples:
| Value | Meaning |
|---|---|
AI_4-20mA | Analog input, 4-20 mA |
AI_0-10VDC | Analog input, 0-10 V DC |
AI_TC-Type-K | Thermocouple input, type K |
AI_Fieldbus | Analog value over a fieldbus |
AO_4-20mA | Analog output, 4-20 mA |
DI_24VDC | Discrete input, 24 V DC |
DO_24VDC | Discrete output, 24 V DC |
DO_24VDC-SNK | Discrete output, 24 V DC, sinking |
The value has to be one PLCCreator knows. AI, Analog Input or 4-20mA on its own is not in the list. A P&ID tells you whether a point is an analog or discrete input or output. It rarely tells you the electrical range, so that part of the Signal Type usually comes from the instrument datasheet or the project's I/O philosophy.
Hardware Platform, Group, Fieldbus and Comm Protocol
The fieldbus templates add the columns that place a signal or device on the network.
- Hardware Platform. The I/O family the point sits on. The published list includes ControlLogix, ET200M, ET200MP, ET200Pro, ET200SP, ET200SPHA, iQ-R and S7-400.
- Group. A grouping within the project.
- Fieldbus and Comm Protocol (multiple fieldbuses only). Which network the point is on and how it is reached. The published Comm Protocol list includes Profinet, Profibus, EtherNet/IP, CC-Link-IE-Field and rack expansion entries for S7-300, S7-400 and iQ-R.
These columns can stay empty when the project has not decided them yet.
Asset Library and Library Block
A Device IO List row names the library block PLCCreator builds the device from: the Asset Library it comes from and the Library Block within it. Both refer to libraries set up in the PLCCreator account, so a Device IO List is written against a particular account's libraries. A Signal IO List does not depend on them.
A worked example
A single rack Signal IO List for a transmitter and a shutdown valve:
SIOLT,9
Name,Description,Signal Type
PT_101,Feed pressure to V-201,AI_4-20mA
XV_301,Inlet isolation valve open command,DO_24VDC
The drawing tags are PT-101 and XV-301. The hyphens are replaced here because the names become PLC tag names, and several PLC platforms do not accept a hyphen in a tag name.
Common errors when preparing the list
- Editing the marker row. A changed or missing first row means the file no longer matches a template.
- The wrong template for the architecture. A single rack file for a fieldbus project leaves out the columns the fieldbus layout needs.
- Signal types outside the list.
AIor4-20 mAinstead ofAI_4-20mA. Use the values from the template's data sheet. - Repeated names. Two rows with the same name, often one instrument listed from two drawings. Keep one row per signal.
- A Device IO List against libraries that do not exist. An Asset Library or Library Block name that the account does not have.
Where Tagsight fits
Tagsight exports a reviewed I/O list for PLCCreator as one of its export formats, so the PLC project starts from the tags the engineers confirmed.
The IO list is the handover between controls engineering and PLC programming. When it is clean, the programmer loads it and writes logic. When it is not, the first week goes to cleaning it. The column and signal-class conventions that produce a clean list are covered in the I/O list creation guide.