S7-300 Programming Cable: MPI Adapter Setup and PC Interface

David Krause15 min read
S7-300SiemensTutorial / How-to
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

1. Overview: Why Cable Selection Matters on S7-300

The SIMATIC S7-300 is a modular PLC platform that was launched in the mid-1990s and is still actively supported for service, migration, and spare-parts programs. Because the S7-300 family spans more than two decades of CPU releases, the physical communication interfaces vary significantly between stations. A CPU 312 (sold from 1996) presents a different set of connectors than a CPU 319-3 PN/DP, and the wrong programming cable will either fail to enumerate on the host PC or, worse, drive signals into a port that does not support the bus physics.

The most common engineering mistake when migrating from a non-Siemens platform (for example, Omron CS/CJ, Allen-Bradley SLC 500, or Mitsubishi MELSEC) is to assume that any "Siemens PC cable" is universal. It is not. Siemens partitions its programming cables by:

  • Target bus: PPI (point-to-point, S7-200 only), MPI (multi-point, S7-300/S7-400), PROFIBUS DP, PROFINET, or Ethernet/ISO.
  • Host port: RS-232 (legacy PCs), USB (modern PCs), or PCI/PCIe card (permanent in-cabinet programming stations).
  • Bus speed and termination: 9.6 kbit/s to 12 Mbit/s on MPI/PB, with termination handled in the connector or cable.

Before any cable is purchased, identify the CPU order number (MLFB) printed on the front door. The 6-digit designation after "6ES7" reveals the firmware generation, the integrated interfaces, and the matching cable family. Cross-check the order number against the SIMATIC S7-300 Automation System, Hardware and Installation manual (entry ID 15390415) for the exact bus connectors exposed on the CPU.

Critical: The USB/PPI Multi-Master cable (6ES7 901-3DB30-0XA0) is engineered exclusively for the S7-200 PPI electrical layer. Its 5 V signaling and pin-out are incompatible with the RS-485 MPI port on an S7-300 CPU. Plugging this cable into an S7-300 will not damage the hardware but will never establish a connection, and STEP 7 will report "Cannot reach partner" or "Online: Cannot establish connection."

2. S7-300 CPU Communication Interfaces by Generation

Every S7-300 CPU exposes at least one of the interfaces below. The CPU front label lists them as X1 (PROFIBUS DP/MPI), X2 (PROFINET or second DP), and X3 (PtP) where fitted.

CPU Series Example MLFB X1 (MPI/DP) X2 X3 (PtP) Recommended Programming Cable
CPU 31x-2 DP 6ES7 312-1AE14-0AB0 RS-485 MPI/DP, 12 Mbit/s 6ES7 972-0CB20-0XA0
CPU 31x-2 PN/DP 6ES7 315-2EH14-0AB0 RS-485 MPI/DP RJ45 PROFINET, 100 Mbit/s Ethernet patch + 6ES7 972-0CB20-0XA0 fallback
CPU 31x-3 PN/DP 6ES7 317-2EK14-0AB0 RS-485 MPI/DP RJ45 PROFINET (2-port switch) RS-422/485 Ethernet patch primary
CPU 319-3 PN/DP 6ES7 318-3EL01-0AB0 RS-485 MPI/DP RJ45 PROFINET RS-422/485 Ethernet patch primary
CPU 312 IFM / 314 IFM 6ES7 312-5AC02-0AB0 RS-485 MPI 6ES7 972-0CA23-0XA0 (RS-232 legacy)

Engineers familiar with Omron's CX-Programmer or Allen-Bradley RSLinx often expect a single "programming port." Siemens distributes this function across the same port that runs PROFIBUS DP field traffic, which means the programming PC shares a bus segment with VFDs, ET200S stations, and HMIs. The bus must be properly terminated at both ends with 220 Ω resistors (or with the terminator switch on the PC Adapter cable) or online operations will fail intermittently.

3. Cable Catalog and Order Numbers

3.1 PC Adapter USB (MPI/PROFIBUS)

For all S7-300 CPUs from the 312-1AE13 generation onward, the canonical programming cable is the SIMATIC S7 PC Adapter USB:

  • Order number: 6ES7 972-0CB20-0XA0
  • Type: USB 1.1/2.0 to MPI/PROFIBUS
  • Maximum bus speed: 1.5 Mbit/s (MPI/DP), 12 Mbit/s on DP with reduced cable length
  • Power: Bus-powered from USB (no external supply required)
  • Supported OS: Windows 7 SP1 / 10 / Server 2016 / Server 2019 with STEP 7 V5.5 SP2+ or TIA Portal V13+
  • Status LEDs: Green (active), yellow (transmit), red (fault)
  • Connector: Sub-D 9-pin female to CPU X1

The cable ships with a USB Type-A pigtail and a captive 9-pin Sub-D. The integrated terminating resistor can be switched in via a slider on the connector hood, which is mandatory if the PC is the only node on the bus.

3.2 Legacy PC Adapter (RS-232)

  • Order number: 6ES7 972-0CA23-0XA0 (supersedes 0CA10 and 0CA20)
  • Type: RS-232 (COM port) to MPI/PROFIBUS
  • Power: External 24 V DC terminal block (not bus-powered)
  • Use case: Industrial PCs with legacy COM ports, lab benches, or environments where USB driver signing is restricted

3.3 USB/PPI Multi-Master Cable (NOT for S7-300)

  • Order number: 6ES7 901-3DB30-0XA0
  • Type: USB to RS-485 PPI
  • Valid targets: S7-200 (CPU 21x and 22x), MicroWin-class stations
  • Operating modes: PPI, PPI/Freeport, MPI (limited to S7-200 master emulation)
The 3DB30-0XA0 is the cable most often found on surplus shelves and resold as a "universal Siemens" cable. It is not. STEP 7's PG/PC interface list will show it under "PC/PPI cable (PPI)" or "PC/PPI cable (USB)" but never under the MPI/DP entries, and it cannot be reassigned to the S7-300 bus.

3.4 CP Communication Processor Cards (Permanent Installations)

Order Number Form Factor Bus Use
6GK1 161-2AA00 PCI PROFIBUS DP/MPI master Permanent programming station in a control PC
6GK1 161-3AA01 PCI PROFIBUS DP/MPI master, 12 Mbit/s DP master, S7-300 H stations
6GK1 571-1AA00 USB PROFINET IO controller Field PG or laptop, TIA Portal V14+
6GK1 431-1EX11-0XE0 CP 343-1 Industrial Ethernet (10/100) Adds Ethernet to legacy CPU 31x-2 DP

4. Prerequisites

  1. STEP 7 V5.5 SP2 or later, OR TIA Portal V13 SP1 or later. STEP 7 V5.5 is the last release to fully support the classic S7-300 CPUs without firmware restrictions. TIA Portal V16 onward drops support for legacy CPUs older than firmware V2.0. Confirm against the TIA Portal release notes for your CPU's firmware.
  2. Administrator rights on the engineering PC for driver installation and PG/PC interface registration.
  3. CPU knowledge: Verify the CPU MLFB, current firmware version (read with an HMI or from the project offline), and the integrated interface count. The PG must be able to reach the CPU's MPI address (default 2) or its IP (PROFINET default 192.168.0.1).
  4. Cable continuity check: Inspect the 9-pin Sub-D for bent pins, then measure between pin 3 (data line B) and pin 8 (data line A) — the line should read roughly 120 Ω with the terminator ON, 220 Ω with terminator OFF and a single node.
  5. Power supply to the S7-300 rack: The PS 307 (6ES7 307-1EA01-0AA0) must deliver 24 V DC, and the CPU must be in STOP or RUN. A CPU in DEFECT or with the SF LED solid red will not respond to programming requests.

5. Hardware Connection Procedure

5.1 PC Adapter USB (MPI)

  1. Power down the S7-300 station and the PC.
  2. Insert the 9-pin Sub-D connector of the 6ES7 972-0CB20-0XA0 into CPU port X1. Hand-tighten the two thumb screws; over-tightening cracks the connector hood.
  3. Set the terminator switch on the cable connector to ON if the PC is the only device on the bus, or OFF if the bus is already terminated elsewhere (typical for a populated rack with a DP master terminator).
  4. Plug the USB-A end into the PC. Windows detects the device as "SIMATIC S7 PC Adapter USB." If the driver does not load automatically, point Device Manager at C:\Program Files\Siemens\Automation\PGPC Adapter\Driver or the STEP 7 install media subfolder.
  5. Power the S7-300 rack. The CPU's DC 5 V LED and SF (if no fault) should illuminate within 2 seconds.

5.2 Ethernet / PROFINET (CPU 31x-2 PN/DP and later)

  1. Connect a standard Cat 5e (or higher) patch cable between the engineering PC's RJ45 socket and the CPU's X2 port (PROFINET). The CPU 31x-2 PN/DP has an integrated 2-port switch; daisy-chain to a second device if needed.
  2. Confirm link status: the CPU's "LINK" LED on X2 must be solid green; flashing indicates a partner that is auto-negotiating.
  3. Configure the PC IP to the same subnet as the CPU. Factory default IP on most 31x-2 PN/DP CPUs is 192.168.0.1 with mask 255.255.255.0. Set the PC to 192.168.0.10 / 255.255.255.0 as a first attempt.
  4. If the default IP has been changed, a temporary MPI connection with the PC Adapter is the standard recovery path.

6. PG/PC Interface Configuration in STEP 7

The Windows Control Panel applet "Set PG/PC Interface" is the single registry point that routes STEP 7 communications to a physical or virtual device. Mis-selection is the leading cause of "Cannot establish connection" errors.

6.1 For PC Adapter USB on MPI

  1. Open Start → SIMATIC → STEP 7 → Set PG/PC Interface (or, in TIA Portal: Options → Set PG/PC Interface).
  2. In the "Interface Parameter Assignment Used" list, select PC Adapter (Auto) if STEP 7 should auto-detect the cable, or PC Adapter (MPI) for an explicit binding.
  3. Click Properties:
  • MPI tab: Transmission rate = 187.5 kbit/s (matches the CPU default for the MPI network). Set the PC address to a free node, e.g. 0. The highest MPI address on the bus must be set on the bus master's properties (e.g. 31).
  • Local Connection tab: COM port = USB (the PC Adapter uses a virtual COM enumerator). Leave timeout at 30 s for first-time connect, reduce to 5 s for production diagnostics.
  1. Click OK, then OK again to commit. STEP 7 writes the choice to HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\SINEC.
  2. Restart SIMATIC Manager (classic STEP 7) to ensure the new interface is loaded before opening a project.

6.2 For Ethernet / PROFINET in TIA Portal

  1. Open the project, expand the project tree, right-click the CPU and choose Go online → Accessible devices.
  2. From the "PG/PC Interface" drop-down, select Intel(R) Ethernet Connection ... TCP/IP (or the actual NIC name).
  3. Click Start search. TIA Portal broadcasts a DCP Identify request and lists reachable PROFINET stations with their IP, MAC, and device name.
  4. Select the target CPU and confirm. The first online session typically takes 10-15 s for a 31x-2 PN/DP and 20-40 s for a 319-3 PN/DP on a populated subnet.

7. Verifying the Connection

  1. In SIMATIC Manager, open the project containing the target station, right-click the S7-300 station, and choose Download to Target System or Go Online.
  2. The status bar should report Online — Connection established with a node address and the CPU's operating mode (STOP / RUN).
  3. Open the module information (PLC → Module Information or Online & Diagnostics → Diagnostics) and confirm:
  • CPU order number matches the front-panel label.
  • Firmware version matches the project version. A mismatch is non-fatal but STEP 7 will display a yellow warning.
  • Cycle time and OB1 execution counters are incrementing, which proves that the link is live (not just that the driver is open).
  1. For Ethernet, ping the CPU from a Windows command prompt: ping 192.168.0.1 -t. Sub-millisecond round-trip time on a direct patch indicates a healthy link; multi-millisecond with retries suggests cabling damage or a managed switch dropping DCP frames.

8. Migration Path: Omron to Siemens S7-300

Engineers coming from Omron's CX-Programmer should map the workflow as follows:

Omron Concept Siemens Equivalent Notes
CX-Programmer project (.cxp) STEP 7 project (.s7p) or TIA Portal project (.ap15) Direct import is not possible; use I/O-for-I/O ladder rebuild.
Toolbus / USB-Serial CS1W-CN226 PC Adapter USB (MPI) 6ES7 972-0CB20-0XA0 Both are bus-powered USB devices with point-to-multipoint topology.
Peripheral address IR/SR area Input/Output/Merker addresses (I/Q/M) Siemens uses byte.bit notation: I 0.0 = Omron IR 0.00.
Task (cyclic, scheduled) OB1 (cyclic), OB35 (cyclic interrupt, default 100 ms) OB35 is the standard "scheduled task" replacement.

9. Troubleshooting Matrix

Symptom Likely Cause Corrective Action
Windows does not detect the PC Adapter after USB plug-in Driver not signed for the OS, or USB port in low-power state Use a USB 2.0 port directly on the motherboard (not a hub), reinstall the driver from STEP 7 DVD, verify signing policy in gpedit.msc.
STEP 7 reports "Cannot reach partner" on MPI Wrong transmission rate, missing terminator, MPI address conflict Set bus speed to 187.5 kbit/s, enable terminator on the PC Adapter, ensure no duplicate address on the bus (PC defaults to 0, CPU defaults to 2).
TIA Portal "Accessible devices" returns an empty list DCP broadcast blocked by switch, NIC firewall, or VLAN Disable Windows Firewall temporarily, connect directly (no switch), or set the DCP-enabled port on the managed switch.
Online session drops every 20-30 s Bus master (CPU) in STOP, scan time exceeded, or CPU in ramp-up Check CPU mode, reduce PG polling to 5 s, watch the SF/BF LEDs on the CPU.
Download aborts with "Online: Different firmware version" Project created against newer firmware than the CPU Right-click CPU → Object Properties → Compatibility, or recompile the project against the older firmware target.
USB/PPI cable recognized in Device Manager but not in PG/PC Interface Cable is 6ES7 901-3DB30-0XA0 — S7-200 only Replace with 6ES7 972-0CB20-0XA0 (MPI/DP) for S7-300.
Online OK on MPI but Ethernet access fails CPU is CPU 31x-2 DP variant (no PROFINET) Verify the MLFB suffix; "PN/DP" indicates PROFINET. Pure "DP" requires a CP 343-1 (6GK7 343-1EX11-0XE0) for Ethernet.

10. Status LED and Diagnostic Code Reference

Before assuming a cable fault, decode the CPU's front-panel LEDs per the S7-300 Hardware and Installation manual:

LED State Meaning Programming Action
SF (red) On Hardware or programming fault Read diagnostic buffer; clear cause; restart CPU
BF (red, on DP/PB port) Flashing Bus fault — no partner or wiring break Check PROFIBUS connector, terminator, shielding
BF (red, on PN port) On No PROFINET connection Verify IP, subnet, device name, and physical link
MAINT (yellow) Flashing Firmware update in progress or maintenance demanded Wait; do not power-cycle during FW update
DC 5V (green) On Internal logic power OK Proceed with online connection
RUN (green) Flashing 2 Hz CPU in STARTUP Wait for OB100 to complete; check for parameter errors
RUN (green) On CPU in RUN, program executing Online read-only; STOP before download
STOP (yellow) On CPU in STOP, no program execution Safe state for full download

11. Field-Proven Configuration Patterns

11.1 Single Laptop to a Stand-Alone S7-300

This is the bench / startup configuration. The 6ES7 972-0CB20-0XA0 PC Adapter is the only device on the MPI bus. Set its terminator slider to ON, PC MPI address to 0, bus speed to 187.5 kbit/s, and the highest MPI address to 31. This isolates the CPU from any noise on long PROFIBUS segments during commissioning.

11.2 Permanent Programming Station on PROFINET

For a control room PC connected to a CPU 319-3 PN/DP, install the CP 1612 A2 (6GK1 161-2AA00) on a PCIe slot. The card presents a "SIMATIC NET" interface to STEP 7, eliminating USB cable wear and providing a 100 Mbit/s full-duplex link to the CPU. Configure the CP in SIMATIC NET Configuration and bind it to a unique PROFINET device name (e.g. pg-station-01).

11.3 Mixed Fleet Programming (S7-200, S7-300, S7-400, S7-1500)

Maintain two cables at the bench:

  • USB/PPI Multi-Master (6ES7 901-3DB30-0XA0) for S7-200 with Micro/WIN Smart.
  • PC Adapter USB (6ES7 972-0CB20-0XA0) for S7-300/S7-400 with STEP 7 V5.5 and TIA Portal.

For S7-1500, an Ethernet patch is sufficient — the 1510SP/1511/1515/1516 CPUs all have integrated PROFINET with auto-cross-over, and TIA Portal discovers them via DCP.

12. Safety, ESD, and Wiring Precautions

  • Discharge personal static before touching the CPU or the PC Adapter Sub-D. MPI connectors are not ESD-hardened; a 100 V discharge can latch-up the RS-485 transceiver.
  • Maintain PROFIBUS shield continuity through the connector hood. The 6ES7 972-0CB20-0XA0 ships with a metalized hood that contacts the bus cable shield — do not replace it with a plastic hood.
  • Do not route the USB programming cable parallel to VFD power cables inside the cabinet. Maintain 200 mm of separation, or cross at 90°.
  • When the CPU is in RUN, a "Download to target" without an OB stop request can cause cycle time overruns. Always switch to STOP first when changing the hardware configuration (HW Config).
  • The PC Adapter's 24 V supply input is not used in the 0CB20 variant; do not feed it from an external source.

13. Document Cross-References

  • For the full mechanical installation sequence, permissible cable types, and EMC guidance, refer to the official SIMATIC S7-300 Automation System, Hardware and Installation manual (Siemens entry ID 15390415). Sections 4 through 6 cover grounding, wiring, and PROFIBUS segment length rules.
  • For bus speed vs. segment length tradeoffs, use the PROFIBUS design guide in the same manual (Table 6-1): 1000 m at 187.5 kbit/s, 200 m at 1.5 Mbit/s, 100 m at 12 Mbit/s. A bus analyzer (e.g. Softing PROFINET-INspektor) is the only way to verify signal quality beyond the S7-300's own diagnostics.
  • For firmware version-specific behavior, the S7-300 CPU 31xC and 31x manual set (entry IDs 12996906 for 31x/31xC, 13609459 for 31x-2 PN/DP) defines the change history and the migration path from V2.x to V3.x firmwares.

14. FAQ

Can I use a USB/PPI Multi-Master cable (6ES7 901-3DB30-0XA0) with an S7-300?

No. The 6ES7 901-3DB30-0XA0 is a PPI-only cable designed for the S7-200 series. It will physically seat in an S7-300 Sub-D but will never complete an MPI handshake. Replace it with the 6ES7 972-0CB20-0XA0 PC Adapter USB for MPI/DP programming.

What is the correct MPI transmission rate to start with?

Use 187.5 kbit/s as the default. This is the CPU's out-of-the-box MPI rate and the only speed guaranteed to work regardless of firmware version. You can raise it to 1.5 Mbit/s later via HW Config, but the bus must be re-profiled and the highest MPI address on every station adjusted.

My S7-300 has a PROFINET port. Do I still need the PC Adapter USB?

For the first session, the PC Adapter USB is recommended because it does not require a known IP. Once the CPU's IP is set and accessible, switch to Ethernet — it is faster, supports the full 12 Mbit/s program download, and removes the USB cable as a single point of failure.

Why does STEP 7 show "Online: Different firmware version found in target"?

The project was compiled for a newer firmware than the CPU carries (or vice versa). Open the CPU's object properties in HW Config and re-compile against the target firmware, or install the matching firmware via a SIMATIC Memory Card (6ES7 954-8LF02-0AA0 for 2 MB, 6ES7 954-8LL02-0AA0 for 8 MB).

Can I connect the S7-300 to my PC over a corporate Ethernet network?

Not directly for programming. PROFINET DCP and S7 communication rely on Layer-2 multicast and UDP broadcasts that enterprise switches typically filter. Use a dedicated engineering port, a small unmanaged switch on the bench, or a managed switch with DCP forwarding enabled on the relevant VLAN.

Back to blog