1. Single-Unit PLC Selection: Platform Scope and Decision Criteria
Single-unit (also called "brick" or compact) PLCs are integrated controllers where the CPU, power supply, and I/O are housed in a single package or a CPU plus a few local expansion slices. This category excludes multi-slot rack PLCs such as the Allen-Bradley PLC-5, Siemens S7-400, or Modicon Quantum in their full-rack configuration, but it does include modular single-CPU systems like the Siemens S7-300 with one or two racks. The selection question reduces to four engineering variables:
- I/O count and mix (digital, analog, specialty like RTD/thermocouple, high-speed counters)
- Process complexity (PID loops, flow compensation, batch/recipe handling)
- Network footprint (peer-to-peer, MODBUS concentrator, Profibus remote I/O, EtherNet/IP)
- Local technician skill set and I&E support model
2. Siemens TI505 / TI555 Processor Architecture
The TI505 line originated at Texas Instruments and was later acquired by Siemens, who continued production for process and high-availability applications. The TI555 is the high-end CPU in the family and supports a unique combination of features that few compact single-CPU controllers offer in a single chassis:
- Built-in analog alarm blocks: The TI555 supports several hundred analog alarm blocks natively, each configurable with HH/H/L/LL setpoints, deadband, and priority. No additional function block programming is required for alarming.
- Native PID loops: The TI555 supports up to 256 PID loops in firmware with auto/manual, cascade, ratio, and override modes, plus bumpless transfer.
- Special Function Programs (SFPs): The TI555 executes user-coded SFPs in a C-like syntax via tools such as TI-Soft and third-party utilities. Each SFP has its own workspace and can be called from ladder logic. Common uses include AGA-3/AGA-7 gas flow compensation, custom serial packet handlers, and proprietary device drivers.
- V-memory and K-memory data tables: The TI505 uses V-memory for variable data (analog values, timers, counters) and K-memory for retentive storage. V-memory word offsets are direct; there is no tag database abstraction, which is both a strength (transparency) and a weakness (no symbolic aliasing for very large applications).
- Remote Base Controllers (RBCs): The TI555 supports up to 8 RBCs for distributed I/O over the TI505 backplane protocol. Each RBC is a slave I/O rack with its own I/O modules and communicates with the master over a dedicated serial link.
A real-world deployment using the TI555 platform has demonstrated 14 TI545 CPUs and 1 TI555 with 6 RBCs, networked via CTI Ethernet modules, running 125+ PID loops, 200 analog alarm blocks, 1,000+ lines of ladder logic, and 18 SFPs on the TI555 alone. The configuration has logged five years of continuous operation with zero downtime, which speaks to the platform's process-control maturity.
3. CTI 2570-Series Communication: Ethernet and Modbus
Control Technology Inc. (CTI) manufactures a family of communication modules that bolt onto the TI505 backplane and are commonly deployed where the stock Siemens CP modules are insufficient. The two most relevant for single-unit applications are:
- CTI 2572-A Ethernet module: Provides peer-to-peer Ethernet between TI505 CPUs, supports up to 256 PLC connections, and offers 10/100 Mbps auto-negotiation. Programming is via the CTI configuration utility; the module is configured by writing its IP address and connection table to a config file that the host CPU uploads at boot.
- CTI 2573-MOD Modbus module: Four serial ports per card. Port 1 and Port 2 are typically configured as Modbus RTU (RS-232 or RS-485 multidrop); Port 3 and Port 4 as Modbus ASCII. The module appears to the ladder program as a block of V-memory holding register data, so the application code reads/writes local tags rather than calling out to a serial driver.
For data concentrator applications, the typical configuration is Port 1 as Modbus RTU slave (for upstream SCADA polling) and Port 3 as Modbus RTU master (for downstream device polling, e.g., flow computers, weigh scales, variable-frequency drives). If the application needs more than one master port at different baud rates, a second 2573-MOD card is installed; the backplane is wide enough to accept multiple instances without conflict.
For Profibus remote I/O, the Siemens TI555 CPU has an integrated Profibus-DP port. Field installations have used a fiber-optic Profibus network (Siemens OLM/G12 repeaters) to connect two S7 remote I/O racks at distances up to 1.5 km. This allows mixing TI555 logic with S7-300 distributed I/O when an existing S7 fleet needs to be incorporated.
4. Siemens S7-200 for Compact Applications
The S7-200 is a micro-PLC line covering applications from 10 to 248 digital I/O plus a few analog channels. CPU models of interest for comparison purposes:
| CPU | Digital I/O | Analog I/O | Communication Ports |
|---|---|---|---|
| CPU 221 | 6 in / 4 out | None | 1 PPI |
| CPU 222 | 8 in / 6 out | None | 1 PPI |
| CPU 224 | 14 in / 10 out | None | 1 PPI |
| CPU 224XP | 14 in / 10 out | 2 in / 1 out | 2 (PPI + free port) |
| CPU 226 | 24 in / 16 out | None | 2 (PPI + free port) |
The S7-200 is a strong choice for small systems requiring a Modbus RTU slave because Siemens provides a free USS/Modbus RTU library (instructions MODBUS_MSG and MODBUS_SLAVE) that runs on the free port. The library handles the framing, CRC, and inter-character timeout for a developer who only needs to map holding registers. For Modbus master, MODBUS_MSG is configured as a master read/write and polls up to 32 slaves per port with configurable timeout and retry. See the Siemens S7-200 Modbus RTU Master/Slave Tips application note for the current execution timings.
Limitations: PPI runs at 187.5 kbps or 19.2 kbps, not the gigabit Ethernet of a modern ControlLogix. The S7-200 is in active phase-out status from Siemens (successors are the S7-200 SMART, then the LOGO! 8 and S7-1200 family). Existing fleets will continue to be supported, but new designs should not anchor on the original S7-200 unless the spare parts inventory is already in place.
5. Siemens S7-300/400 Modular Platform
The S7-300 sits at the lower end of Siemens' modular line (S7-300, S7-400, S7-1500) and is appropriate when a single-CPU chassis with a few expansion racks is needed. The S7-300 supports the following programming languages in the Step 7 Classic (v5.x) toolchain:
- LAD (Ladder): Boolean flow with contact/coil symbols. Most common for I/O mapping and interlock logic.
- FBD (Function Block Diagram): Graphical blocks wired by signal lines. Suited to continuous control.
- STL (Statement List): Text-based, register-style, similar to assembler. Powerful for bit manipulation, indirect addressing, and conditional jumps.
- SCL (Structured Control Language): High-level Pascal-like language for data processing, math, and complex state machines. Equivalent to IEC 61131-3 ST.
- GRAPH and HiGraph: Optional packages for sequential function chart and state-graph programming.
Custom block creation is a major strength. An engineer can build a Function Block (FB) with input, output, static, and temp variables, instantiate it multiple times in Instance Data Blocks (DBs), and have the FB's internal variables isolated per instance. Example: a 10-burner burner management pilot ignition block with 110 internal variables (a pseudo AGA-7 flow compensation block) can be written once and called 10 times with 10 instances, each pointing to a different burner I/O range. The compiled FB lives in the program; the instance data lives in a DB. See the S7-300/400 Programming with Step 7 manual for FB/DB conventions.
For Modbus RTU on the S7-300, the CP 340/CP 341 serial cards plus the Modbus Master / Modbus Slave software package (6ES7870-1AA01-0YA0) handle the protocol. For Modbus TCP, the CP 343-1 Ethernet card plus the "Modbus/TCP PN-CPU" block library provides server and client functionality. The S7-300/400 family also supports Profibus-DP master/slave, Profinet IO controller/device, and ISO-on-TCP (RFC 1006) for legacy Siemens-to-Siemens communication.
6. Allen-Bradley SLC 500 and ControlLogix
The SLC 500 family (1747 series) was Allen-Bradley's workhorse compact modular PLC from 1991 to 2017. Common CPUs in the field include the 5/03 (DH+), 5/04 (DH+ and RIO), and 5/05 (Ethernet). The SLC 500 is in active phase-out by Rockwell Automation, with the CompactLogix 5370/5380/5480 recommended as the migration target. See the SLC 500 Migration Guide for conversion paths.
The ControlLogix family (1756 series) is Allen-Bradley's flagship PAC and uses a tag-based programming model in RSLogix 5000 (now Studio 5000 Logix Designer, v21 and later). Tag-based means I/O and internal variables are symbolic tags in a global tag database or scoped to a program; there is no fixed I/O slot offset as in the SLC 500. The major architectural difference from Siemens S7 is that ControlLogix tags are not pre-allocated; memory is dynamically assigned as tags are created, which makes initial commissioning easier but can hide memory fragmentation issues in very large projects.
For structured text on ControlLogix, RSLogix 5000 supports ST as one of the five IEC 61131-3 languages, but the original implementation was widely criticized: variables in an Add-On Instruction (AOI) could not be easily associated with the instance of the AOI block. Each variable required a tag, and the tags were not auto-generated. This forced engineers to manually create a tag for every AOI instance variable, which significantly slowed development. The AOI model matured with v16-v20 releases, but the historical friction compared to Siemens FB/DB model remains a real field complaint. See the Logix Designer Add-On Instructions Programming Manual for current behavior.
EtherNet/IP is the native ControlLogix industrial Ethernet protocol, and most new installations use 1756-EN2T or 1756-EN4TR modules. Logix Designer v21+ supports tag-based CIP connections, which allow a remote EtherNet/IP device to read/write tags directly without explicit message instructions. For Modbus integration, the 1756-MVI56E-MCM or ProSoft MCM-160 modules provide serial Modbus; for Modbus TCP, the MVI56E-MNET or MNETC modules. Native Modbus instructions are not in the standard library.
7. Direct Logic, Modicon, and IDEC Considerations
The Direct Logic line (now sold by AutomationDirect under the Productivity, Do-More, and Click series) covers DL05, DL06, DL105, DL205, and DL405. The DirectSOFT programming environment is ladder-centric, with PID loop blocks, drum sequencers, and a clean import/export feature for documentation. Direct Logic's PID implementation is regarded as robust for simple to mid-complexity loops and supports auto-tune on most CPU models. For Modbus RTU, Direct Logic CPUs include Modbus RTU slave support in firmware on most CPU models; Modbus master requires a serial port configured in master mode with table-driven polling. See the AutomationDirect technical support library for the latest CPU datasheets.
Modicon (now Schneider Electric) covers the Modicon M340, M580, and the older Premium/Quantum. The M340 is a single-rack modular PLC with Unity Pro (now EcoStruxure Control Expert) as the programming environment. The M340 supports Modbus, Modbus Plus, and EtherNet/IP (with the BMX-NOE module). For new designs, the M340 is being succeeded by the M580 (EtherNet/IP-native backplane) and the Modicon M241/M251 for compact applications. See the Modicon M340 product page.
IDEC offers the FC6A and MicroSmart FC5A series for compact applications, with a ladder-based programming environment and a modest Modbus RTU footprint. They are well-suited to OEM machine-builder applications where the cost-of-entry is the primary driver.
8. Programming Environment Comparison
| Platform | Programming Tool | Languages | Custom Block Model | Import/Export |
|---|---|---|---|---|
| Siemens TI505 | TI-Soft, PLC Workshop, third-party WinTOP | Ladder, SFP (C-like) | Special Function Programs | Plain-text V-memory map |
| Siemens S7-200 | Micro/WIN (Step 7-Micro/WIN) | Ladder, FBD, STL | Subroutines (SBR) and interrupt routines | CSV variable export |
| Siemens S7-300/400 | Step 7 Classic, TIA Portal | LAD, FBD, STL, SCL, GRAPH | FB + Instance DB | Symbol table CSV, source files |
| Allen-Bradley SLC 500 | RSLogix 500 | Ladder | Program files and subroutines | Database export, address/symbol export |
| Allen-Bradley ControlLogix | RSLogix 5000 / Studio 5000 | Ladder, FBD, SFC, ST | Add-On Instructions (AOI) | CSV tag export, L5K/L5X |
| Direct Logic | DirectSOFT | Ladder, RLLplus | Task programs | Project archive, CSV |
| Modicon M340 | Unity Pro / Control Expert | Ladder, FBD, ST, IL, SFC | DFB (Derived Function Block) | XML project export |
A field-realized practice: build the I/O map in Excel with symbol name, tag address, engineering range, units, and description. Import the symbol table into the PLC programming tool. This avoids the "type the symbol twice" trap that wastes hours on a 2000-line ladder program and prevents naming mismatches between electrical drawings and logic.
On Allen-Bradley RSLogix 500 and 5000, the import/export file format historically inserts a large amount of "default" data on top of the user-defined tags, which complicates diff/merge workflows and version control. By contrast, Siemens Step 7 source files (.scl, .awl) and Symbol Table CSV are clean and version-control-friendly. The Studio 5000 v34+ L5X format is significantly cleaner than the historical L5K, but the change is recent enough that legacy migration tools still produce verbose output.
9. Communication Protocol Coverage
| Protocol | Siemens TI505 | Siemens S7-300 | ControlLogix | Direct Logic |
|---|---|---|---|---|
| Modbus RTU master/slave | CTI 2573-MOD, 4 ports | CP 340/341 + Modbus pkg | ProSoft MVI56E-MCM | Firmware (slave), port cfg (master) |
| Modbus TCP | CTI 2572 + serial-to-TCP gateway | CP 343-1 + Modbus/TCP pkg | ProSoft MVI56E-MNET | DL405 with H4-ECOM |
| Profibus-DP | Built-in CPU port + fiber OLM | IM 316 / CP 342-5 | 1756-DHRIO bridge to SLC/PLC-5 | Not supported |
| Profinet IO | Not supported | CP 343-1 / CPU PN variants | 1756-EN2T/EN4TR (EtherNet/IP) | Not supported (Productivity supports) |
| EtherNet/IP | Not native; via CTI module | Not native (Profinet) | Native | Not native (Productivity does) |
| PPI/MPI | Not supported | Native on CPU | Not supported | Not supported |
The "best" communication story depends entirely on what the rest of the plant speaks. A plant standardized on Profibus-DP (Siemens-heavy) will favor the TI555 or S7-300. A plant standardized on EtherNet/IP (Rockwell-heavy) will favor ControlLogix. A data concentrator with mixed Modbus RTU and Ethernet TCP will favor the TI555 with CTI 2573-MOD + 2572 cards, or the S7-300 with multiple CP 341 cards. Reference the Modbus Application Protocol V1.1b3 specification for RTU/TCP frame format details.
10. PID and Special Function Implementation
The TI555's PID is implemented in firmware with fixed-loop scan independent of the ladder scan. Setpoint, process variable, output, and tuning parameters live in V-memory. Auto/manual mode change is bumpless. The TI555 also supports a "loop table" extension that allows custom alarming, deviation tracking, and rate-of-change limits beyond the basic alarm block.
The S7-300 PID is implemented as FB 41 (CONT_C) or FB 58 (CONT_S). CONT_C is the continuous PID with anti-windup, deadband, and feedforward input. CONT_S is the step controller for motor-actuated valves. Auto-tune is not built-in; engineers typically use the Step 7 PID self-tuner (FB 100 and the configuration tool) which is an optional add-on. For more advanced features, the FM 355 / FM 455 closed-loop controller modules handle up to 4 or 16 loops with auto-tune and are programmed in a separate tool. See the PID Control with S7-300/400 application note.
The ControlLogix PIDE instruction (introduced in RSLogix 5000 v16) is an enhanced PID with auto-tuning, gain scheduling, cascade support, and override selection. It runs in a periodic task and is well-suited to a process-control application. The PIDE block is one of the major reasons ControlLogix has been deployed in process applications that previously would have specified a DCS. See the Logix Controllers PIDE Instruction Reference.
The Direct Logic PID block is ladder-based, runs in a fixed loop time, and supports auto-tune. The Do-More and Productivity series (successors) have a more modern PID with similar features plus a built-in Web server for HMI access.
11. Selection Decision Matrix
Use the following table to shortlist based on application requirements:
| Requirement | Recommended Platform |
|---|---|
| Compact, <32 I/O, Modbus RTU slave | Siemens S7-200 (or S7-200 SMART, LOGO! 8) |
| 100-500 I/O, several PID loops, Modbus TCP | Siemens S7-300 + CP 343-1, or Direct Logic DL405 |
| 500+ I/O, DCS-style architecture, fiber Profibus | Siemens TI555 + CTI 2572/2573 |
| Rockwell-standardized plant, EtherNet/IP | Allen-Bradley CompactLogix 5380 / ControlLogix 5580 |
| Heavy custom C-like math (AGA-7, AGA-3) | Siemens TI555 (SFP) or S7-300 (SCL) |
| Heavy sequential / batch | Siemens S7-300 GRAPH, ControlLogix SFC, or TI555 drum sequencer |
| Modicon-standardized plant | Modicon M340 / M580 with Unity Pro / Control Expert |
| Local I&E tech skill set is Rockwell | CompactLogix or SLC 500 (with phase-out plan) |
| Local I&E tech skill set is Siemens | S7-300, S7-1200/1500 |
12. HMI and SCADA Integration
An HMI is rarely optional on a single-unit PLC deployment. Platform pairings that have been field-validated include:
- Siemens S7-200/300 + ProTool/ProSave (legacy) or WinCC Flexible / TIA Portal WinCC (modern). Project files integrate with Step 7 and TIA Portal, so tag changes propagate to the HMI on rebuild.
- TI505 + Wonderware InTouch. Wonderware can poll the TI555 directly via the CTI Ethernet module using the OPC-DA driver or the SuiteLink protocol. A 5-node, 6,000+ tag Wonderware deployment has been reported running against a TI555 backbone with consistent 1-second scan times.
- ControlLogix + FactoryTalk View / PanelView Plus. The Logix tag database is directly visible in FactoryTalk View via the RSLinx Enterprise communication layer.
- Direct Logic + C-more or Citect. C-more panels import DirectSOFT tag databases natively.
13. Sample SCL Snippet: S7-300 Modbus RTU Master
The following SCL (Structured Control Language) code shows a typical Modbus RTU master call on an S7-300 with a CP 341. It is intended as a pattern reference, not a copy-paste solution. Always validate against the current Modbus Master / Slave Package manual before deployment.
// S7-300 SCL snippet: Modbus RTU master read of holding registers
// Calls FB 7 (P_SND_RK) and FB 8 (P_RCV_RK) on the CP 341 serial card
// Reads 10 holding registers from slave 5, function code 03
FUNCTION_BLOCK FB_Modbus_Master
VAR
Start_Trigger : BOOL;
Busy : BOOL;
Error : BOOL;
Status : WORD;
Holding_Reg_0 : WORD;
Holding_Reg_1 : WORD;
// ... up to Holding_Reg_9
Instance_DB_SND : FB_P_SND_RK;
Instance_DB_RCV : FB_P_RCV_RK;
END_VAR
BEGIN
IF Start_Trigger AND NOT Busy THEN
Instance_DB_SND.REQ := TRUE;
Instance_DB_SND(SEND := Modbus_Frame_DB.Frame_Buffer,
LADDR := 256, // logical base address of CP 341
DONE => Busy,
ERROR => Error,
STATUS => Status);
END_IF;
Instance_DB_RCV(EN_R := Busy,
LADDR := 256,
RECV := Holding_Reg_0,
NDR => Busy := FALSE,
ERROR => Error,
STATUS => Status,
LEN := 25); // expected byte count for FC03 x 10 registers
END_FUNCTION_BLOCK
14. Network Topology Reference Diagram
The following diagram illustrates a typical TI555-centric plant network. The SVG renders inline; on a non-rendering client, the ALT text describes the topology.
15. Field-Commissioning Notes
- Memory sizing: For the TI555, allow 4-8 KB V-memory per PID loop and 1-2 KB per analog alarm block. A 125-loop system needs roughly 500 KB to 1 MB V-memory, well within the TI555's 2 MB envelope.
- Scan time: The TI555 base scan is 5-20 ms for 1,000 lines of ladder. Add 1-2 ms per active PID loop. A 125-loop, 1000-line system should hold a 200-300 ms scan budget, which is acceptable for most gas-plant and water-treatment process control.
- Network configuration: The CTI 2572 connection table is static. Each peer PLC must be entered with IP, slot, and rack. A 14-node peer-peer network requires 14 entries on each node (one for each peer). Plan for 4-8 hours of network commissioning time per node cluster.
- Backup and disaster recovery: Always store the PLC program, the symbol table, the HMI project, and the network configuration in version control. Commit changes with a comment describing the field reason. Do not rely on the PLC's on-board flash for the canonical copy.
- Spare parts: The TI555 is in long-term support by Siemens but the original 505 series is in obsolescence transition. Confirm spare availability (CPU, RBC, I/O modules, CTI cards) with your distributor before committing to a new large design. For very long-life applications, the S7-1500 may be a more sustainable alternative.
16. Lifecycle and Phase-Out Reference
| Product | Status | Recommended Migration |
|---|---|---|
| Siemens TI505/TI555 | Limited production, long-term support | S7-1500 with ET 200SP or PCS 7 |
| Siemens S7-200 | Phase-out, displaced by S7-200 SMART | S7-200 SMART, S7-1200, or LOGO! 8 |
| Siemens S7-300/400 | S7-300 in phase-out, S7-400 active | S7-1500 |
| Allen-Bradley SLC 500 | Discontinued 2017 | CompactLogix 5380 |
| Allen-Bradley ControlLogix | Active, 1756-L8x current | ControlLogix 5580 (1756-L8x) |
| Modicon M340 | Active, in transition to M580 | Modicon M580 |
Which single-unit PLC is best for a 100-IO PID-heavy process?
For 100 I/O and 5-15 PID loops, the Siemens S7-300 with FM 355 closed-loop module or the Direct Logic DL405 with built-in PID both deliver. The TI555 is justified above 500 I/O or 30+ loops where its native analog alarm and PID density outperform the competition.
Can the TI555 and S7-300 share the same Profibus network?
Yes. The TI555 has an integrated Profibus-DP master port that can scan S7-300 stations (or any DP-V0 slave). Field installations have used fibre-optic Profibus with Siemens OLM/G12 repeaters to connect a TI555 to two S7-300 remote I/O racks at 1.5 km. The TI555 ladder program accesses S7 input/output bytes via V-memory mapped to the Profibus slave I/O area.
Is the Allen-Bradley SLC 500 still a viable new design platform?
No. The SLC 500 is in active phase-out by Rockwell Automation. New designs should target the CompactLogix 5380 (for EtherNet/IP) or the MicroLogix 870 (for very small systems). For migration of an existing SLC fleet, expect 6-12 months of engineering per major process area to convert RSLogix 500 programs to RSLogix 5000 / Studio 5000 projects.
What is the best Modbus RTU master solution for an S7-300?
Install a CP 341 serial card (RS-232 or RS-485 variant) and load the Modbus Master software package (Siemens order number 6ES7870-1AA01-0YA0 for legacy CP 341). The package provides FB 7/FB 8 send/receive blocks plus the Modbus framing and CRC. Each CP 341 supports one master port; use one CP 341 per physical serial trunk.
How does the TI555 Special Function Program (SFP) compare to Siemens SCL?
Both are used for custom math and protocol handling beyond ladder. SFPs are written in a C-like syntax and execute as a separate task with their own workspace. SCL is Pascal-like and runs as a compiled block inside the Step 7 program; it is easier to debug, supports symbolic variables, and integrates with the FB/DB model. SFPs have a steeper learning curve but historically offer tighter execution control for serial protocol handling.