Overview
The Siemens SIMATIC S7-1200 family supports serial point-to-point (PtP) communication through the CM 1241 communication module family. The CM 1241 RS232 (article number 6ES7241-1AH32-0XB0) plugs onto the left side of the CPU 1214C and provides an isolated RS-232C interface for free-port protocols, Modbus RTU master/slave, USS, and 3964(R). The module is detected and configured inside the TIA Portal Device View, not the Network View, because RS-232 is treated as a point-to-point channel rather than a routed subnet.
This article walks through the exact configuration path for a CPU 1214C plus a CM 1241 RS232 inside TIA Portal V13 SP1 (and later), identifies compatible firmware/tooling combinations, and documents the programming entry points used to forward a message received on the PROFINET port out through the RS-232 module.
Prerequisites
- One SIMATIC S7-1200 CPU 1214C, any of the following order numbers:
-
6ES7214-1AG31-0XB0— AC/DC/Relay (1214C DC/DC/Rly, firmware V4.x) -
6ES7214-1AG40-0XB0— AC/DC/Relay (F-suffix models and most V4.x production runs) -
6ES7214-1HG31-0XB0— DC/DC/DC (1214C DC/DC/DC, firmware V3.x or V4.x) -
6ES7214-1HG40-0XB0— DC/DC/DC (current production, firmware V4.x)
-
- One CM 1241 RS232 (
6ES7241-1AH32-0XB0) — backplane-mounted to the left of the CPU. - STEP 7 Professional V13 SP1 or later (V15, V15.1, V16, V17, V18 are also compatible with the same article number). Update 9 of V13 SP1 is the lowest recommended patch level for new deployments.
- A 24 V DC power supply sized for the CPU plus the CM 1241 (the CM draws approximately 100 mA from the backplane, with no external 24 V required for the module itself; verify with the catalog data sheet).
- RS-232 cable terminated to the device you are connecting to (DCE/DTE aware — see the wiring section below).
Hardware Identification
Two order-number variants of the CM 1241 RS232 exist:
| Article Number | Firmware | Released With | Status |
|---|---|---|---|
6ES7241-1AH30-0XB0 |
V1.0 | CPU firmware V1.0–V2.x | Discontinued |
6ES7241-1AH32-0XB0 |
V2.0 | CPU firmware V3.0 and later | Current production |
The user's reported part number 6ES7241-1AH32-0XB0 is the current production article and is fully supported by the CPU 1214C. The -40- mid-section in the CPU part number is a firmware/revision marker, not a hard compatibility barrier: TIA Portal V13 SP1 Update 9 and later will see and configure all of the listed CPU part numbers. Earlier Update levels may flag the V4.x CPUs as "unknown module" and refuse to add the CM.
Step-by-Step Configuration in TIA Portal
Step 1 — Create the device
- Open TIA Portal and create a new project.
- From the project tree, choose Add new device > SIMATIC S7-1200 > CPU > CPU 1214C > <your article number>.
- Confirm the firmware version that TIA Portal selects matches what is actually loaded in the physical CPU (visible in Online & diagnostics > Module information).
Step 2 — Open the Device View (not the Network View)
Selecting the CPU in the project tree and double-clicking Device View opens the hardware editor with the CPU in the centre. The left slot of the CPU is reserved for communication modules (CM) and the right slot for signal boards (SB). The CM 1241 RS232 must be dragged into the left slot of the CPU; if the slot is already occupied by a CSM 1277 or another CM, the new module is rejected and shown in red.
Step 3 — Insert the CM 1241 RS232
- In the hardware catalog, expand Communication modules > CM 1241 > RS232.
- Drag the
6ES7241-1AH32-0XB0entry onto the highlighted slot to the left of the CPU. - Confirm the order number in the module's properties; TIA Portal will populate the diagnostic addresses automatically. The default input address is
256..257and the output address is256..257(configurable under Properties > I/O addresses). - Compile the hardware configuration (Project tree > CPU > Compile > Hardware (rebuild all)) to surface any catalog mismatches.
Step 4 — Configure the port
Open Properties > Port configuration on the CM 1241 and set:
| Parameter | Value | Notes |
|---|---|---|
| Baud rate | 300 to 115 200 bit/s | Drop-down list. Common defaults: 9 600, 19 200, 38 400. |
| Parity | None / Even / Odd | Match the partner device exactly. |
| Data bits | 7 or 8 | 8 is the default for Modbus RTU. |
| Stop bits | 1 or 2 | 2 stop bits only valid with 7 data bits and no parity (e.g. 7E2, 7O2 not allowed by Siemens — only 7E1/7O1/7N2/8N1/8E1/8O1 etc.). |
| Flow control | None / XON-XOFF / RTS-CTS (hardware) | CM 1241 RS232 supports hardware (RTS/CTS) and software (XON/XOFF) handshaking. |
| Receive line initial state | Low / High | Defines idle state for break detection. |
| End of receive criteria | Character delay time / Message timeout / Maximum length | Use the "End by message timeout" setting with a value slightly greater than the worst-case inter-character gap on the partner side (typical: 4 × character time). |
Step 5 — Download the project
Connect the PROFINET port of the CPU to the engineering PC, right-click the device, and choose Download to device > Hardware and software (only changes). After successful download, the CM 1241's diagnostic LED should transition from flashing green (no configuration) to solid green (configured and ready).
Programming Point-to-Point Communication
The CM 1241 is programmed through the Point-to-Point instruction set inside the CPU's program blocks. Open a new function block (FB or OB) and insert instructions from the Communication > Communication processor > Point-to-Point palette.
Receive
Use the RCV_PTP instruction (or the legacy RCV_CFG + RCV_REC pair on older firmware):
// SCL example: receive up to 200 bytes from the CM 1241 RS232
"rcvBuffer" : ARRAY[0..199] OF BYTE;
#rcvInst(REQ := TRUE,
PORT := 269, // CM 1241 hardware identifier from device configuration
BUFFER := "rcvBuffer",
LENGTH := 200,
DONE => #rcvDone,
ERROR => #rcvError,
STATUS => #rcvStatus);
The PORT parameter is the CM 1241's hardware identifier, not the diagnostic I/O address. Locate it under Properties > System constants on the CM 1241. Typical value: 269 for the first CM 1241 in the left slot.
Transmit
Use the SEND_PTP instruction (or SEND_CFG + SEND for legacy firmware):
"sendBuffer" : ARRAY[0..99] OF BYTE;
#sendLen := 12; // actual length of the frame to send
#sendInst(REQ := #triggerSend,
PORT := 269,
BUFFER := "sendBuffer",
LENGTH := #sendLen,
DONE => #sendDone,
ERROR => #sendError,
STATUS => #sendStatus);
Status / Error Word Interpretation
The STATUS output of the SEND/RCV instructions returns a 16-bit word. The most common values encountered on the CM 1241 RS232:
| STATUS (hex) | Meaning | Corrective Action |
|---|---|---|
0000 |
No error, no operation in progress | — |
0001 |
Send/receive in progress | Wait for DONE |
7000 |
No job active, REQ = FALSE | Normal idle |
8085 |
Wrong PORT (hardware ID) or wrong LENGTH | Verify system constant for PORT; ensure LENGTH > 0 |
80A1 |
Receive buffer too small for incoming frame | Increase BUFFER length; verify "End of receive criteria" |
80C0 |
Framing error (parity / stop bits mismatch) | Recheck port configuration against partner device |
80C1 |
Overrun (CTS dropped, cable issue, baud rate too low) | Verify cable shielding, RTS/CTS jumper on partner |
80D0 |
Hardware fault (RS232 line shorted or out of spec) | Check receiver input voltage ≤ ±30 V DC; check isolation |
Architecture: Ethernet-to-RS232 Message Forwarding
The target application described in the original question — reader on PROFINET, PLC, downstream RS-232 device — maps cleanly to the S7-1200's two-port nature:
[Reader / Barcode scanner] ---PROFINET--> [S7-1200 CPU 1214C PROFINET port]
|
| (user program:
| Parse -> Modify -> SEND_PTP)
|
[CM 1241 RS232 (6ES7241-1AH32-0XB0)]
|
[RS-232 cable: TxD/RxD/GND]
|
[Downstream device]
Implementation pattern:
- Receive the reader's TCP/UDP frame on the PROFINET port using TSEND_C/TRCV_C or an open user communication connection.
- Parse and rewrite the message inside the user program.
- Hand the resulting byte array to SEND_PTP on the CM 1241 RS232.
Wiring the CM 1241 RS232
The CM 1241 RS232 ships with a 9-pin sub-D male connector with the standard DTE pinout:
| Pin | Signal | Direction |
|---|---|---|
| 1 | DCD | Input |
| 2 | RxD | Input |
| 3 | TxD | Output |
| 4 | DTR | Output |
| 5 | GND (signal ground) | — |
| 6 | DSR | Input |
| 7 | RTS | Output |
| 8 | CTS | Input |
| 9 | RI | Input |
For a point-to-point link to a DCE (modem-style) device, use a straight-through cable. For a link to another DTE (e.g. another PLC, a PC's COM port), use a null-modem (crossover) cable that swaps TxD↔RxD and RTS↔CTS. Maximum recommended cable length is 15 m per the EIA/TIA-574 specification, though in practice 3 m is typical in panel wiring.
CM 1241 RS232 Specifications
| Parameter | Value |
|---|---|
| Article number | 6ES7241-1AH32-0XB0 |
| Interface type | RS-232C, DTE, 9-pin sub-D male |
| Receiver input voltage | ±30 V DC maximum |
| Baud rates supported | 300, 600, 1 200, 2 400, 4 800, 9 600, 19 200, 38 400, 57 600, 76 800, 115 200 bit/s |
| Isolation (RS232 signal to chassis ground) | 707 V DC (type-tested) |
| Isolation (RS232 signal to CPU logic common) | 707 V DC (type-tested) |
| Power consumption from backplane | ≈ 100 mA at 5 V |
| Power loss | ≈ 0.5 W |
| Supported protocols | Freeport, 3964(R), Modbus RTU master/slave, USS |
| Max number per S7-1200 CPU | 1 on the left of the CPU (additional CMs/CPs require the left-most slot to be a CSM 1277 or another CM in the same family) |
For the full Siemens specification table see the official S7-1200 manual collection at the TIA Siemens Cloud S7-1200 CM 1241 RS232 specifications page.
Verification Procedure
- Online diagnostics: Mark the CM 1241 in the project tree and choose Online & diagnostics > Diagnostics. The "Status of module" must read OK. If it reads Not available or Fault, the hardware identifier is mismatched or the module has not received its configuration since the last download.
- LED check: DIAG LED solid green = configured and running. Slow flash green (0.5 Hz) = no configuration. Solid red or flashing red = fault; check STATUS word for cause.
- Loop-back test: Disconnect the partner cable, install a wire jumper between pin 2 (RxD) and pin 3 (TxD) on the D-sub, and run a SEND/RCV back-to-back in the watch table. The CPU should echo the same bytes back to the buffer. If the echo fails, the CM 1241 is faulty; if the echo succeeds, the problem is the partner wiring.
- Protocol-level test: Use a free port monitor on the partner PC (e.g. Docklight, AccessPort) to confirm the byte stream, frame delimiter, and inter-character delay match the partner device's expectations.
Troubleshooting Matrix
| Symptom | Likely Cause | Remedy |
|---|---|---|
| CM 1241 does not appear in the hardware catalog | Wrong TIA Portal version or HSP not installed | Install TIA Portal V13 SP1 Update 9 (or matching V15+ Update). For V4.x CPUs use V14 SP1 or later with the latest HSP. |
| CM 1241 is added but slot shows red | Slot conflict with another CM or with a CSM 1277 | Remove the conflicting module, ensure the CM 1241 is the leftmost communication device |
| DIAG LED flashes green, no communication | Configuration not downloaded | Download hardware and software; verify with Online & diagnostics |
| DIAG LED solid red | Hardware fault or out-of-range input voltage | Disconnect partner cable and re-check; verify receiver input ≤ ±30 V DC |
| STATUS = 0x80A1 on RCV_PTP | Receive buffer too small | Increase buffer size and verify "end of receive" criterion |
| STATUS = 0x80C0 on receive | Parity / framing mismatch | Compare port settings with the partner; check the cable for miswired lines |
| STATUS = 0x8085 on SEND/RCV | Wrong PORT hardware identifier | Use the value from Properties > System constants on the CM 1241 |
| Compile fails: "module not in catalog" | Catalog outdated for the article number | Install the latest Hardware Support Package (HSP) via Options > Support Packages |
| Reader receives garbage | Baud rate / parity mismatch or missing null-modem | Compare port settings; replace straight cable with null-modem for DTE-to-DTE |
| Intermittent timeouts at high humidity | Missing shield termination on RS232 cable | Bond shield at one end only (CPU side) using the D-sub backshell |
Edge Cases and Field Tips
-
Mixing firmware generations: A CM 1241 RS232
...AH30...(V1.0) is not interchangeable with...AH32...(V2.0) in a project whose CPU is on V4.x firmware. TIA Portal will accept either at design time but the V1.0 module will fail to start on the bus. - Slot chain length: The CPU has only one slot on the left for a CM. If you need two serial channels you must add a CB 1241 RS485 signal board (right side of the CPU) for the second channel — the slot to the left remains a single CM.
- Hot-swapping: The CM 1241 is not hot-swappable. Power down the CPU before insertion or removal; otherwise the CPU will detect a configuration change and stop.
-
Firmware update: A CM 1241
...AH32...can be firmware-updated online through TIA Portal Online & diagnostics > Firmware update. Use a firmware file at least as new as the one bundled with your TIA Portal version. - Isolation budget: The 707 V DC isolation between the RS-232 signal and the CPU logic common is the type-test value, not a continuous working voltage. For permanent installations keep the field-side RS-232 cable within the same equipotential bonding zone as the S7-1200 rack.
- Freeport framing: If you are not using Modbus RTU, leave "End of receive criteria" at the default Message timeout with a value of 4 × character time. Avoid "Character delay time" with low values when the partner may insert flow-control pauses.
Reference Documentation
- S7-1200 Manual Collection — CM 1241 RS232 Specifications
- S7-1200 Manual Collection — Using the Serial Communication Interfaces
FAQ
Why does my CM 1241 RS232 not appear in the TIA Portal Network View?
RS-232 is a point-to-point, non-routable interface, so TIA Portal models it only inside the Device View of the S7-1200 CPU. Open the hardware editor, drag the CM 1241 (article number 6ES7241-1AH32-0XB0) into the slot to the left of the CPU, and configure port parameters in its properties.
Can I use CM 1241 RS232 with both CPU 1214C order numbers 6ES7214-1AG31-0XB0 and 6ES7214-1HG31-0XB0?
Yes. Both AC/DC/Rly and DC/DC/DC variants of the CPU 1214C support the CM 1241 RS232, provided the CPU firmware is V3.0 or later. In TIA Portal V13 SP1 apply Update 9 or higher; for V4.x CPUs use TIA Portal V14 SP1 or later with the current Hardware Support Package.
What is the maximum baud rate on the CM 1241 RS232?
115 200 bit/s is the highest selectable rate in the TIA Portal port configuration for 6ES7241-1AH32-0XB0. The CM supports 300, 600, 1 200, 2 400, 4 800, 9 600, 19 200, 38 400, 57 600, 76 800, and 115 200 bit/s, with hardware (RTS/CTS) or software (XON/XOFF) flow control.
How do I find the correct PORT value for SEND_PTP and RCV_PTP instructions?
Select the CM 1241 in the Device View, open its properties, and switch to the System constants tab. The constant named Local~CM_1241_RS232_1~PORT (or similar) holds the hardware identifier — typically 269 for the first CM 1241 in the slot to the left of the CPU. Use that value as the PORT input on every SEND_PTP and RCV_PTP call.
My SEND_PTP returns STATUS 0x80C1 (overrun). What does it mean?
An overrun on the CM 1241 RS232 means a character arrived from the partner before the CPU finished reading the previous character from the UART FIFO. Verify that the partner's baud rate does not exceed the configured rate, that RTS/CTS is wired correctly when hardware handshaking is enabled, and that the shield of the RS-232 cable is terminated to the D-sub backshell on the CPU side.