Overview: Connecting a Siemens S5 to a Modern SCADA
The Siemens SIMATIC S5 family (S5-90U, S5-95U, S5-100U, S5-115U, S5-135U, S5-155U) remains in service across thousands of plants installed between 1980 and the late 1990s. Most of these systems require a SCADA layer for visualization, trending, and alarm handling. Selecting the right SCADA package for an S5 controller depends on three technical variables: the physical interface available on the CPU, the SCADA driver's supported protocol, and the tag/address translation model the SCADA uses to map PLC memory (DB, MW, I, Q, F) into its internal database.
For new installations, building a SCADA in Visual Basic or C++ is generally avoided because industrial-grade SCADA packages provide certified drivers, redundant communication, hot-standby, historical archiving to SQL/Oracle, and certified security (role-based access, audit trail). These are non-trivial to reproduce in-house. The discussion below covers the practical drivers and the configuration of two representative SCADA packages (Winlog Lite and Movicon) against the S5's native AS511 protocol.
Siemens S5 Communication Architecture
The S5 exposes its process image over several physical interfaces depending on the CPU family and option modules installed. When selecting a SCADA driver, you must confirm the physical port and protocol, not the CPU model number alone.
| Interface | Hardware Location | Protocol | Typical Use |
|---|---|---|---|
| PG port (TTY/20 mA current loop) | Front of S5-90U through S5-115U CPUs | AS511 (programming/serial) | PG/PC connection, low-cost SCADA link |
| CP 521 / CP 521 SI | Plug-in module on S5-115U and S5-135U/155U | AS511, RK512 (3964R) | SCADA/PG over RS-232 or TTY |
| CP 523 | Plug-in module | 3964R, RK512 | Point-to-point SCADA with handshake |
| CP 524 / CP 525 | S5-135U/155U | 3964R, RK512, ASCII | Higher-throughput SCADA links |
| CP 1430 (TCP/IP, MAP) | S5-135U/155U | ISO-on-TCP / SINEC H1 | Ethernet SCADA, modernized plants |
| CP 143 / CP 144 | S5-135U/155U | SINEC L1 (PROFIBUS predecessor) | Multi-drop SCADA networks |
For a low-cost modern retrofit, the most common path is the CPU's built-in TTY/PG port running AS511. This is a 20 mA current loop interface and requires either a current-loop-to-USB converter (S5-TTY-USB) or a legacy PC with a native serial port plus a TTY-to-RS232 adapter (Siemens 6ES5 734-1BD20 or equivalent third-party unit). USB-to-TTY converters based on FTDI chipsets are the field-proven choice; the legacy Siemens PC-TTY adapter is increasingly rare.
AS511 Protocol Technical Details
AS511 is Siemens' proprietary serial protocol used by the STEP 5 programming software to read/write the S5's memory and diagnostic data. It is also the most accessible SCADA protocol for the S5 because it requires no special hardware beyond the CPU's PG port. The protocol runs over a 20 mA current loop at 9600 baud, half-duplex, using a Siemens-specific frame structure.
Frame Structure
An AS511 frame contains:
- STX (0x02) — start of text
- Command byte — read, write, start, stop, status, password, etc.
- Block/address — DB number, DW number, byte/bit
- Data — payload (up to 64 bytes per telegram)
- BCC — block check character (XOR of preceding bytes)
- ETX (0x03) — end of text, followed by a parity byte
Common command codes:
| Hex | Function |
|---|---|
| 0x00 | Read DB byte |
| 0x01 | Read DB word |
| 0x02 | Write DB byte |
| 0x03 | Write DB word |
| 0x04 | Read I/O byte |
| 0x05 | Write I/O byte |
| 0x06 | Read flag/merker byte |
| 0x07 | Write flag/merker byte |
| 0x0A | Read PLC status (STOP/RUN) |
| 0x10 | PLC start (warm restart) |
| 0x11 | PLC stop |
| 0x18 | Password challenge |
Timing Constraints
AS511 was designed for STEP 5 programming, not continuous polling. Critical timing parameters for SCADA integration:
- Inter-character timeout: 220 ms — pause that indicates end of a telegram
- Block turnaround time: 1500 ms — recommended minimum between requests to avoid CPU STOP on some firmware revisions
- Maximum read length: 64 data bytes per request (32 words)
SCADA Software Comparison for S5 Connectivity
The selection of a SCADA package should consider the number of I/O tags, licensing model, and the maturity of the S5/AS511 driver. The table below lists commonly deployed SCADA packages that maintain S5 support as of recent vendor releases.
| SCADA Package | Vendor | S5 Protocol Supported | Licensing | Driver Maturity | Notes |
|---|---|---|---|---|---|
| Winlog Lite / Pro | Codeem S.r.l. | AS511 (built-in driver) | Lite: free, 32 tags / Pro: per-tag | Mature, free version available | Italian origin, intuitive tag editor, recommended for very small installations |
| Movicon / Movicon.NEXT | Progea S.r.l. (Modena, Italy) | AS511, Siemens MPI (via S7 driver), OPC | Per-tag, per-server | Industrial-grade, full-featured | Recommended for installations > 200 tags requiring redundancy |
| WinCC (TIA) | Siemens | No native S5 driver (requires S7/OPC bridge) | Per-tag | N/A for direct S5 | Bridge S5 to S7-1200/1500 first, then connect to WinCC |
| Zenon (COPA-DATA) | COPA-DATA GmbH | AS511 via 3964R driver, OPC | Per-tag | Industrial-grade | Strong redundancy, IEC 62443 |
| iFIX / Proficy HMI/SCADA | Emerson | OPC, OPC UA bridge to S5 | Per-tag | Mature | Bridge required for direct S5 |
| FactoryTalk View | Rockwell Automation | OPC, OPC UA | Per-display | Mature | Bridge required for direct S5 |
| Citect / AVEVA Plant SCADA | AVEVA | OPC, OPC UA | Per-tag | Mature | Bridge required for direct S5 |
| Atlas / IWS | ABB | OPC, OPC UA | Per-tag | Mature | Bridge required for direct S5 |
For a small standalone application (one S5, < 50 tags, no redundancy), Winlog Lite is the most economical entry point. For an industrial plant with a long lifecycle expectation and IEC 62443 cybersecurity requirements, Movicon or Zenon is preferred.
Winlog Lite Configuration for Siemens S5
Winlog Lite is a free SCADA package from Codeem that includes a built-in AS511 driver. It is well suited to simple, single-CPU S5 retrofits with up to 32 internal tags.
Prerequisites
- Winlog Lite installed on a Windows 10/11 PC (32-bit application, runs in 64-bit compatibility)
- USB-to-TTY current-loop adapter (e.g., S5-USB-Adapter based on FTDI FT232)
- Siemens S5 in RUN with the PG port active (no programming software currently connected)
Step-by-Step: Adding an S5 Device
- Launch Winlog Lite and create a new project.
- Open the Configuration → Devices tree and right-click to add a Generic Device.
- Set the communication port to the COM port assigned to the TTY-USB adapter (verify in Windows Device Manager; typical values COM3-COM7).
- Set the baud rate to 9600, parity to even, 8 data bits, 1 stop bit.
- Select the driver Siemens S5 AS511 from the driver list.
- Define the PLC type (e.g., S5-95U) and the DB/DW addresses to be polled.
- Create Tag entries mapping each SCADA tag to the PLC address:
TagName | S5 Address | Type | Polling (ms)
--------------|--------------|--------|--------------
TEMP_REACTOR | DB10.DW0 | REAL | 1000
PUMP_RUN | DB10.DBX2.0 | BOOL | 500
VALVE_POS | DB10.DW4 | INT | 1000
ALARM_BITS | DB10.DBW6 | WORD | 1000
- Build the HMI screens using the Winlog template library.
- Save the project and run the Gateway service in the background.
- Click Run to start live data acquisition.
Verification
Trigger a value change in the S5 STEP 5 program (e.g., write a value to DB10.DW0 with the PG) and confirm the SCADA tag updates within one poll interval. The Winlog Diagnostic window displays a green status indicator and a counter of successful transactions.
Movicon Configuration for Siemens S5
Movicon (Progea) is the more capable industrial SCADA, supporting redundancy, web clients, and OPC. The configuration steps differ from Winlog.
Step-by-Step: S5 AS511 Link
- Install Movicon.NEXT and license the appropriate I/O tag count.
- Open the Studio environment and create a new project.
- From the Communication Drivers catalog, add Siemens S5 AS511.
- Configure the COM port, baud rate (9600), and parity to match the S5 PG port.
- Define Stations for each S5 CPU (Station 0 by default for a single S5).
- Create Tags and bind them to driver addresses using the Movicon variable editor:
Variable | Station | Driver Address | Type | Scan (ms)
---------------|---------|-------------------|---------|----------
TankLevel | 0 | DB20.DBD0 (REAL) | REAL | 1000
HeaterEnable | 0 | DB20.DBX4.0 | BOOL | 500
RecipeStep | 0 | DB20.DBW6 | INT | 1000
ProductionCnt | 0 | MW100 | INT | 2000
- Use the Movicon Real-Time DB for trending and the Historical DB for SQL/Oracle archiving.
- Build screens with the Movicon symbol library.
- Run the project in Runtime mode.
Tag and Address Mapping Reference
The translation between STEP 5 syntax and SCADA tag addresses is a frequent source of errors. Use this mapping table as a cross-check during commissioning.
| STEP 5 Operand | Meaning | AS511 Driver Address Format |
|---|---|---|
| DB n DBW x | Data word in DB n, offset x | DBn.DBWx |
| DB n DBD x | Data double-word (REAL) in DB n, offset x | DBn.DBDx (REAL) |
| DB n DBX x.y | Data bit in DB n, byte x, bit y | DBn.DBXx.y (BOOL) |
| MW x | Flag word (Merker) | MWx |
| M x.y | Flag bit | Mx.y |
| I x.y | Input bit | Ix.y |
| Q x.y | Output bit | Qx.y |
| IW x | Input word | IWx |
| QW x | Output word | QWx |
| EW x | Extended I/O word | EWx (P area) |
| AW x | Extended I/O word | AWx (P area) |
Hardware Wiring: TTY Current-Loop to USB
The Siemens PG port is a 25-pin Sub-D with 20 mA current loop signaling, not RS-232. The wiring below shows the standard pinout and the corresponding connections to a USB-TTY adapter.
The current loop must be active on at least one side. Some S5 CPU models (e.g., S5-115U with later firmware) provide an internally powered loop; older S5-90U/95U/100U CPUs require the SCADA adapter to be the active source. Configure jumper/switch on the USB-TTY adapter per its manual before connecting.
Troubleshooting Matrix
| Symptom | Probable Cause | Diagnostic Step | Resolution |
|---|---|---|---|
| SCADA shows "No Communication" | Wrong COM port, baud rate, or TTY current loop polarity | Verify Device Manager COM port; loopback test on adapter | Set correct COM port, 9600-8-E-1; reverse Tx/Rx on the TTY adapter if needed |
| Values read are mirrored (e.g., 0x1234 → 0x3412) | Byte-order mismatch in SCADA tag | Compare hex dump of read with PLC STEP 5 monitor | Swap byte order in tag definition (most SCADA drivers support a Word/Byte swap flag) |
| CPU enters STOP after SCADA connect | Polling too fast; firmware incompatibility with driver | Check S5 diagnostic buffer (ISTACK) for OB1 cycle time overrun | Increase poll period to ≥ 1 s; reduce tag count; verify driver uses correct command codes |
| DB addresses return error 0x0F (block not found) | DB is uninitialized or wrong DB number | Open DB in STEP 5 PG software and confirm number/length | Use a DB that has been generated and downloaded; correct DB number in SCADA tag |
| Communication works for 1-2 hours, then drops | USB-TTY adapter power save or COM buffer overflow | Windows Event Viewer; serial port monitor | Disable USB selective suspend; use adapter with industrial-rated FTDI chipset |
| Tags show 0 after restart of S5 (cold restart) | DB contents are non-retentive on cold start | Verify in STEP 5 that DB is declared with appropriate remanence | Move persistent data to flag/merker area (M) or use VB area for retentive storage |
| Intermittent timeouts under SCADA load | Multiple SCADA clients polling same CPU simultaneously | Check S5 OB1 cycle time and PG port utilization | Use a single communication server (e.g., OPC server) as the only SCADA gateway |
Verification and Commissioning Checklist
- Confirm CPU model and physical interface (PG port vs. CP module).
- Verify cable and current-loop polarity with a loopback test.
- Start the SCADA in offline mode and load the project.
- Place the CPU in RUN with at least one operational program.
- Switch the SCADA to online; confirm green status on the device.
- Force a value from STEP 5 and verify the SCADA tag updates within the poll period.
- Trigger a defined alarm condition in the S5 and confirm the SCADA generates the alarm with timestamp.
- Test loss of communication: unplug the cable and confirm the SCADA flags the tag as "Bad Quality" within the configured timeout (typically 3× poll period).
- Reconnect and confirm the SCADA resumes communication automatically.
- Record a baseline of the S5 CPU scan time before and after SCADA polling to detect CPU overloading.
Migration Considerations: From S5 Direct to Bridge-Based Architectures
As S5 spare parts and the supporting PC hardware age, plant owners often migrate the SCADA link to a bridge architecture:
This pattern keeps the S5 in place for I/O and logic while isolating the SCADA from the legacy serial protocol. The bridge runs on a hardened industrial PC (e.g., Siemens IPC227, Advantech UNO) with redundant power and a watchdog. Migration adds resilience but introduces a single point of failure: the bridge PC. Always deploy a second PC in standby or use a hardware redundancy solution such as Movicon's Power Redundancy license.
Cybersecurity Considerations
AS511 has no authentication and no encryption. Treat the PG port as a single-tenant, physically secured interface:
- Do not connect the SCADA PC directly to a corporate network.
- Place the SCADA PC in a Level-3 Purdue zone behind a firewall.
- Disable unused USB and serial ports on the SCADA host.
- If remote access is required, use a VPN or a jump host with MFA.
- For modernized plants, retire the direct AS511 link and use a Siemens CP 1430 (ISO-on-TCP) gateway, which is harder to impersonate from outside the cabinet.
Cost and Licensing Notes
| SCADA | Typical 500-tag License | Redundancy License | Annual Support |
|---|---|---|---|
| Winlog Lite | Free (up to 32 tags) | N/A | N/A |
| Winlog Pro | Low cost (per-tag, single server) | Not supported | Optional |
| Movicon.NEXT | Mid cost (per-tag, per-server) | Per-redundant-server add-on | Typically 15-20% of license / year |
| Zenon | Mid to high cost | Built-in to enterprise license | Per-vendor agreement |
For a 1-S5, 50-tag visualization project, Winlog Lite delivers a complete solution at zero software cost; the only expense is the USB-TTY adapter and a Windows PC. For 500+ tags or plant-wide rollouts, Movicon and Zenon are the typical choices.
What is the simplest SCADA package for a single Siemens S5 with a few tags?
Winlog Lite from Codeem is the simplest option. It includes a built-in AS511 driver, supports up to 32 internal tags, and is free for small installations. Connect the S5 PG port to a USB-TTY current-loop adapter, configure the COM port at 9600-8-E-1, and define tags against DB, MW, I, or Q addresses.
Can I connect a Siemens S5 directly to modern WinCC or TIA Portal?
No. TIA Portal and WinCC (TIA) do not include native S5 drivers. To use these tools, add a bridge: a third-party OPC server (Kepware, Matrikon, or the S5 driver inside Movicon) translates AS511 to OPC UA, or insert an S7-1200/1500 between the S5 and WinCC using PROFINET and tag mapping.
What is the difference between AS511 and the Siemens PG protocol?
AS511 is the PG protocol used by STEP 5 for programming, diagnostics, and online monitoring. It runs at 9600 baud over a 20 mA current loop and supports DB/M/I/Q read/write plus CPU start/stop. The Siemens MPI protocol used by S7 is a different protocol running on RS-485 at 187.5 kbaud or higher; S5 CPUs do not speak MPI.
Why does my S5 CPU go into STOP when the SCADA polls too often?
The S5-90U/95U/100U CPUs have limited cycle headroom and AS511 was designed for occasional PG use, not continuous polling. Reduce the SCADA poll period to 1 s or longer, lower the number of tags polled per cycle, and verify with the ISTACK diagnostic buffer that OB1 cycle time is below 80% of the watchdog time.
Is AS511 secure enough for an industrial plant?
No. AS511 has no authentication, no encryption, and no integrity check beyond a single BCC byte. Treat any S5 PG port as a single-tenant, physically secured interface. For plants requiring IEC 62443 or NIST 800-82 compliance, retire the direct AS511 link and use a CP 1430 ISO-on-TCP bridge, a S7 gateway, or a hardened OPC server with role-based access.