SINUMERIK 810 RS-232 Cable and Handshake Troubleshooting

David Krause16 min read
Serial CommunicationSiemensTroubleshooting
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 Overview

Field engineers commissioning or restoring retired SINUMERIK 810 family controls (810M, 810T, 810D, 810 GA1/GA2/GA3) routinely hit a wall when attempting bidirectional RS-232 program transfer with a PC. The symptoms are consistent: read-out (control → PC) works while write-in (PC → control) either hangs, silently corrupts data, or returns the program to the operator panel clipboard instead of the part-program directory. The root cause is rarely single-parameter; it is a chain of mismatched decisions about cable topology, handshake method, baud rate, and program header format that must all align with the variant on the machine.

This reference collects the engineering constraints documented for the 810 platform and translates them into an actionable procedure for technicians and controls engineers. It covers hardware handshake (RTS/CTS) as the recommended baseline, the asymmetric 9600/1200 baud behavior of the 810M, the drip-feed limitation of early 810 firmware, and the program-header quirks that bite operators when they accidentally move from a 810M to a 810D.

Scope note. The 810M (milling) and 810T (turning) predate 810D and do not support the SINUMERIK Operate HMI. The 810D introduces a Windows-embedded HMI (HMI-CE), Ethernet network capability, and a different part-program header. Procedures in this article that mention "Daten EIN/AUS" softkey, M82/M30 framing, and 1200-baud write-in apply specifically to the 810M/810T pre-CE platform. Procedures that mention the 810D-style program header and Ethernet client apply to the 810D CE platform.

SINUMERIK 810 Family and Variant Identification

Variant Application HMI Drip Feed (DNC) Serial Handshake Ethernet
810M GA1/GA2 Milling 8-line text LCD, softkeys Not supported RTS/CTS (default) or XON/XOFF No
810T GA1/GA2 Turning 8-line text LCD, softkeys Not supported RTS/CTS (default) or XON/XOFF No
810M GA3 Milling 8-line text LCD, softkeys Not supported RTS/CTS (default) or XON/XOFF No
810D (pre-CE) Milling/Turning Operator panel, basic menus Limited (firmware-dependent) RTS/CTS or XON/XOFF Optional add-in client
810D CE Milling/Turning SINUMERIK HMI-CE (Win-style) Supported RTS/CTS or XON/XOFF Yes (with Ethernet client)

Before any RS-232 work, identify the variant printed on the operator panel configuration label or read via the Diagnosis > Service or STARTUP area. The 810M/810T will refuse drip-feed commands regardless of the PC-side DNC software; the 810D CE can accept part programs over Ethernet via an installed Ethernet client without using the RS-232 path at all.

RS-232 Interface Physical Layer

The 810 control exposes two RS-232-C (V.24) channels, both pulled out on the operator panel (Bedienpult). Both ports are implemented as female DB-25 connectors on the control side. The PC side is typically a male DB-9 (COM1/COM2) on a desktop or, in field service, a USB-to-RS-232 adapter on a laptop.

Signal V.24 Name DB-25 Pin (Control) DB-9 Pin (PC) Direction (DTE-DCE)
TXD Transmitted Data (D1) 2 3 Control → PC
RXD Received Data (D2) 3 2 PC → Control
RTS Request To Send (S2) 4 8 Control → PC
CTS Clear To Send (M2) 5 7 PC → Control
DSR Data Set Ready (M1) 6 Control → PC
SG Signal Ground 7 5 Common
DCD Data Carrier Detect (M5) 8 1 Control → PC
DTR Data Terminal Ready (S1) 20 4 PC → Control

The PC is wired as DTE throughout this article. The control behaves as DCE on the data lines but sources its own RTS for hardware handshake. Total cable length must remain under 15 m at 9600 baud and is recommended under 8 m at 19200 baud per the EIA-232-F signal-fade rule-of-thumb.

Cable Wiring Reference (DB-25 to DB-9 Null Modem)

A straight-through or "extension" cable labeled "null modem" will fail silently if it is actually only cross-pinning TX/RX without honoring RTS/CTS. Use the following minimum cross-strapping. The control end uses DB-25, the PC end uses DB-9.

Control DB-25 (Female) Function PC DB-9 (Female) Notes
2 (TXD) → TX to PC RX 2 (RXD) Crossover: data
3 (RXD) ← RX from PC TX 3 (TXD) Crossover: data
4 (RTS) → HW handshake out 8 (CTS) Crossover: handshake
5 (CTS) ← HW handshake in 7 (RTS) Crossover: handshake
7 (SG) Common return 5 (SG) Mandatory ground bond
6 ↔ 20 DSR to DTR loopback Optional DSR/DTR interlock (control side)
Adapters do not substitute for a crossover cable. A passive 25-to-9 gender changer with a 25-pin extension cord is not a null modem. The TX/RX and RTS/CTS crosses must be present in the cable itself. The same goes for off-the-shelf "serial printer cables" — most are straight-through.

Cable Wiring Schematic (SVG)

SINUMERIK 810 DB-25 Female PC COM1/2 DB-9 Female 2 TXD ● 3 RXD ● 4 RTS ● 5 CTS ● 7 GND ● ● 3 TXD ● 2 RXD ● 7 RTS ● 8 CTS ● 5 GND crossover (2↔3) crossover (3↔2) crossover (4↔8) crossover (5↔7) ground bond

Connector Location on the 810 Control

Connector Function Where to find it
X121 RS-232-C interface 1 (typically externally accessible) On the back of the operator panel (Bedienpult)
X131 RS-232-C interface 2 (typically internal to enclosure) Behind the operator panel cover or on the NC-UI module

On a 810M/810T retrofit the externally accessible D-Sub connector is X121. Interface 2 is generally reserved for the factory tape punch or for a hand-held terminal and may require the cabinet to be opened. Verify by reading the rack layout sticker on the operator-panel backplate; Siemens labels differ slightly between GA1, GA2, and GA3 revisions.

Handshake Protocol Selection

For 810M and 810T base hardware, the control supports two flow-control modes:

  • RTS/CTS (Hardware Handshake): The recommended mode. RTS from the sender rises when its buffer drops below low-water, requesting that the receiver resume. The receiver raises CTS when ready. On the control, the current mode is displayed by the Daten EIN/AUS softkey screen, which lists interface 1 and interface 2 with their selected handshake (RTS/CTS or XON/XOFF).
  • XON/XOFF (Software Handshake): The control transmits DC1 (XON, 0x11) and DC3 (XOFF, 0x13) characters to gate flow. Some PC DNC utilities handle this transparently, others do not. XON/XOFF is the default only on legacy Gildemeister configurations and on certain Emco retrofits; do not enable it unless you have verified the PC-side flow-control layer.
Why hardware handshake first? On the 810M, when the operator presses Daten EIN/AUS and selects RTS/CTS, the control will actually drive its RTS pin high before transmitting. If the PC-DNC software does not see a rising CTS in response, it will not transmit — and you will correctly conclude within seconds that either the wrong COM port is selected or the cable is straight-through instead of crossed.

Setting the handshake on the 810M

  1. Power the control to operator-panel ready (no NC-Reset required).
  2. Press the softkey Daten EIN/AUS (Data IN/OUT) on the operator panel.
  3. Select the interface (typically "Schnittstelle 1" for X121).
  4. From the softkey menu, choose RTS/CTS. The screen displays the active mode for both interfaces.
  5. Set the baud rate to 9600 for read-out first, then verify write-in separately (see Baud Rate section).
  6. Set data bits 7, parity even, stop bits 1, protocol Xmodem off / transparent (the 810M does not implement Xmodem on the operator-panel side; it expects raw character-stream with SO/EO framing).

Setting the handshake on the PC DNC software

Match the control side exactly. Typical parameters for NC-LINK and most Siemens-compatible DNC clients on Windows:

COM Port:       COM1 (or COMx where the active probe lights RTS after a control-side "Daten EIN/AUS" with handshake=RTS/CTS)
Baud Rate:      9600 (read) / 1200 (write, 810M only)
Data Bits:      7
Parity:         Even
Stop Bits:      1
Handshake:      Hardware (RTS/CTS)
End-of-Line:    LF (control) / CR+LF accepted
Start Char:     M82  (810M baseline — operator verifies in manual)
End Char:       M30
XON/XOFF:       Disabled on PC side

Baud Rate Behavior on the 810M Hardware

The most often-overlooked asymmetry on the 810M is its directional baud-rate ceiling. Field observations across multiple Chiron milling machines equipped with 810M controls confirm the following working envelope:

Direction Working Baud Rate Symptom at Higher Rate
Control → PC (read-out) 9600 baud Rarely a problem; control is the talker.
PC → Control (write-in) 1200 baud (810M only) Character loss, truncated files, header lost → file goes to clipboard. Root cause: 810M CPU throughput cannot service the serial UART at higher rates while also servicing NC interpolation.
Quote from field report (810M, three Chiron mills): "Versuche mit 9600 /sec auszulesen, in die Maschine einlesen geht bei uns (3 x Chiron mit 810er) nur mit 1200/sec. Die 810er Siemens rechnet zu langsam." — Translation: Read-out at 9600 baud works; write-in only works at 1200 baud. The 810 Siemens "computes too slowly."

This constraint is not documented in the operator's manual but is consistent across the 810M GA1/GA2/GA3 family. Treat 1200 baud as the production ceiling on every 810M write-in until you have personally proven otherwise on that specific machine. The 810T behaves similarly because the underlying serial port and NC kernel are shared.

Drip Feed and Protocol Limitations

Drip-feed (also known as DNC running, Nachladebetrieb, or streaming mode) is the mode where the control reads NC blocks from the PC one at a time as it executes, allowing part programs that exceed the control's memory to run. On the 810M and 810T the option is not implemented, regardless of the PC DNC software being drip-feed capable. Attempting drip-feed on a 810M produces the same symptom as a wrong protocol — the program lands in the wrong place, usually the system clipboard.

Variant Drip Feed / DNC Streaming Note
810M GA1/GA2 Not supported Load complete program into NC memory.
810T GA1/GA2 Not supported Load complete program into NC memory.
810M GA3 Not supported Same.
810D CE Supported with firmware options Requires Ethernet or RS-232C with active host.

Program Header Handling on 810D CE

On the 810D with HMI-CE (the Windows-style variant), each program stored in the operator-panel part-program directory must begin with a structured header. When transferring a program from the PC to the 810D, if the header is malformed or missing, the control will accept the bytes but will not be able to bind the program to a name and path; the result is that the file is moved to the operator-panel clipboard (Zwischenablage) rather than the named part-program directory.

The recommended approach when introducing a new file into a 810D CE is:

  1. Send an existing program from the 810D CE to the PC via the RS-232 link to capture its exact header format.
  2. Use that header as a template for each new program.
  3. Edit only the program name (in the MPF or SPF field) and the path descriptor, leaving all other header lines untouched.
Read-once, edit-locally rule. Never invent an 810D program header from memory; the encoding of the program name and directory is firmware-revision dependent and Siemens does not publish a stable reference grammar across revisions. Capture the header from a successful read first.

Step-by-Step Commissioning Procedure

The following procedure isolates cable, configuration, and protocol problems in order. Do not skip steps; the procedure is structured so that each one eliminates a class of failure observed in the field.

  1. Verify variant. Read the operator-panel configuration label. Note whether you are dealing with a 810M/810T or 810D CE.
  2. Build the cable to schematic, not the box. Use the DB-25 → DB-9 crossover table in this article. If using a pre-built cable, ring out every pin with a DMM before connecting.
  3. Verify the COM port. On a PC with a PS/2 mouse, COM1 and COM2 are free. On a PC with a serial mouse, only one COM port is free and the cable must land on that port. A USB-to-RS-232 adapter on a hub introduces 15 ms+ latency — verify timing later by trying an on-board DB-9 first.
  4. Set the control handshake to RTS/CTS via Daten EIN/AUS. Set baud to 9600 for the read-out test.
  5. Run a read-out (control → PC) first. Use the PC DNC software's receive function and trigger it from the operator panel. If this succeeds you have proven: cable, port selection, RTS/CTS wiring, 7/E/1 frame format, 9600 baud.
  6. Run a write-in (PC → control) at 9600 baud. If the file does not appear in the part-program directory or lands in the clipboard, drop the baud rate to 1200 and re-test. This is the asymmetric path on 810M hardware.
  7. If read works but write hangs: PC DNC software is not asserting CTS in response to the control's RTS. Verify with an RS-232 breakout / signal tester that RTS lights on the control side and CTS lights on the PC side. If only one lights, the cable is straight-through on the handshake pair.
  8. Verify program header on 810D CE. If file lands in clipboard, copy header from an existing valid program and patch the name.
  9. Final acceptance: write-in at production baud, read-back to PC, byte-for-byte file compare.

Diagnostic Verification Procedure

Visual / LED Test (preferred first pass)

Insert an RS-232 breakout / signal tester between the cable and either end. Verify that each LED pair lights when both sides are connected and the control is in Daten EIN/AUS with RTS/CTS active. The relevant pairs:

  • DB-25 pin 2 (TD) ↔ DB-9 pin 2 (RD) — should mirror each other in idle state and on first byte.
  • DB-25 pin 4 (RTS) ↔ DB-9 pin 7 (CTS) — should mirror each other in idle state.

If only one LED in a pair lights at idle, the cross in the cable is wrong and you have a straight-through or partial-null-modem cable.

Round-trip file integrity check

  1. On the PC, create test.mp1 containing a known part-program frame with checksum-free text, e.g. %_N_TEST_MPF\n;\nN10 G0 X0\nN20 M30\n.
  2. Send to the control at the working baud (1200 on 810M).
  3. Read the file back from the control to the PC as test_roundtrip.mp1.
  4. Diff test.mp1 vs test_roundtrip.mp1 with a binary compare. They must match.

Loopback test (PC-side only, sanity)

Short pin 2 to pin 3 on a spare DB-9 with a jumper. Run your DNC software to transmit a known file; receive on the same port. If the received file matches sent, the PC's UART and DNC software are verified independent of the control.

Troubleshooting Matrix

Symptom Most Likely Cause Diagnostic Step Fix
No response from either direction Wrong COM port; cable straight-through RS-232 signal tester; loopback on PC Select active COM (PS/2 mouse scenario); build cable per schematic.
Read works, write hangs PC DNC not responding to RTS (cable not crossing 4 ↔ 7) Breakout tester on handshake pair Rewire or replace cable with proper null modem.
Read works, write corrupts Baud rate too high for 810M CPU; wrong data bits/parity Drop to 1200 baud; verify 7/E/1 on both sides Set PC baud to 1200; set 810M to 1200 in Daten EIN/AUS.
Program lands in clipboard instead of directory Wrong program header (810D CE) Compare against known-good header captured from read-out Patch header from existing program.
Drip-feed attempt: control accepts nothing 810M does not support drip feed Confirm variant Load complete program; do not request streaming.
Handshake mismatch symptoms (XOFF in middle of program) XON/XOFF selected on control, PC ignoring it Verify control mode in Daten EIN/AUS Switch control to RTS/CTS.
File shorter than expected on read-back Baud rate / framing mismatch; late CTS LED test on handshake pair; try 1200 Match baud/format; verify hardware handshake wiring.
Control prints garbage characters Baud / parity / data bits mismatch Check 9600 7E1 on both sides Reconfigure PC DNC to 7 data bits, even parity, 1 stop.
Read works at 9600 but write corrupts at 9600 810M write-in asymmetry — accepted condition Drop write baud to 1200 Run write at 1200 baud, read at 9600.
USB-RS-232 adapter intermittent USB latency / driver drop Native DB-9 first; throughput test Replace with on-board COM port or industrial-grade adapter.

Field Notes and Operator Caveats

  • On the 810M, the program-start character (often %) and the program-end character (often M30) are part of the framing the control expects in a transfer. Some controls use M82 as the in-band start marker; verify with the operator's manual for the specific GA revision before assuming.
  • If the cable is plugged in but no LED pairs light, check the operator-panel connector itself — D-Sub shells must be screwed down to chassis ground for the signal reference to be quiet. A floating shield can pass digital data marginally but fails under any industrial noise.
  • USB-to-RS-232 adapters with FTDI or CH340 chipsets are acceptable for read-out at 9600 baud; for reliable write-in at 1200 baud on a 810M, prefer a native DB-9 to eliminate the question of buffering and timing.
  • On the 810D CE, programs in the part-program directory typically have the structure %_N_<name>_MPF (main program file) or %_N_<name>_SPF (sub-program file). Wrong structure causes silent clipboard routing.
  • Always run the round-trip byte-compare test before accepting the new cable as production-grade. A cable that passes LED pairing but mismatches a single ground bond will write "successful" files that fail at runtime.

Quick Reference Card

SINUMERIK 810 RS-232 QUICK SETUP
================================
Cable:        DB-25 Female (control) → DB-9 Female (PC), null modem
Data lines:   2 ↔ 3, 3 ↔ 2
Handshake:    4 ↔ 8 (RTS/CTS), 5 ↔ 7 (CTS/RTS)
Ground:       7 ↔ 5 (mandatory)
Format:       9600 7E1 (read), 1200 7E1 (write on 810M)
Handshake:    RTS/CTS hardware (always recommended)
Drip feed:    NOT supported on 810M / 810T
Ethernet:     Only on 810D CE with client installed
Order:        Read OUT first (control→PC) at 9600.
              Verify LED pairs RD/TD and RTS/CTS.
              Then write IN (PC→control) at 1200 on 810M.
              Round-trip byte-compare before signoff.

Why does my SINUMERIK 810M read programs from the PC at 9600 baud but only accept writes at 1200 baud?

The 810M CPU cannot service its serial UART above ~1200 baud while simultaneously running NC interpolation during write-in. This is an accepted and documented asymmetry on 810M/810T hardware: use 9600 baud for control-to-PC reads and 1200 baud for PC-to-control writes. The 810D CE platform does not share this restriction if Ethernet is used.

Can I drip-feed (DNC streaming) part programs into a 810M or 810T?

No. Drip-feed is not implemented on 810M or 810T base hardware regardless of the PC DNC software. The entire program must be loaded into NC memory before execution. Drip-feed is available on 810D CE with the appropriate firmware option and Ethernet client.

Which handshake should I use on a 810: RTS/CTS or XON/XOFF?

Always RTS/CTS (hardware handshake) as the baseline. Set it on the control via the Daten EIN/AUS softkey and on the PC DNC software under the COM port handshake setting. XON/XOFF is reserved for legacy configurations and can be silently ignored by some PC DNC clients, causing data loss without error indications.

My 810D CE accepts the program but it lands in the operator-panel clipboard instead of the part-program directory. What is wrong?

The program header is malformed. Send an existing valid program from the 810D CE to the PC, capture its exact header lines, and use that as the template for new programs. Edit only the program name and path descriptor; keep all other header lines intact.

A pre-made "null modem" cable failed. Why and how do I verify?

Many cables labeled "null modem" are actually straight-through DB-25 extension cords. Use an RS-232 signal tester between the cable and either end, then check that the TD/RD pair (DB-25 pin 2 ↔ DB-9 pin 2) and the RTS/CTS pair (DB-25 pin 4 ↔ DB-9 pin 7) light as mirrored pairs at idle. If only one LED in a pair lights, the cross is missing and the cable must be re-terminated.

Can I replace the RS-232 link with Ethernet on a 810D?

Yes, but only on 810D CE with an Ethernet client installed. The 810M and 810T have no Ethernet path; serial RS-232 is the only built-in option. On 810D CE, install the Siemens Ethernet client, assign the IP from the operator panel, and configure the part-program directory share on the host PC.

Back to blog