Troubleshooting CP5611 MPI Error 0xCB on S7-300 CPU 314 IFM

David Krause13 min read
Industrial NetworkingSiemensTroubleshooting
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: SCADA CommCut on a Siemens S7-300 MPI Link

A concrete-batching plant SCADA workstation reported a persistent CommCut alarm on the operator HMI. The SCADA application (Skob++) lost visibility of the controlling PLC. The PC-side stack consisted of:

Layer Component Version / Detail
Host operating system Microsoft Windows 98 First Edition OSR 1, kernel 4.10.1998
SCADA application Skob++ (Borland Paradox/BDE recipe backend) Concrete-batching recipe manager
PC communication card Siemens CP 5611 PCI, MPI/Profibus master, 12 Mbit/s
PLC CPU SIMATIC S7-300 CPU 314 IFM Integrated I/O, MPI port on X1
Network Point-to-point MPI, two nodes (PC=0, CPU=2) 187.5 kbit/s default
Tooling originally present STEP 7 V4.02 No SIMATIC NET, no OPC server

The symptom set included: BAT.F LED on the CPU, an MPI diagnostic test reporting Error 0xCB ("Bad configuration"), driver loss after the CP 5611 was reseated, and PC POST errors that required a RAM swap.

CP 5611 Hardware and MPI Protocol Background

The Siemens CP 5611 is a PCI master card implementing the MPI/PROFIBUS DP interface for PC-based programming and HMI/SCADA connectivity. Key characteristics:

  • Form factor: 32-bit PCI, 5 V signaling.
  • Supported protocols: MPI (187.5 kbit/s, 1.5 Mbit/s), PROFIBUS DP master up to 12 Mbit/s.
  • Driver model: ASPC 2 (DPRAM ASIC) on Windows 9x/ME/NT/2000/XP; SIMATIC NET PC software required for runtime use.
  • Default MPI address: 0 (master), bus terminating resistor on the PROFIBUS connector switchable.
  • LED indicators on the bracket: ACT (yellow) and ERR (red) provide link-layer status feedback.

MPI is a token-passing, RS-485-based multi-master fieldbus derived from PROFIBUS. The CPU 314 IFM exposes an MPI port directly on the front connector X1. Two nodes are sufficient for a point-to-point link, but the bus must be terminated at both ends (typically "ON" at the CPU connector and "ON" at the CP 5611 PROFIBUS connector). Without termination, intermittent CommCut symptoms appear identical to a driver-stack failure.

CPU 314 IFM Buffer-Battery, BAT.F LED, and What It Means

The CPU 314 IFM (6ES7 314-5AE0x-0AB0) integrates 24 DI / 16 DO / 4 AI / 2 AO onboard. The BAT.F LED indicates that backup voltage for the internal RAM and retentive data has dropped below threshold. On a 314 IFM the buffer-battery compartment is accessible from the front of the module:

  1. Power off the rack and remove the door flap.
  2. Insert one 3.6 V lithium thionyl chloride AA cell (Siemens part 6ES7971-1AA00-0AA0) observing polarity as marked inside the cavity.
  3. Power on. BAT.F must clear within 10 seconds if retentive load is within spec.
Note: A lit BAT.F LED is a battery symptom, not a communications symptom. Replacing the battery clears the LED but does not fix MPI faults. In the original incident the BAT.F cleared but the CommCut persisted, which is the giveaway that the real cause is downstream of the CPU buffer.

Interpreting Error 0xCB from "Set PG/PC Interface > Diagnostics > Test"

The "Set PG/PC Interface" diagnostic test runs a Layer-2 loopback handshake against the active access point (for example S7ONLINE (STEP7) -> CP5611(MPI)). The result codes are derived from the SIMATIC NET / S7-DOS interface, not from the SCADA tag database.

Result Hex Code Meaning Likely Cause
OK 0x0000 Layer-2 handshake passed, partner found Healthy bus, correct access point, no duplicate addresses
Bad configuration 0x00CB Configured access point do not match installed hardware or the configured protocol is not active on the device CP 5611 driver not bound to the active access point, wrong firmware, or wrong PCI slot resource
No partner found 0x0A0A Bus physically present, no response from configured address Wrong MPI address, terminated bus, CPU in STOP/HALT with no bus activity
Duplicate address 0x0C8C Two nodes claim the same MPI address PG and CPU both at 0, or two CPUs with default address
Bus short-circuit 0x0F0F A and B lines shorted or reversed Cabling error, missing terminator active at a midpoint

Error 0xCB therefore is a configuration error, not a cable error. The bus is physically present (the "Diagnostics > Read" step returned ticks on MPI addresses 0 and 2) but the test cannot open the configured protocol endpoint on the CP 5611. Typical root causes on Windows 98 FE:

  1. The SIMATIC NET / S7-DOS interface is not installed, but the access point was left pointing at CP5611(MPI).
  2. The PCI card was reseated and Windows 98 reassigned the PCI IRQ. The CP 5611 driver expects the legacy IRQ it was bound to at install time.
  3. A second PCI card (e.g., the 2S+1P combo card) was removed, changing the PCI enumeration order and forcing Windows to re-enumerate the CP 5611 on a different IRQ.
  4. The driver was partially uninstalled by hand, leaving a phantom device entry with no matching hardware.

Driver Stack and DLL Dependencies for Windows 9x

The MPI access path on Windows 9x is layered. Knowing which DLL performs which job is the difference between a ten-minute fix and a day of guessing.

DLL Role Owner
S7ONLINX.DLL S7ONLINE access point engine. Resolves the configured interface (CP5611, SoftMPI, etc.) and dispatches S7 protocol PDUs. STEP 7 / SIMATIC NET
W95_S7.DLL Windows 9x-specific transport binding between S7ONLINE and the ASPC 2 driver. Provides read/write access to PLC tags through MPI without a full SIMATIC NET install. STEP 7 V4.x
ASPC2.SYS Kernel-mode CP 5611 driver. Owns the PCI resource and the ASPC 2 ASIC. SIMATIC NET
CP5611.DLL User-mode helper that abstracts ASPC 2 to S7ONLINE. SIMATIC NET
BDE / IDAPI Borland Database Engine used by Skob++ for recipes (not for live tag polling). Borland
Field tip: The presence of S7ONLINX.DLL alongside W95_S7.DLL confirms a STEP 7 V4.x style install (not SIMATIC NET). Skob++ in this stack almost certainly loads S7ONLINX.DLL directly via a vendor SDK, so any missing or version-mismatched S7ONLINE binary breaks CommCut reporting even when the CP 5611 itself is healthy.

Root-Cause Analysis of This Incident

Cross-referencing the symptoms on site with the bench verification on a Windows XP / STEP 7 Lite V3 host yields a deterministic root-cause map:

  1. Battery (resolved). BAT.F LED cleared after battery replacement. Confirmed not the CommCut cause.
  2. Cabling and CPU (resolved). On a known-good XP/STEP 7 Lite V3 host the same CP 5611 reached MPI node 2 cleanly. This proves cable, connector, terminator, and CPU X1 port are functional.
  3. CP 5611 driver (suspected). After the card was moved back to the Windows 98 FE PC, the device was visible to Windows but threw Error 0xCB on the access-point test. Reinstalling the driver without re-binding the S7ONLINE access point leaves the system in an inconsistent state.
  4. PCI enumeration drift (confirmed). Replacing the system RAM and removing an unused 2S+1P PCI card forced Windows 98 to renumber PCI slots. The CP 5611 landed on a new IRQ. The S7ONLINE access point "CP5611(MPI)" was still configured against the old binding.
  5. SCADA configuration (untested). Skob++ recipe handling uses BDE; live tag polling typically uses an S7ONLINE-access-point setting inside Skob++'s own project file. That project-side setting was never re-validated against the freshly installed driver stack.

Step-by-Step Recovery Procedure

Prerequisites

  • Original Windows 98 FE PC, power cycled.
  • CP 5611 PCI card seated in a slot with no IRQ sharing (BIOS "Assign IRQ to VGA" and "PNP OS" set to No if available).
  • STEP 7 Lite V2.0 + SP1 + SP2 media. According to Siemens STEP 7 Lite V2 SP2 release note, version 2 SP2 is the last release that supports Windows 98.
  • Access to Siemens Industry Online Support via a working machine for KB article retrieval.

Procedure

  1. Verify PCI resources. Boot the PC into Windows 98 FE. Open Control Panel > System > Device Manager. Confirm the CP 5611 appears with no yellow exclamation mark. If a question mark is shown, force a re-scan with Refresh after seating the card.
  2. Reinstall the driver cleanly.
    1. In Device Manager, right-click the CP 5611 and uninstall the device, deleting the driver.
    2. Power off, reseat the CP 5611 in the same PCI slot.
    3. Power on. Windows 98 detects the PCI device and prompts for the driver source. Point it at the STEP 7 Lite V2 SP2 install media \CP5611\WIN98 directory.
    4. Reboot after install.
  3. Re-bind the S7ONLINE access point. Open Set PG/PC Interface. From the Access Point of the Application dropdown, select S7ONLINE (STEP7) -> CP5611(MPI). Set CP 5611 parameters: Address = 0, Transmission rate = 187.5 kbit/s, Highest MPI address = 31. Confirm with OK.
  4. Validate with the diagnostics tool. Still inside Set PG/PC Interface, run Diagnostics > Read. Two ticks (on MPI 0 and 2) must appear. Run Test. The expected result is OK; an Error 0x00CB at this stage means the access-point is bound to a non-existent or wrong protocol DLL.
  5. Validate STEP 7 online connection. Open STEP 7 Lite V2 SP2, create an empty project, choose PLC > Display Accessible Nodes. The CPU 314 IFM at MPI 2 must appear within 5 seconds. If it does, the S7ONLINE stack is healthy.
  6. Re-point Skob++ to the access point. Inside Skob++ project settings, confirm the S7 interface points at S7ONLINE, not at a hard-coded CP5611(MPI). Restart the SCADA service.
  7. Force a recipe database consistency check. Skob++ uses Borland BDE/Paradox. Run BDE Administrator > Configuration > Drivers > Paradox > Net Dir and ensure the path resolves. A stale Net Dir entry does not cause CommCut but will mask it with a misleading error.

Verification

  1. The Set PG/PC Interface > Test button returns OK with two ticks on nodes 0 and 2.
  2. STEP 7 Lite V2 SP2 can go online to MPI 2 and toggle the CPU between STOP and RUN.
  3. Skob++ polls live tags without generating a new CommCut alarm within a 30-minute burn-in.
  4. The CP 5611 ACT LED flashes at roughly 1 Hz with the SCADA online; ERR LED remains dark.

MPI Bus Setup Reference

For two-node MPI, the bus must meet the following constraints:

Parameter Value Notes
Topology Point-to-point with active terminators on both ends RS-485, 2-wire shielded
Baud rate 187.5 kbit/s CPU 314 IFM default; do not exceed unless all nodes support the higher rate
Maximum stub length 0 m (no stubs on point-to-point) Repeater (RS 485) required if longer distance is needed
Node addresses PC=0, CPU=2 Default MPI addresses; do not duplicate
Connector PROFIBUS connector with switchable terminator (e.g., 6ES7972-0BA12-0XA0) Set terminator to ON at both ends

When extending a multi-node MPI that connects an HMI station and two CPUs through a common bus with PG socket, refer to Siemens KB "How to set up MPI network for programming two PLC (S7-300)" for the wiring and terminator rules applicable to three-node topologies.

Troubleshooting Matrix

Symptom First Check Second Check Resolution
CommCut, BAT.F lit Battery voltage CPU buffer OK after replacement Replace 6ES7971-1AA00-0AA0
Set PG/PC Test = 0x00CB Access point bound to installed hardware Device Manager shows CP 5611 without warning Re-bind access point; reinstall driver
Diagnostics Read shows 0 and 2 ticks but Test fails Wrong protocol in access point Wrong transmission rate Switch to CP5611(MPI), 187.5 kbit/s
SCADA comm OK on bench PC but not on plant PC PCI IRQ drift after hardware change Driver DLL mismatch Uninstall driver, reseat card, rebind access point
Skob++ "CommCut" with green CP 5611 ACT LED Skob++ project-side S7 interface S7ONLINX.DLL version mismatch Reinstall STEP 7 V4.x DLL set; reconfigure project
Step7 Lite V2 not running on Windows 98 FE OS version Installed STEP 7 Lite build Use STEP 7 Lite V2.0 SP2, the last Windows 98 release per Siemens

Step 7 Lite Compatibility on Legacy Windows

Siemens published the following compatibility map for STEP 7 Lite:

Version Last Service Pack Supported Windows Notes
STEP 7 Lite V2.0 SP2 Windows 98 / ME / NT 4.0 / 2000 Last generation that runs on Windows 98 FE
STEP 7 Lite V3.0 SP2 Windows 2000 / XP Does not install on Windows 98 FE

For Windows 98 FE the only sanctioned online diagnostic tool is STEP 7 Lite V2.0 + SP1 + SP2. Both the V2.0 base media and SP2 are published under entry 23642592 and 24372175 on the Siemens Industry Online Support site. When direct download is unavailable the recommended channel is a Siemens regional sales representative with a Support Request; dealers in many regions still hold physical media.

Field-Proven Caveats

  • PCI enumeration drift on Windows 9x. Windows 98 re-assigns IRQs at every hardware change until the registry PNP key is stable. Always reinstall the CP 5611 driver after any RAM or other PCI card swap, and never assume the S7ONLINE access point survives the move.
  • Don't trust a green ACT LED. The ACT LED reflects ASPC 2 transmit activity, not application-layer success. A SCADA can drive ACT while still throwing CommCut if the S7ONLINE access point is misbound.
  • Battery vs. comms. A lit BAT.F LED is often unrelated to CommCut. Treat it as an independent housekeeping task.
  • Borland BDE shadow. Recipe errors look similar to comms errors in Skob++ log output. Always confirm live tag polling first before chasing the recipe database.
  • Terminators on every rebuild. When a connector is unplugged and re-seated, the terminator switch position is occasionally toggled by mistake. Always verify "ON at both ends, OFF in the middle" before chasing driver errors.

When to Escalate to SIMATIC NET or a Newer OS

If the Windows 98 FE host cannot host a clean S7ONLINE stack after two clean reinstall attempts, escalate to one of the following paths:

  • Migrate the SCADA host to a supported OS (Windows 7 / Windows 10 LTSC) and install SIMATIC NET PC software with the S7 OPC server. The Skob++ vendor should provide an OPC client mode; if not, contact the SCADA vendor for a current S7ONLINE build.
  • Add an external MPI/Profibus-to-Ethernet gateway (e.g., a Siemens IE/PB Link PN IO) and migrate the SCADA link to PROFINET. This decouples the SCADA PC from the legacy PCI card and the Windows 98 OS entirely.
  • Replace the SCADA PC with an industrial panel (e.g., SIMATIC IPC or a third-party HMI panel running WinCC flexible) and use PROFINET or MPI natively.

Frequently Asked Questions

What does Error 0x00CB mean on the "Set PG/PC Interface" diagnostic test?

It is a configuration error, not a cable error. The CP 5611 driver is installed but the S7ONLINE access point is bound to a hardware/protocol combination that is not active. Re-bind S7ONLINE (STEP7) -> CP5611(MPI) at 187.5 kbit/s and confirm the device appears in Device Manager without warnings.

Does a lit BAT.F LED on a CPU 314 IFM cause CommCut on the SCADA?

No. The BAT.F LED signals low buffer battery voltage for the internal RAM. Replace the 3.6 V lithium AA cell (Siemens 6ES7971-1AA00-0AA0). The LED clears within 10 seconds; this does not fix MPI faults and should be treated as an independent housekeeping task.

Which STEP 7 Lite version supports Windows 98 First Edition?

STEP 7 Lite V2.0 SP2 is the last release that supports Windows 98. STEP 7 Lite V3.0 requires Windows 2000/XP and will not install on Windows 98 FE. Refer to Siemens KB 23642592 and 24372175 for the V2 base media and SP2 release note.

Why did the CP 5611 driver fail after I moved it to another PCI slot or replaced RAM?

Windows 9x reassigns PCI IRQs whenever the hardware enumeration changes. The S7ONLINE access point "CP5611(MPI)" was bound to the old IRQ/DLL pair. Uninstall the CP 5611 driver, reseat the card, reinstall the driver, and re-bind the access point.

How do I confirm the MPI bus and CPU are healthy without a SCADA running?

Open STEP 7 Lite, choose PLC > Display Accessible Nodes. The CPU 314 IFM at MPI address 2 must appear within 5 seconds. On the bench a healthy CP 5611 returns "OK" on Set PG/PC Interface > Diagnostics > Test. Both checks together isolate the bus and the PC stack.

Back to blog