1. Overview
Connecting an engineering PC to a Siemens SIMATIC S7-200 or S7-300 CPU requires a vendor-specified RS-232-to-RS-485 (or USB-to-RS-485) converter that performs two jobs simultaneously: level translation between PC UART logic and the PLC's isolated RS-485 port, and protocol bridging between the host PC's point-to-point serial stream and the multi-drop Siemens fieldbus (PPI on S7-200, MPI on S7-300).
The S7-200 family uses the PPI (Point-to-Point Interface) protocol on Port 0 (and Port 1 on CPUs that provide a second port such as CPU 224, CPU 224XP, CPU 226). The default baud rate is 9.6 kbaud; STEP 7 Micro/WIN can also configure 19.2 kbaud. Each PPI node occupies an address on the 0-126 range with default address 2.
The S7-300 family uses the MPI (Multi-Point Interface) protocol on the integrated MPI/DP port (X1) of the CPU, default address 2, default baud rate 187.5 kbaud. Older S7-300 CPUs have a dedicated MPI port; newer CPUs (CPU 31x-2 DP, CPU 31x-2 PN/DP) ship with a combined MPI/DP nine-pin D-sub connector that supports MPI, PROFIBUS-DP master, and PROFIBUS-DP slave depending on firmware configuration.
Throughout this reference, all pin numbers refer to the nine-pin D-sub shell orientation as seen from the outside of the connector (face view, pin row on top). The PLC's port is a male connector on the CPU module; cables and converter boxes typically terminate at a female DB-9 that mates to it.
2. Physical Interface Identification
Before applying any pinout, confirm the connector on the CPU module. Misidentifying a PPI port as an MPI/DP port (or vice-versa) is the most common cause of failed PC links.
| PLC Family | Port Label | Connector | Default Protocol | Default Baud | Default Address |
|---|---|---|---|---|---|
| S7-200 CPU 221/222 | Port 0 | DB-9 male | PPI | 9.6 kbaud | 2 |
| S7-200 CPU 224/224XP/226 | Port 0, Port 1 | DB-9 male | PPI / Freeport | 9.6 kbaud | 2 (Port 0), 1 (Port 1) |
| S7-300 CPU 31x | MPI (X1 bottom) | DB-9 female | MPI | 187.5 kbaud | 2 |
| S7-300 CPU 31x-2 DP | MPI/DP (X1) | DB-9 female | MPI or PROFIBUS-DP | 187.5 kbaud (MPI), 1.5 Mbaud (DP) | 2 |
| S7-300 CPU 31x-2 PN/DP | MPI/DP (X1), PROFINET (X2) | DB-9 female + RJ-45 | MPI/DP + PROFINET | 187.5 kbaud (MPI) | 2 |
3. S7-200 CPU Port 0 / Port 1 Pinout (DB-9 Male)
The S7-200 PPI port is an RS-485 port with on-board isolated +24 V and +5 V supplies intended to power external RS-485 repeaters or Siemens operator panels (TD 200, TP 177micro). Never back-feed voltage onto these pins from the host PC.
| Pin | Signal | Direction | Function |
|---|---|---|---|
| 1 | Shield | — | Chassis/shield drain, bond to earth at one end only |
| 2 | M (24 V common) | — | Isolated 24 V return; logic reference for pin 7 |
| 3 | RxD/TxD − (B) | Bidirectional | RS-485 negative data line |
| 4 | RTS (TTL) | Output | Request-To-Send from PLC, used by repeaters for direction control |
| 5 | M (5 V common) | — | Isolated 5 V return; logic reference for pin 6 |
| 6 | +5 V (isolated) | Output | +5 V at 90 mA, fused, used by external RS-485 terminator networks |
| 7 | +24 V (isolated) | Output | +24 V at 120 mA, fused, used to power Siemens TD/TP panels |
| 8 | RxD/TxD + (A) | Bidirectional | RS-485 positive data line |
| 9 | NC | — | No connection, reserved |
The PLC port is wired as a non-isolated RS-485 transceiver with internal fail-safe biasing. The bus must be terminated at the two physical end nodes only, with 120 Ω between pins 3 and 8 (plus the bias network defined in the S7-200 System Manual, Chapter 7). The S7-200 CPU itself does not contain a switchable termination resistor; the termination must be installed in the cable or at the final operator panel.
4. PC/PPI Cable 6ES7901-3CB30-0XA0 Pinout and Switch Settings
The PC/PPI cable is the canonical Siemens RS-232-to-RS-485 converter for the S7-200 family. It is a Siemens-manufactured cable with a built-in opto-isolated converter and a five-position DIP switch bank accessible through a small window on the side of the housing.
Order number: 6ES7901-3CB30-0XA0 (RS-232 host, MM = multimaster-capable). The USB equivalent is 6ES7901-3DB30-0XA0 for PCs that no longer expose a physical COM port. A non-isolated RS-232 economy version, 6ES7901-3CB30-0AA0, exists but lacks galvanic isolation between the PC and the PLC and is not recommended in plant-floor environments.
| Pin (DB-9 PLC side) | Signal | Connection |
|---|---|---|
| 1 | Shield | Bonds to PC/PPI cable metal shell |
| 2 | M 24 V | Not connected inside cable |
| 3 | RxD/TxD − | To RS-485 B inside cable |
| 4 | RTS (TTL) | Driven from cable for half-duplex direction |
| 5 | M 5 V | Not connected inside cable |
| 6 | +5 V | Not connected inside cable |
| 7 | +24 V | Not connected inside cable |
| 8 | RxD/TxD + | To RS-485 A inside cable |
| 9 | NC | Not connected |
The host-side (PC COM port) end of the 6ES7901-3CB30-0XA0 is a DB-9 female carrying a standard RS-232 DCE pinout: pin 2 = TxD, pin 3 = RxD, pin 5 = SG, pin 4 + 6 + 8 bridged (DTR/DSR/CTS tied together for cable-side handshaking). The cable derives +5 V from the PC COM port's RTS/DTR lines; if the BIOS or driver de-asserts these, the cable will not power up. On modern PCs without COM ports, use a USB-to-RS-232 bridge rated for full handshaking (FTDI FT232 or equivalent) and avoid unpowered RS-232 emulation cables.
| DIP Switch | Function | Recommended Setting |
|---|---|---|
| 1 | Baud rate select | OFF for 9.6 kbaud; ON for 19.2 kbaud |
| 2 | Baud rate select | OFF for ≤ 19.2 kbaud; ON for 38.4/115.2 kbaud (Freeport only) |
| 3 | Protocol | OFF for PPI multimaster; ON for PPI master-only emulation |
| 4 | 10-bit / 11-bit mode | OFF = 11 bits (PPI standard); ON = 10 bits (Freeport 8N1) |
| 5 | Echo / no echo | OFF = no echo (PPI); ON = echo (Freeport) |
For all programming tasks, leave DIP 3 OFF (multimaster), DIP 4 OFF (11-bit PPI framing), DIP 5 OFF (no echo), and set DIP 1 to match the S7-200 port baud configured in the System Block.
5. S7-300 MPI/DP Port (X1) Pinout (DB-9 Female)
The S7-300 integrated MPI/DP port is an isolated RS-485 port on a DB-9 female connector located on the bottom of the CPU module. Pin numbering and signal definition are different from the S7-200 PPI port even though the physical connector is identical.
| Pin | Signal | Direction | Function |
|---|---|---|---|
| 1 | NC | — | Reserved |
| 2 | M24V | — | 24 V common, isolated logic ground |
| 3 | RxD/TxD − (B) | Bidirectional | RS-485 negative data line |
| 4 | RTS (TTL) | Output | Request-To-Send from PLC |
| 5 | M5V | — | 5 V common, isolated logic ground |
| 6 | P5V | Output | +5 V at 90 mA, fused, for PROFIBUS/MPI terminator |
| 7 | P24V | Output | +24 V at 100 mA, fused, for bus terminator |
| 8 | RxD/TxD + (A) | Bidirectional | RS-485 positive data line |
| 9 | NC | — | Reserved |
The Siemens 6ES7972-0BA12-0XA0 PROFIBUS connector (with switchable termination resistor) plugs into this port and provides the canonical PROFIBUS termination: 220 Ω pull-up from pin 8 (A) to pin 6 (P5V), 220 Ω pull-down from pin 3 (B) to pin 5 (M5V), and 390 Ω between pin 8 and pin 3. When using the port for MPI programming from a PC, the terminator must be installed in the cable plug at the last physical node on the MPI segment. With a single PLC attached, set the connector's terminator switch to ON.
6. PC Adapter USB 6ES7972-0CB20-0XA0 for S7-300
The PC Adapter USB (order number 6ES7972-0CB20-0XA0) is the modern Siemens converter for S7-300/400 MPI and PROFIBUS programming. It replaces the older PC Adapter (6ES7972-0CA23-0XA0, RS-232) and the obsolete CP 5511/CP 5611 PCMCIA/PCI cards. The adapter is USB 2.0 full-speed, 12 Mbit/s, and presents itself as a virtual COM port plus a vendor-specific USB endpoint for MPI/DP firmware reloads.
| Parameter | Value |
|---|---|
| Order number | 6ES7972-0CB20-0XA0 |
| USB connector | USB Type-A, 1.8 m captive cable |
| PLC connector | DB-9 male to S7-300 MPI/DP |
| Supported protocols | MPI, PROFIBUS-DP master, PROFIBUS-DP slave |
| Supported baud | 9.6 kbaud to 12 Mbaud |
| Galvanic isolation | Yes, between USB and RS-485 |
| Driver | Siemens S7DOS or PC Adapter USB VCP driver (bundled with STEP 7 / TIA Portal) |
| PG/PC interface assignment | PC Adapter (MPI) or PC Adapter (PROFIBUS) |
Because the PC Adapter USB is fully powered from the USB port, no RS-232 handshake pinning is needed on the host. The host COM port number assigned to the adapter can be found in Windows Device Manager under "Ports (COM & LPT)" after the driver is installed. STEP 7 V5.5 SP2 and later, and TIA Portal V13 SP1 and later, recognize the adapter natively.
7. PPI Protocol Parameters for S7-200
PPI is a token-passing protocol that runs over RS-485 at 9.6 or 19.2 kbaud. The S7-200 CPU acts as a slave by default and only becomes a multimaster token holder if configured by STEP 7 Micro/WIN under the PPI Advanced options.
| Parameter | Default Value | Allowed Range |
|---|---|---|
| Station address (CPU port) | 2 | 1 - 126 |
| Baud rate | 9.6 kbaud | 9.6 kbaud, 19.2 kbaud (PPI); up to 115.2 kbaud in Freeport |
| Frame format | 11 bits (1 start, 8 data, 1 even parity, 1 stop) | 10 bits or 11 bits selectable |
| Token rotation timeout | 50 ms | Configurable in STEP 7 Micro/WIN |
| Gap time | 35 bit times | Fixed |
| Repeater count in segment | ≤ 9 (Siemens spec) | Validated with PPI repeaters |
| Max nodes per segment | 32 (RS-485 spec) | Practical PPI: 16-20 with Siemens TD/TP panels |
| Maximum bus length | 1,200 m at 9.6 kbaud | 1,000 m at 19.2 kbaud with proper terminations |
The CPU address is set either via STEP 7 Micro/WIN (System Block > Communication Ports) or directly on the CPU with the DIP switches behind the front cover (older CPU 21x). On a brand-new CPU 224XP, port 0 defaults to address 2 and port 1 to address 1.
8. MPI Protocol Parameters for S7-300
MPI is functionally a subset of PROFIBUS FDL with a fixed baud of 187.5 kbaud. It supports up to 32 nodes per segment and a maximum segment length of 50 m without repeater, 1,000 m with two repeaters in series.
| Parameter | Default | Range |
|---|---|---|
| Baud | 187.5 kbaud | Fixed for MPI; selectable 9.6 kbaud - 12 Mbaud when port switched to DP |
| Highest station address | 15 | 1 - 126 |
| Station address (CPU) | 2 | 1 - 126 (must be unique) |
| Gap time | 35 bit times | Fixed for MPI |
| Max nodes | 32 (with repeaters up to 127) | RS-485 physical limit |
| Cable | Siemens PROFIBUS cable violet, 6XV1830-0EH10 | Twisted, shielded, 150 Ω nominal characteristic impedance |
| Termination | 6ES7972-0BA12-0XA0 connector with switch | ON at both physical ends only |
9. STEP 7 Micro/WIN Configuration for S7-200
STEP 7 Micro/WIN (V4.0 SP9 for Windows XP, Micro/WIN SMART for S7-200 SMART) provides a set-PG/PC-interface dialog that maps a Windows COM port to the PPI cable.
- Install Micro/WIN and connect the PC/PPI cable (6ES7901-3CB30-0XA0) to the S7-200 Port 0. Verify the cable is detected under Windows Device Manager.
- Launch Micro/WIN and select Set PG/PC Interface from the left navigation pane.
- Choose PC/PPI cable (PPI) and click Properties.
- On the PPI tab, set:
- Address: typically leave at 0 (the PG/PC itself is address 0)
- Timeout: 1,000 ms default
- Transmission rate: 9.6 kbaud or 19.2 kbaud to match the CPU System Block
- On the Local Connection tab, select the COM port to which the PC/PPI cable is connected. Confirm the cable's DIP switch 1 matches the chosen rate (OFF = 9.6 kbaud, ON = 19.2 kbaud).
- Click OK and return to the project tree.
- Click the Communications icon (top toolbar). Click the Search button at the bottom right of the Communications dialog. Micro/WIN will broadcast a PPI token and list all reachable CPUs.
- Double-click the discovered CPU to set the active PG/PC target.
10. STEP 7 / TIA Portal Configuration for S7-300
- Install STEP 7 V5.5 SP2 (or later) or TIA Portal V13 SP1 (or later). Connect the PC Adapter USB (6ES7972-0CB20-0XA0) and verify the S7DOS driver is loaded.
- Open the SIMATIC Manager and select Options > Set PG/PC Interface.
- Select PC Adapter (MPI) as the access point, and click Properties.
- On the MPI tab:
- Address: PG/PC address 0 (default)
- Timeout: 30 s
- Transmission rate: 187.5 kbaud (cannot be changed; MPI is fixed)
- On the Local Connection tab, verify the COM port that the PC Adapter USB enumerates as.
- Click Diagnostics to confirm the adapter is detected. The Test button executes a local loopback.
- To check online nodes, open the project, right-click the MPI subnet, and choose Accessible Nodes. The CPU should appear with its MPI address (default 2).
In TIA Portal, the equivalent path is Online > Accessible Devices > MPI/DP Interface. The TIA Portal will list the CPU type, firmware version, and order number once the bus scan completes.
11. RS-485 Termination and Cabling Rules
RS-485 transmission line integrity depends on three factors: characteristic impedance, termination, and topology. Both the S7-200 PPI port and the S7-300 MPI/DP port rely on a daisy-chain topology with termination at the two physical endpoints.
| Parameter | S7-200 PPI | S7-300 MPI / PROFIBUS |
|---|---|---|
| Cable type | Twisted, shielded, 100-120 Ω | Siemens violet PROFIBUS, 150 Ω |
| Termination value | 120 Ω across A-B at both ends | 220 Ω A to +5 V, 220 Ω B to GND, 390 Ω A-B |
| Maximum segment length at 9.6 kbaud | 1,200 m | 1,200 m |
| Maximum segment length at 187.5 kbaud | N/A | 1,000 m |
| Maximum segment length at 1.5 Mbaud | N/A | 200 m |
| Stubs allowed | None on PPI; ≤ 1.5 m freeport | ≤ 6.6 m per stub, total of all stubs ≤ 15% of segment length at ≥ 1.5 Mbaud |
| Shield bonding | One end only (CPU end), via pin 1 | Both ends via PROFIBUS connector clamp |
| Topology | Daisy chain, no star | Daisy chain only (line, no branch > 0.3 m at 12 Mbaud) |
12. Programming Cable Selection Matrix
| Cable / Adapter | Order Number | Host Side | PLC Side | Supported PLCs | Galvanic Isolation |
|---|---|---|---|---|---|
| PC/PPI cable MM | 6ES7901-3CB30-0XA0 | RS-232 DB-9 | DB-9 to S7-200 Port 0/1 | S7-200 only | Yes |
| PC/PPI cable USB | 6ES7901-3DB30-0XA0 | USB-A | DB-9 to S7-200 Port 0/1 | S7-200 only | Yes |
| PC/PPI cable (economy) | 6ES7901-3CB30-0AA0 | RS-232 DB-9 | DB-9 to S7-200 Port 0/1 | S7-200 only | No |
| PC Adapter RS-232 | 6ES7972-0CA23-0XA0 | RS-232 DB-9 | DB-9 to S7-300 MPI/DP | S7-300/400 MPI/PROFIBUS | Yes |
| PC Adapter USB | 6ES7972-0CB20-0XA0 | USB-A | DB-9 to S7-300 MPI/DP | S7-300/400 MPI/PROFIBUS | Yes |
| CP 5711 (USB, PROFINET/MPI) | 6GK1571-1AA00 | USB-A | DB-9 MPI/PROFIBUS or RJ-45 PROFINET | S7-300/400 via PROFINET or MPI | Yes |
| USB-to-RS485 converter (generic, FTDI) | 3rd party | USB-A | Freeport ASCII or Modbus RTU only | S7-200/300 in Freeport, not PPI/MPI | Varies |
A generic USB-to-RS-485 converter will not run PPI or MPI because those protocols require a Siemens-proprietary frame handler and the host-side cannot token-pass. Generic converters are restricted to S7-200 Freeport mode and S7-300/400 serial ASCII protocols where the PLC port is configured as a transparent UART.
13. Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Step | Corrective Action |
|---|---|---|---|
| Micro/WIN reports "Connection failed" on S7-200 | PC/PPI cable DIP 1 baud mismatch with CPU System Block | Verify DIP 1 = 9.6 kbaud default | Re-set DIP 1 or change System Block baud |
| Micro/WIN "Search" returns no CPU | Wrong COM port selected in Set PG/PC Interface | Check Windows Device Manager for cable COM port | Re-select COM port in Local Connection tab |
| CPU address conflict; only one of two CPUs responds | Default address 2 on both CPUs | Disconnect one CPU and rebroadcast | Change second CPU address via System Block |
| STEP 7 "Accessible Nodes" times out on S7-300 | Wrong access point (PC Adapter MPI vs PROFIBUS) | Verify adapter DIP switch position | Set PG/PC Interface to PC Adapter (MPI) |
| Communication drops intermittently when VFD starts | Common-mode noise, missing shield bond | Measure A-B signal with oscilloscope, look for ringing | Bond shield at one end only (S7-200) or at both ends via PROFIBUS connector clamp (S7-300) |
| "Online" works once then fails on second attempt | Cable derives power from RS-232 RTS/DTR and Windows power management disables it | Disable COM port power management in Device Manager | Replace RS-232 cable with USB PC/PPI or PC Adapter USB |
| CPU not found, port SF/DIAG LED red | Hardware fault, not cable issue | Read diagnostic buffer via STEP 7 | Replace CPU; cable cannot cause SF LED on power-up |
| "Station address invalid" error | PG/PC address set to same value as CPU | Inspect Set PG/PC Interface > MPI address | Set PG/PC address to 0 (or any address ≠ CPU address) |
| PROFIBUS segment works, MPI does not | CPU port switched to DP master in HW Config | Open HW Config > CPU Properties > Interface | Switch port selection from PROFIBUS-DP back to MPI |
| Cable LED off (no power) | USB suspend, or cable without opto-isolation draws no current | Test cable on a known-good S7-200 | Replace cable with 6ES7901-3DB30-0XA0 (USB, isolated) |
14. Verification Procedure
- After configuring the Set PG/PC Interface, click Diagnostics. Confirm the cable/adapter is reachable and that the COM port is open.
- Click Communications > Search (Micro/WIN) or Accessible Nodes (STEP 7). The CPU's order number, firmware version, and rack/slot position must appear within the timeout window.
- Download a small read-only program (e.g., a single OB1 with one NO contact) to the CPU. Verify the CPU switches to RUN without an SF LED.
- Read the diagnostic buffer via STEP 7 Micro/WIN > PLC > Information. No event entries "Communication error" should appear within the first 10 minutes of operation.
- Cycle power on the CPU. Confirm that the link re-establishes automatically (PPI multimaster cable or PC Adapter USB must be configured to reconnect).
15. Frequently Asked Questions
What is the difference between the PC/PPI cable (6ES7901-3CB30-0XA0) and the PC Adapter USB (6ES7972-0CB20-0XA0)?
The PC/PPI cable is an RS-232-to-RS-485 converter designed exclusively for the S7-200 PPI port at 9.6 or 19.2 kbaud. The PC Adapter USB is a USB-to-MPI/PROFIBUS converter designed for the S7-300/400 MPI port at 187.5 kbaud and for PROFIBUS-DP up to 12 Mbaud. The two are not interchangeable: a PC/PPI cable cannot talk MPI, and a PC Adapter USB cannot be configured for PPI multimaster at the CPU's default baud.
Can I use a generic USB-to-RS-485 converter for S7-200 programming?
No, not for PPI. PPI is a Siemens-proprietary framed protocol requiring token passing and 11-bit framing that no generic FTDI-based adapter provides. A generic USB-to-RS-485 converter only works with the S7-200 if the CPU's port is set to Freeport mode (8N1 ASCII), and then only for user-defined protocols such as Modbus RTU master/slave libraries.
Why does the S7-300 CPU "Accessible Nodes" search find no device even with a known-good PC Adapter USB?
The most common causes are (a) the Set PG/PC Interface is bound to the wrong access point (for example "PC Adapter (PROFIBUS)" instead of "PC Adapter (MPI)"), (b) the wrong COM port is selected in the Local Connection tab, or (c) the PROFIBUS connector's terminator switch is OFF and the bus lacks termination. Confirm the access point, the COM port in Windows Device Manager, and the terminator switch at the CPU's MPI connector.
What is the maximum PPI/MPI bus length with no repeaters?
S7-200 PPI at 9.6 kbaud supports up to 1,200 m of bus with proper termination; at 19.2 kbaud the limit drops to approximately 1,000 m. S7-300 MPI at 187.5 kbaud supports 50 m without a repeater and up to 1,000 m with two repeaters in series. These figures assume the Siemens PROFIBUS violet cable (150 Ω characteristic impedance) and termination at both physical ends only.
Do I need to bond the cable shield at both ends for PPI or only one end?
For S7-200 PPI, bond the shield at one end only (typically the CPU end via pin 1) to break ground loops between the PC and the PLC. For S7-300 MPI/PROFIBUS, the Siemens PROFIBUS connector (6ES7972-0BA12-0XA0) is engineered to bond the shield at both ends through its strain-relief clamp; the cable shield and the connector clamp form a 360-degree bond that is required at high baud (1.5 Mbaud and above) to meet EMC limits.