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.
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) |
Cable Wiring Schematic (SVG)
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.
Setting the handshake on the 810M
- Power the control to operator-panel ready (no NC-Reset required).
- Press the softkey
Daten EIN/AUS(Data IN/OUT) on the operator panel. - Select the interface (typically "Schnittstelle 1" for X121).
- From the softkey menu, choose
RTS/CTS. The screen displays the active mode for both interfaces. - Set the baud rate to 9600 for read-out first, then verify write-in separately (see Baud Rate section).
- 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. |
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:
- Send an existing program from the 810D CE to the PC via the RS-232 link to capture its exact header format.
- Use that header as a template for each new program.
- Edit only the program name (in the
MPForSPFfield) and the path descriptor, leaving all other header lines untouched.
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.
- Verify variant. Read the operator-panel configuration label. Note whether you are dealing with a 810M/810T or 810D CE.
- 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.
- 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.
- Set the control handshake to RTS/CTS via Daten EIN/AUS. Set baud to 9600 for the read-out test.
- 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.
- 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.
- 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.
- Verify program header on 810D CE. If file lands in clipboard, copy header from an existing valid program and patch the name.
- 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
- On the PC, create
test.mp1containing a known part-program frame with checksum-free text, e.g.%_N_TEST_MPF\n;\nN10 G0 X0\nN20 M30\n. - Send to the control at the working baud (1200 on 810M).
- Read the file back from the control to the PC as
test_roundtrip.mp1. - Diff
test.mp1vstest_roundtrip.mp1with 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 (oftenM30) are part of the framing the control expects in a transfer. Some controls useM82as 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.