CP 443-5 RS-232 RS-485: S7-400 Serial Communication Guide

David Krause13 min read
Serial CommunicationSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Problem Definition: Why CP 443-5 Cannot Read RS-232/RS-485 Serial Data

The question "Can I read data on RS-232 or RS-485 using CP 443-5?" is one of the most common misapplications of the SIMATIC S7-400 communication processor family. CP 443-5 is a Profibus DP master module designed exclusively for the Profibus protocol on a two-wire RS-485 physical layer; it does not expose a general-purpose serial character stream that a user program can read as ASCII or Modbus frames. Confusing the physical connector (a 9-pin Sub-D that happens to be wired to RS-485 transceiver pins) with a programmable UART is the root cause of the question.

The CP 443-5 implements Profibus DP-V0/V1 master functionality according to IEC 61158/EN 50170. Its on-board ASIC is the Profibus ASPC2 (or its successor, the DPC31) - a hardware state machine that handles token passing, telegram encoding (NRZ, 9.6 kbit/s to 12 Mbit/s), and DP slave diagnostics. There is no accessible shift register, no user-configurable baud rate generator, and no Modbus RTU interpreter inside the module. Trying to "tap" serial traffic from the CP 443-5 is therefore architecturally impossible without a separate Profibus-to-serial gateway.

Hard rule: The CP 443-5's 9-pin Sub-D port carries Profibus DP signals on pins 3 (B-line) and 8 (A-line). It does not carry TXD/RXD on pins 2/3 the way a PC COM port does. Wiring an RS-232 device to it will damage the transceiver or, at best, yield silent bus errors.

CP 443 Module Family Identification

Before selecting any alternative, verify exactly which CP 443 variant is installed in the S7-400 rack. Each variant is dedicated to one bus type:

Module Order Number (typical) Bus Type Serial Read Capability
CP 443-1 6ES7443-1EX20-0XE0 Industrial Ethernet (PROFINET-capable variants) No
CP 443-1 Advanced 6ES7443-1EX40-0XE0 Industrial Ethernet + IT functions No
CP 443-5 Basic 6ES7443-5DX02-0XE0 Profibus DP Master (basic) No (Profibus only)
CP 443-5 Extended 6ES7443-5DX04-0XE0 Profibus DP Master + diagnostics + DPV1 No (Profibus only)
CP 443-6 (S7-400H only) 6ES7443-6BX00-0XE0 Profibus for redundant S7-400H No (Profibus only)

Note the consistent answer across the family: none of these modules presents a user-accessible serial UART. The selection below therefore must come from outside the CP 443 family.

Solution 1: Install a CP 441 Serial Communication Module

The Siemens-designated answer to point-to-point serial communication on the S7-400 is the CP 441 module family. The CP 441 plugs into any free slot in the S7-400 central rack or expansion rack, occupies 16 bytes of I/O address space (configurable), and provides one or two fully programmable serial channels.

CP 441 Variants

Module Order Number Channels Interfaces Supported
CP 441-1 6ES7441-1AA04-0AE0 1 RS-232-C (V.24), RS-422/RS-485 (X27)
CP 441-2 6ES7441-2AA04-0AE0 2 RS-232-C, RS-422/RS-485 (independent per channel)

Both modules use a 15-pin Sub-D female connector on the front panel. The interface type is selected by inserting the appropriate sub-module (T-socket adapter) shipped with the module: a V.24 adapter for RS-232, or an X27 adapter for RS-422/485. Each adapter is a small PCB that converts the internal TTL-level UART to the differential signaling required by RS-485.

The CP 441 supports ASCII, 3964(R), and RK-512 protocols natively through loadable drivers. Modbus RTU and Modbus ASCII master/slave drivers are available as a separately licensed option (see "Modbus Master/Slave for CP 441", order number 6ES7870-1AA01-0YA0).

CP 441 Technical Specifications

Parameter Value
Baud rates 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 76800, 115200 bit/s
Frame formats 7E1, 7E2, 7O1, 7O2, 7N1, 7N2, 7S1, 7M1, 8E1, 8E2, 8O1, 8O2, 8N1, 8N2, 8S1, 8M1 (data/parity/stop)
Max cable length RS-232 15 m (EIA-232 limit)
Max cable length RS-485 1200 m at ≤ 93.75 kbit/s (per EIA-485)
Max nodes on RS-485 32 unit loads (expandable with repeaters)
Isolation Galvanic isolation between channel and backplane
Power consumption (CP 441-1) 5 V × 350 mA + 24 V × 100 mA
Operating temperature 0 °C to +60 °C
Receive buffer per channel 1024 bytes (FIFO)
Diagnostic buffer 100 entries (ring buffer)

Solution 2: Profibus-DP to Serial Gateway

If installing a CP 441 is not feasible (slot full, budget, lead time), a Profibus-DP slave gateway can convert serial traffic into Profibus cyclic I/O. The CP 443-5 polls the gateway like any DP slave and presents the received bytes in the process image.

Common third-party gateways include:

  • Siemens DP/AS-i Link 20E (6GK1415-2AA10) - bridges DP to AS-Interface, not directly serial but useful for low-level sensor data.
  • Helmholz RPI 3964R-DP gateway - converts RS-232/422/485 to Profibus DP, supports 3964R protocol.
  • ProSoft Technology ILX34-PBM - Modbus RTU master/slave on RS-232/485 to Profibus DP.
  • Woodhead/Brad Harrison APBI-DP - generic serial-to-DP bridge.

The functional penalty: only a small cyclic data window (typically 32-244 bytes per direction, depending on DP configuration) is passed through. Frames longer than that must be segmented in the PLC user program. There is no native Modbus RTU master - the gateway emulates one with a limited buffer, and timing characteristics differ from a CP 441 (DP scan time vs. serial byte time).

Solution 3: Smart Profibus Slave with Integrated Serial Port

A low-cost alternative is a Profibus DP slave that exposes a serial port on its own front panel. The Siemens ET 200S with a 1SI serial interface module (6ES7138-4DF01-0AB0) is a textbook example. It sits on the Profibus network as a slave, and the PLC reads/writes the serial bytes as 32 bytes of cyclic I/O.

Configuration steps:

  1. Mount the ET 200S IM 151-1 (Profibus interface module) on DIN rail.
  2. Add the 1SI serial module in a free slot of the ET 200S.
  3. Insert the appropriate Siemens serial sub-module (RS-232 6ES7138-4DF00-0AB0 or RS-422/485 6ES7138-4DF01-0AB0).
  4. Configure the 1SI in STEP 7 with HW Config: assign Profibus address, set baud rate, protocol (ASCII, 3964R, Modbus RTU master/slave).
  5. Read incoming bytes from the 1SI's input word range via standard SFC 14 / SFC 15 calls.
  6. Configure CP 443-5 as the DP master and ensure the ET 200S GSD file is installed in the STEP 7 catalog.

This approach leverages the existing CP 443-5 without firmware changes. The CP 443-5 continues to act as DP master; the 1SI looks like a 32-byte I/O slave. The trade-off is increased Profibus cycle load and the inability to support protocols longer than the 32-byte window per cycle.

RS-232 vs RS-485: Electrical and Protocol Differences

Before connecting any device, match the electrical standard exactly. Mismatched signaling is the #1 cause of "I connected it but got no data" calls.

Parameter RS-232 (EIA-232) RS-422 (EIA-422) RS-485 (EIA-485)
Topology Point-to-point Point-to-multipoint, full-duplex Multidrop, half-duplex (2-wire) or full-duplex (4-wire)
Differential Single-ended Differential Differential
Max nodes 1 driver + 1 receiver 1 driver + 10 receivers 32 unit loads (256 with repeaters)
Max cable length 15 m at 19.2 kbit/s 1200 m at 100 kbit/s 1200 m at 100 kbit/s
Voltage swing ±3 V to ±15 V (TX) ±2 V min (RX) ±1.5 V min (RX), ±5 V max
Logic levels Mark = -3 to -15 V, Space = +3 to +15 V (inverted from TTL) A-B > +200 mV = MARK, < -200 mV = SPACE Same as RS-422
Connector (Siemens CP 441) V.24 adapter (DB-15 male) X27 adapter (DB-15 male) X27 adapter (DB-15 male)
Termination None required 100 Ω across each pair at receiver end 120 Ω across A-B at both ends, plus 390 Ω pull-up/pull-down bias

RS-485 termination pitfalls: A Profibus network uses 220 Ω termination; a generic RS-485 Modbus network uses 120 Ω. Mixing the two resistor values on the same cable changes the impedance and produces signal reflections. See the Siemens TIA Portal documentation on RS232/RS422/RS485 for the wiring diagrams applicable to SIMATIC interfaces.

CP 441 Configuration in STEP 7 / TIA Portal

Configuration is identical conceptually between classic STEP 7 V5.5 and STEP 7 (TIA Portal) V16+. The procedure below uses TIA Portal nomenclature.

Hardware Configuration

  1. Open the S7-400 station in the project tree.
  2. In the device view, drag the CP 441-1 or CP 441-2 from the catalog (Hardware Catalog → SIMATIC S7-400 → Communication → CP 441) into a free slot.
  3. Right-click the module → Properties → "Serial Interface" tab.
  4. Select the interface type: V.24 (RS-232) or X27 (RS-422/485).
  5. Set the baud rate, parity, data bits, stop bits, and the protocol driver (ASCII, 3964R, RK-512, or Modbus master/slave).
  6. Compile the hardware configuration and download to the CPU.
  7. Note the I/O start address (LADDR) shown in the device view - this is the parameter passed to FB 7/FB 8.

Software Interface (LAD/FBD/ST)

Two function blocks are needed: FB 7 "P_RCV_RK" / "P_RCV" for receiving, and FB 8 "P_SND_RK" / "P_SND" for transmitting. Both are supplied with the CP 441 Param tool and copied into the project during the CP 441 setup wizard.

// Receive ASCII data on CP 441-1, channel 1
DATA_BLOCK DB_PRCV
STRUCT
   START    : BOOL;          // start trigger
   DONE     : BOOL;          // operation complete
   ERROR    : BOOL;          // error flag
   STATUS   : WORD;          // status word (0x0000 = OK)
   LADDR    : INT  := 256;   // I/O start address from HW config
   DB_NO    : INT  := 100;   // receive DB
   DBB_NO   : INT  := 0;     // start byte in DB
   LEN      : INT  := 200;   // max bytes to receive
   RCV_T    : DWORD := T#2s; // timeout
END_STRUCT
END_DATA_BLOCK

CALL "P_RCV", DB_PRCV
   START  := M10.0
   DONE   := M10.1
   ERROR  := M10.2
   STATUS := MW12
   LADDR  := 256
   DB_NO  := 100
   DBB_NO := 0
   LEN    := 200
   RCV_T  := T#2s

The STATUS word is the prime diagnostic: 0x0000 = OK, 0x0E01 = receive timeout, 0x0E02 = framing error, 0x0E03 = parity error, 0x0E08 = buffer overflow. Cross-check against the CP 441 manual's STATUS table.

Serial Protocol Selection on CP 441

Protocol Driver FB Use Case Notes
ASCII FB 7/FB 8 with open frame length Generic SCPI instruments, weigh scales, barcode readers No handshake by default; XON/XOFF or hardware handshake optional
3964R FB 9/FB 10 (built-in) Siemens S5, third-party PLC peer-to-peer Uses STX/ETX + BCC; full-duplex RS-422 only
RK-512 FB 11/FB 12 (built-in) S5/S7 point-to-point with block-oriented access Requires CP 441 firmware ≥ V4.0
Modbus RTU master FB 7/FB 8 with Modbus master driver Poll Modbus slaves (flow meters, drives) Requires license 6ES7870-1AA01-0YA0
Modbus RTU slave FB 7/FB 8 with Modbus slave driver Expose S7-400 data to a Modbus master Same license covers master/slave
Custom protocol FB 13/FB 14 (transparent) Proprietary protocols; raw byte streaming Most flexible; most programming work

Wiring and Termination

For RS-485 multidrop Modbus, the correct termination is non-negotiable. A standard Profibus purple cable uses 220 Ω; a generic RS-485 cable (e.g., Belden 3106A) uses 120 Ω. Never reuse Profibus segments for serial traffic without re-terminating.

Bias resistors (typically 560 Ω to +5 V on A and 560 Ω to GND on B, or 390 Ω + 680 Ω divider pairs) must be present to keep the bus in a defined idle state. The AutomationDirect ACN drive RS-485 wiring chapter shows a textbook bias + termination network for a master-side terminator.

Safety note: The CP 441's 15-pin Sub-D is not pin-compatible with a PC DB-9. A "straight-through" cable between the CP 441 and a laptop COM port will produce shorts and possibly damage the CP 441's transceiver IC. Use only Siemens-supplied or Siemens-documented cable assemblies (6ES7902-1AB00-0AA0 for RS-232, 6ES7902-3AB00-0AA0 for RS-485).

Modbus RTU Master Example on CP 441

Reading a Modbus holding register from a flow meter (slave address 17, register 0x0001) using CP 441 requires only the licensed Modbus driver plus one FB call per transaction.

// Function code 03 (Read Holding Registers), slave 17, register 1, count 2
CALL "MODB_MAST" , DB_MODB
   REQ    := M20.0           // rising edge starts the transaction
   CONT   := TRUE            // keep CP active between calls
   LADDR  := 256             // CP 441 I/O start address
   SLAVE  := 17              // Modbus slave address
   MODE   := B#16#03         // function code 03
   DATA_PTR := P#DB100.DBX0 BYTE 6  // Tx/Rx buffer: 1B slave + 1B FC + 2B start + 2B count
   DONE   := M20.1
   ERROR  := M20.2
   STATUS := MW22
   WRITE_READ := FALSE       // read operation

For multi-slave polling, increment the SLAVE parameter inside an FB cycle and call MODB_MAST cyclically at OB1 priority. Response bytes land at DATA_PTR + 5 of the user buffer. See the Modbus Master/Slave for CP 441 manual for the full buffer layout and STATUS codes.

Troubleshooting Matrix

Symptom Probable Cause Diagnostic Step Fix
CP 443-5 reports "Bus fault" when serial device is wired Wired to wrong pins (Profibus A/B on CP 443-5 instead of UART pins) Verify pinout: CP 443-5 uses 3/8 for Profibus A/B; CP 441 uses 4/11 for RS-485 A/B on the X27 adapter Re-route cable to CP 441 module
P_RCV returns STATUS 0x0E02 (framing error) intermittently Baud rate mismatch or noise Loop back TX→RX on bench; verify with oscilloscope Match baud, add termination, separate from VFD cables
P_RCV STATUS 0x0E08 (overflow) CP 441 receive buffer (1024 B) overflows because PLC cycle > serial frame rate Monitor OB1 cycle time vs. frame interval Increase priority of P_RCV OB; raise CPU scan rate
Modbus slave responds but CRC fails Parity/data-bit mismatch (most slaves are 8E1; some are 8N1) Decode a known-good frame on a logic analyzer Set CP 441 to match device exactly
DP gateway passes data only in one direction Gateway configured as "DP slave, only input" because DP master omitted output config Open HW Config of CP 443-5, check slot configuration of gateway Enable output bytes in slave GSD file
CP 441 SF LED on, BF LED off, no comms Interface sub-module (V.24 / X27) not seated Power down, reseat the adapter PCB Re-seat or replace adapter
RS-485 works at 9600 baud but fails at 115200 Cable too long or wrong impedance Measure cable capacitance; verify 120 Ω termination Shorten cable or reduce baud to ≤ 38400
Garbage bytes when PLC starts up Receive DB is uninitialized; first read returns whatever is in memory Initialize DB at startup; check DBB_NO offset Clear DB in OB100; verify LEN parameter
P_SND returns 0x0E04 (handshake error) CTS/RTS hardware handshake not enabled at both ends Verify flow-control jumpers on the V.24/X27 adapter Enable hardware flow control in CP 441 properties

Commissioning Verification Steps

After configuring the CP 441, perform the following sequence to verify the serial channel:

  1. Connect a loopback plug (TX → RX on the same channel) and verify P_SND/P_RCV returns STATUS 0x0000 with the test pattern intact.
  2. Remove loopback; connect the actual field device. Verify that the SF LED on the CP 441 is OFF.
  3. Trigger a single transmit from the CPU and confirm the device receives the bytes (logic analyzer on the line).
  4. Trigger a receive from the device and confirm P_RCV DONE bit sets within the configured timeout.
  5. Run the system for 24 hours with diagnostics enabled (CP 441 → Properties → Diagnostics → "Frequent diagnostics") and review the CP 441 event log via the CP 441 Param tool.
  6. If Modbus RTU, run a single register poll continuously for 1 hour and compare CRC failures to total transactions; allow < 1 error per 100,000 frames for a healthy link.

Frequently Asked Questions

Can I add a CP 441 in addition to an existing CP 443-5?

Yes. S7-400 supports up to 4 communication processors per CPU (the CPU 416 supports 4 CPs, the CPU 414 supports 2 - check the specific CPU's datasheet). The CP 441 occupies one slot and one logical address range independent of the CP 443-5.

Is RS-485 multidrop possible on the CP 441?

Yes, in half-duplex mode using the X27 adapter with 2-wire wiring (A and B lines only). Up to 32 slave devices can be addressed on one segment; use a repeater (e.g., 6ES7972-0AA01-0XA0) to extend beyond 32 nodes or to bridge segments with different baud rates.

What's the difference between CP 441 and CP 341?

CP 341 is the S7-300 variant (1 channel), CP 441 is the S7-400 variant (1 or 2 channels). Both share the same protocol stack and FB 7/8 interface; CP 441 simply supports the higher backplane bandwidth of the S7-400 and provides dual channels on the -2 variant.

Does CP 441 support Modbus TCP?

No. Modbus TCP is an Ethernet protocol and requires CP 443-1 with the Modbus TCP PN coupler or a CM/CP from the S7-1500 family. CP 441 is strictly Modbus RTU/ASCII over RS-232/RS-485.

What's the maximum baud rate on CP 441?

115200 bit/s with the latest firmware (V4.0 or higher). Earlier firmware versions were limited to 38400 bit/s. Verify firmware via the CP 441 Param tool's diagnostics tab or by reading the module's MLFB in HW Config.

Back to blog