Troubleshooting IM308-B PROFIBUS Master EPROM Programming on S5

David Krause12 min read
ProfibusSiemensTroubleshooting
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

System Overview: IM308-B as PROFIBUS Master on SIMATIC S5

The Siemens IM308-B (order number 6ES5308-3UB11) is a PROFIBUS-DP master module for the SIMATIC S5-115U, S5-135U, and S5-155U PLC families. It occupies one slot in a standard S5 rack and is recognized by the AG (automation device) as an intelligent coprocessor. The master runs a DP-V0 class-1 service and exchanges process data with DP slaves over a shielded twisted-pair PROFIBUS cable, terminated with 9-pin D-sub connectors and bus terminators at both line ends.

The IM308-B has its own operating mode selector, a status LED block (RN / ST / IF / BA / SD / RD), and a memory-card slot on its front bezel. The slot accepts one EPROM or EEPROM submodule of the 6ES5375-1xxxx family, which holds the slave configuration database (the GSD-derived configuration image) plus the bus parameters. At PLC power-up the IM308-B copies the configuration from the memory card into its dual-port RAM, then starts the bus.

The configuration image is generated offline on a PG/PC using COM PROFIBUS (older name: COMET200) and is then written to the EPROM. Once programmed, the EPROM is inserted in the IM308-B and the master can be replaced or cold-started without losing its bus database — an essential feature for maintenance and field replacement.

Hardware Configuration Reference

The following parts list reflects a working reference configuration. All catalog numbers are Siemens MLFBs and can be cross-referenced against the current Siemens Industry Online Support portal.

Slot Module Order Number (MLFB) Function
PG PG 710 Plus (or PG 720/740) 6ES7710-... Programming device with STEP 5 V7.23
Rack 0 CR (Central Rack) 6ES5700-2LA11 S5 rack, 9 slots
1 Power Supply 6ES5951-7LB21 PS 951, 5 V/15 A
2 CPU 944 6ES5944-7UA21 AG 115U central processor
3 Digital Input 32x24 V DC 6ES5430-7LA12 Maps to I 0.0 – I 3.7 via IM306
4–5 Reserved / spare
6 IM 308-B + adaptation casing 6ES5308-3UB11 / 6ES5491-0LB11 PROFIBUS-DP master
7 IM 306 6ES5306-7LA11 Page-frame address assignment
ET 200U slave (DP-V0) 6ES5318-8MB13 Remote I/O at PROFIBUS station 3
Digital Output 32x24 V DC 6ES5441-8MA11 Maps to Q 10.0 – Q 10.7 via COMET200
PROFIBUS bus cable 6ES5700-8MA11 2-core shielded, violet sheath
Memory submodule (EPROM) 6ES5375-1LA21 256 KB, programming no. 412
USB-PROMMER 6ES7792-0AA00-0XA0 External EPROM programmer

Note — EPROM capacity vs programming number. The 6ES5375-1LA21 is a 256 KB EPROM in 32-pin DIL housing. The IM308-B COMET200 catalog maps this module to programming number 412. Using any other programming number (for example 411 for the older 128 KB module) will cause the download to fail with "Wrong submodule or no submodule plugged in" even if the EPROM is electrically intact.

COMET200 / COM PROFIBUS Configuration Procedure

Configuration is performed offline with COM PROFIBUS V5.1.2.2 (COMET200). Launch the tool, create a new project, and step through the following screens.

F1 — ET200 System Parameters

Parameter Value Notes
System name profibus-test User-defined, 8 characters max
Station number of IM308-B master 1 Master is always on PROFIBUS station 1 by convention
PG connected to bus N Disable if no online PG on segment
Second IM308-B N Single-master segment
Additional active station N No secondary master
Baud rate 187.5 kbit/s Acceptable for cable lengths up to 1000 m. Common rates: 9.6 / 19.2 / 93.75 / 187.5 / 500 kbit/s and 1.5 / 3 / 6 / 12 Mbit/s
Bus profile DP – Standard Must match the slave profile. See section "DP Standard vs Siemens DP" below.
CPU type C CPU 944 belongs to class "C" in COMET200
Response monitoring Y 000.1 s QVZ (QuittungsVerZeit) 100 ms
QVZ when station fails Y CPU goes to STOP on QVZ timeout
Diagnostics Y, address 252 Reserved diagnostics slot in the dual-port RAM
Dual-port RAM address N DPR page is implicitly assigned by IM308-B
Power-up delay 20 s Bus start delay after PLC RUN

F2 — Slave Configuration

For the ET200U at station 3, configure the slot map exactly as the physical hardware installed. An incorrect slot map is the most common cause of a slave not coming online, even with a valid GSD file.

Station number : 3
Area          : P  (peripheral)
Station type  : ET200U
Station name  : et200u_station_3

Next available address  DI : 10   DQ : 11   AI : 0    AQ : 0

Configuration:
   Slot | Module | I address | Q address
   -----+--------+-----------+----------
    0   | 8 DQ   |   1.000   |    —
    1   | (empty)|    —      |    —
    2   | (empty)|    —      |    —
    …
    31  | (empty)|    —      |    —

Save the project as C:\TEST01\ET.200. The file extension .200 is the native COMET200 configuration file.

CPU User Program for Loopback Test

Before debugging PROFIBUS, program the CPU with a minimal loopback so the engineer can verify that I/Q addressing is correct. A one-line OB1 is sufficient:

// OB1 – Cycle
      L    IB    0           // Read inputs from digital input module 6ES5430
      T    QB   10           // Mirror onto digital output module at Q 10.0
      BE

When PROFIBUS is healthy, the digital-output LEDs on the ET200U should follow the digital-input LEDs on the S5-115U rack. If they do not, the failure is in the bus, not the application code.

EPROM 6ES5375-1LA21 Programming Methods

There are three documented paths for moving the COMET200 configuration into the 6ES5375-1LA21 EPROM. Each path uses a different tool chain and each has its own failure modes.

Method A — Direct programming from COMET200 menu F3 (in-system programmer)

  1. Open the saved .200 project in COMET200.
  2. From F3 — Transfer functions select Transfer partner: E(E)PROM / File.
  3. From F1 — Programming of memory submodule enter programming number 412 for the 6ES5375-1LA21.
  4. Insert the EPROM in the in-system programmer attached to the PG.
  5. Click Start.

Failure mode: "Wrong submodule or no submodule plugged in" — see Troubleshooting section.

Method B — Convert project to binary file, then program with STEP 5 EPROM Programming tool

  1. In COMET200 F3, choose F4 — Program file → Binary file and save as A:\TEST01\BN.200.
  2. Transfer BN.200 to a PG with STEP 5 V7.23 and the USB-PROMMER 6ES7792-0AA00-0XA0 installed.
  3. Start Start → Simatic → STEP 5 → S5 Eprom (application STEP5 EPROM Programming V1.0).
  4. From the Module menu select Load from binary file, browse to A:\TEST01\BN.200, set Block A, programming number 412, mode BYTE.
  5. Insert the 6ES5375-1LA21 into the USB-PROMMER socket and click Start.
  6. Confirm the prompt Binary file transferred to module — write cycle takes 60 – 90 s for 256 KB.

Method C — Classic DOS programmer under STEP 5 project environment

For older PGs without USB:

  1. Open the STEP 5 project containing the COMET200 export.
  2. From STEP 5 → File → Project → Set → 6 EPROM configure the EPROM target (programming no. 412, type 6ES5375-1LA21).
  3. From Management → EPROM Handling, select Write and follow the prompts.

Resolving "Wrong Submodule or No Submodule Plugged In"

This is the most common error encountered and has several independent root causes. Apply the remedies in the order listed.

Root Cause Diagnostic Check Remedy
Wrong programming number in COMET200 F1 prompt (e.g. 411 instead of 412) Read the printed MLFB on the EPROM ceramic package Re-enter 412 for 6ES5375-1LA21
STEP 5 EPROM driver does not recognise the submodule ID from COMET200 V5.1.x Test under both STEP 5 V7.23 and a V6.x baseline Use Method B: convert to binary, then program through STEP 5 EPROM Programming V1.0
COMET200 was launched from inside STEP 5 instead of standalone Close STEP 5 first, then start COMET200 from its own program group Run COMET200 V4.1+ as a standalone DOS or Windows program
USB-PROMmer driver mismatch (PC ↔ EPROM ID handshake) Try a different USB port; check the S5EPROG.ini mapping Re-install the S5Toolbox or STEP 5 driver package matching the Windows version
Damaged submodule socket or oxidised pins on the EPROM Inspect DIL pins under magnification; test EPROM in a known-good programmer Clean with isopropyl alcohol; replace the EPROM if verified bad with STEP 5 EPROM Programming Verify
Step 5 V2.3 EPROM driver known-incompatible with COMET200 V4.1 Check win.ini and step5.ini for conflicting EPROM type tables Upgrade the PG to STEP 5 V6.5 / V7.23 with the S5Toolbox patch

Note — "MCRDCTRL — The memory card is not inserted". This second error string is reported by the USB-PROMMER firmware when the DIL socket is empty or the EPROM is mis-oriented. The pin-1 indicator (a small notch or dot) on the 6ES5375-1LA21 must face the same direction as the marking on the ZIF socket lever. Closing the lever with the chip reversed can be damaged-free on some programmers but will not be detected, leading to the MCRDCTRL error.

IM308-B LED Diagnostics and Startup Behaviour

After the EPROM is verified, install it in the IM308-B with the PLC powered off, mode switch on the IM308-B in ST (Stop). Power on and wait for the CPU to complete its start-up. Then move the IM308-B switch to RN (Run). The expected LED pattern is:

Phase RN ST IF BA SD/RD Interpretation
Power-up, EPROM valid OFF ON OFF OFF OFF IM308-B in Stop, configuration loaded into DPR
Switch to RN OFF blinks 1 Hz ON OFF OFF Master initialising, scanning bus
Normal operation ON OFF OFF ON (steady) flicker with traffic Bus active, slaves in data exchange
Configuration mismatch OFF fast blink ON OFF OFF One or more slaves did not match the EPROM database
QVZ timeout OFF fast blink ON OFF OFF Slave failed to respond within 100 ms

The reported symptom — ST blinks, IF stays on, BA off, no data exchange — corresponds to initialisation failure or configuration mismatch. Treat it as a comparison between the EPROM image and the physical bus, not a hardware defect on the IM308-B.

DP Standard vs Siemens DP Protocol Selection

When the IM308-B is configured as a master, the bus profile must be selected as either DP – Standard (PROFIBUS-DP, IEC 61158/EN 50170) or Siemens DP (the older proprietary subset). For all third-party slaves and any slave whose GSD declares DP-V0 compliance, the profile must be DP – Standard.

For the older Siemens DP slaves such as the IM318-B, a profile mismatch is a frequent source of ST blinks + IF on:

  • Set the DP / Standard DP selector on the IM318-B DIP switch block to match the value programmed into the IM308-B EPROM.
  • Verify the setting visually with the IM318-B's own status LEDs; a flashing red SF LED indicates a profile conflict.

When the system contains a mix of ET200U and IM318-B slaves, the safest engineering choice is to set both switches to Standard DP and keep all configuration in the COMET200-native .200 database.

Verification Procedure

  1. Power up the PLC, CPU reaches RUN, IM308-B in ST.
  2. Move IM308-B switch to RN. Confirm LED pattern reaches BA on, SD/RD flicker within 20 s (matches the 20 s power-up delay).
  3. Force a digital input at the S5 rack input module 6ES5430. The corresponding bit on the ET200U-side digital-output module 6ES5441 should toggle within one OB1 cycle (typically 20 – 100 ms).
  4. Use COM PROFIBUS online Live List to confirm that station 3 (ET200U) is in data exchange and not in diagnostic state.
  5. Remove and reinsert the EPROM, repeat steps 1 – 4. The configuration should be identical, demonstrating that the database is stored in the EPROM and not in volatile RAM.

Troubleshooting Matrix

Symptom Most Likely Cause Action
USB-PROMMER: "MCRDCTRL — memory card is not inserted" Empty socket, mis-oriented EPROM, or dirty contacts Re-seat EPROM, verify pin-1 orientation, clean socket
COMET200 F3: "Wrong submodule or no submodule plugged in" Programming number ≠ 412, or driver mismatch Use Method B binary-export path
STEP 5 EPROM Programming reports EPROM blank after Verify Under-erase condition on reused EPROM Use a UV eraser for 30 min; replace if windowed-type is exhausted
IM308-B: ST blinks, IF on, BA off Configuration mismatch / slave QVZ Check bus profile match, check 24 V to slave, check station address DIP on ET200U
IM308-B: ST on solid, switch has no effect IM308-B is in hard STOP, dual-port RAM not initialised Cycle power; re-insert EPROM; check DPR address in COMET200
BA LED on, but slave data not updated in OB1 I/Q addresses in CPU differ from COMET200 mapping Verify IM306 page-frame assignment and COMET200 DI/DQ/AI/AQ fields
Bus error after 12 hours continuous run Loose D-sub connector or missing terminator Tighten connectors; ensure terminator ON at both line ends, OFF on intermediate nodes

Field-Proven Caveats

  • EPROMS are one-time-programmable only with the USB-PROMMER's high-voltage programming algorithm. The device must have a quartz window (the "windowed" variant of 6ES5375-1LA21) to be UV-erasable. OTP variants are field-replaceable but not field-reusable.
  • COMET200 versions are not interchangeable with all STEP 5 versions. The 6.x and 7.x STEP 5 baselines ship with an updated EPROM driver table. If the table does not list the 6ES5375-1LA21, the binary-export method (Method B) is the reliable workaround.
  • PG720/PG740 with STEP 5 V2.3 is documented to produce the same "Wrong submodule" message. Upgrading to STEP 5 V6.5 or V7.23 with the S5Toolbox typically resolves it.
  • Power-up delay in COMET200 is in seconds and applies to the bus start, not the PLC start. A 20-s value is reasonable for cold-start applications but should be reduced to 1 – 2 s in hot-swap or tool-changeover cells.
  • Response monitoring time (QVZ) of 100 ms is tight for 187.5 kbit/s with a single ET200U. If the slave periodically fails during motor-start EMI bursts, raise the QVZ to 200 – 500 ms or fit ferrite cores on the bus cable near the slave.

FAQ

What programming number corresponds to the 6ES5375-1LA21 EPROM in COMET200?

Programming number 412. Using 411 (the older 128 KB module) produces a "Wrong submodule or no submodule plugged in" error even with a good EPROM.

How do I write the COMET200 configuration to the 6ES5375-1LA21 with the USB-PROMMER 6ES7792-0AA00-0XA0?

Convert the .200 project to a binary file in COMET200 (F4), copy the BN.200 to the PG that has STEP 5 V7.23 and the USB-PROMMER, then run Start → Simatic → STEP 5 → S5 Eprom, select Load from binary file, set Block A, programming number 412, mode BYTE, and click Start.

Why does my IM308-B show ST blinking and IF on after power-up?

That pattern means the master has accepted the EPROM database but the bus is not reaching data exchange. Check the bus profile (DP Standard vs Siemens DP), the slave station address DIP switches, the 24 V supply at the ET200U, and the bus terminators at both line ends.

Is the COMET200 V5.1.2.2 configuration compatible with STEP 5 V2.3?

Operationally yes for editing and online diagnostics, but the EPROM driver of STEP 5 V2.3 is incompatible with the COMET200 EPROM format and will reject the module. Use the binary-export path (Method B) or upgrade the PG to STEP 5 V6.5 / V7.23.

What is the maximum bus length for 187.5 kbit/s on the IM308-B?

Per the PROFIBUS-DP installation guide, 187.5 kbit/s allows up to 1000 m per segment. The 6ES5700-8MA11 violet PROFIBUS cable from Siemens meets the required 135 Ω to 165 Ω characteristic impedance, 30 nF/km capacitance, and 110 Ω/km loop resistance.

Back to blog