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.
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)
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
- 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.
- Administrator rights on the engineering PC for driver installation and PG/PC interface registration.
- 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).
- 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.
- 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)
- Power down the S7-300 station and the PC.
- 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.
- 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).
- 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\Driveror the STEP 7 install media subfolder. - 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)
- 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.
- Confirm link status: the CPU's "LINK" LED on X2 must be solid green; flashing indicates a partner that is auto-negotiating.
- 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.1with mask255.255.255.0. Set the PC to192.168.0.10/255.255.255.0as a first attempt. - 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
- Open Start → SIMATIC → STEP 7 → Set PG/PC Interface (or, in TIA Portal: Options → Set PG/PC Interface).
- In the "Interface Parameter Assignment Used" list, select
PC Adapter (Auto)if STEP 7 should auto-detect the cable, orPC Adapter (MPI)for an explicit binding. - 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.
- Click OK, then OK again to commit. STEP 7 writes the choice to
HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\SINEC. - 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
- Open the project, expand the project tree, right-click the CPU and choose Go online → Accessible devices.
- From the "PG/PC Interface" drop-down, select
Intel(R) Ethernet Connection ... TCP/IP(or the actual NIC name). - Click Start search. TIA Portal broadcasts a DCP Identify request and lists reachable PROFINET stations with their IP, MAC, and device name.
- 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
- 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.
- The status bar should report Online — Connection established with a node address and the CPU's operating mode (STOP / RUN).
- 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).
- 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.