Resolving "No Module in Slot X" Error on Siemens ET200S PROFIBUS DP
During hardware configuration of a Siemens SIMATIC S7-300 station in STEP 7 (HWConfig), the following diagnostic message is emitted by the STEP 7 compiler:
"In the DP slave with PROFIBUS address 5 in the DP master system 1 there is no module in slot 4."
The error appears after pressing the Save and Compile button (or during an online download) and prevents the project from being downloaded to the CPU. The configuration in question typically features a CPU 317-2 DP acting as the PROFIBUS DP master, communicating with an ET200S distributed I/O station built around the IM 153-2BA02 interface module (order number 6ES7153-2BA02-0XB0). The IM 153-2BA02 supports the active backplane bus, which permits hot-swap replacement of I/O modules while the IM remains powered.
The core engineering question is whether leaving a physical slot empty (e.g., reserving it for future expansion) is permissible in HWConfig when the active backplane is in use, and how the error can be cleared without using a dummy module if at all possible.
6ES7 370-0AA01-0AA0) into the empty slot, (b) re-order the modules to close the gap, or (c) pre-allocate reserved slots with dummies at design time. The active backplane is unrelated to this compile-time check.1. Problem Overview
The HWConfig compiler enforces a strict 1:1 mapping between the offline configured slot table and the physical station layout. When you place modules into slots in HWConfig you are describing the physical arrangement of modules that will be (or already is) installed in the ET200S rack. The compiler cross-checks this against the rules of the IM (maximum number of modules, allowed module types per slot, power budget, terminal-module count, etc.) and against the rules of PROFIBUS DP (continuous slot numbering, no skipped addresses).
When a slot has no module configured, but the next higher slot is populated, the compiler emits the "no module in slot X" error because the configured topology implies that physical slot X is empty and the DP master has no module to address at that position. From the perspective of STEP 7, "gaps" in the configured rack are illegal, even if the physical ET200S supports hot-swap.
This is independent of the physical ET200S station - the compiler does not yet know what is plugged into the backplane. The compiler only validates the configured (logical) topology, so a slot reserved for future use and intentionally left empty in HWConfig will always trigger this error until it is filled in HWConfig as well.
2. Affected Hardware and System Configuration
The reported configuration consists of:
-
CPU 317-2 DP - S7-300 CPU with an integrated PROFIBUS DP interface, acting as the DP master in master system 1. The order-number family is
6ES7317-2xxx-0AB0(e.g.6ES7317-2EK14-0AB0for the latest 2AG/2EK revisions; older6ES7317-2AJ10-0AB0and6ES7317-2AK14-0AB0revisions exist). The latest firmware for the 2EK14 is reported in the Siemens Industry Online Support portal. -
ET200S interface module IM 153-2BA02 - Order number
6ES7153-2BA02-0XB0. This IM supports the active backplane and PROFIBUS DP-V1. The matching GSD file is shipped with STEP 7 V5.x and is also downloadable from the Siemens support portal. - PROFIBUS DP network - The CPU's integrated DP port serves as the master for DP master system 1. Transmission rate is selected in HWConfig (typically 1.5 Mbit/s or 12 Mbit/s for ET200S).
- DP slave address 5 - The ET200S is configured at PROFIBUS address 5, set on the DIP switches of the IM 153-2BA02.
- Slot 4 - The first user-data slot in the ET200S station after the power module (the IM is always slot 0, the PM is typically slot 1, and the EM modules occupy slots 2..n).
- STEP 7 (SIMATIC Manager) version - The configuration is edited in HWConfig, which is part of STEP 7 V5.4 / V5.5 / V5.6. TIA Portal also supports the same ET200S, but the offline compile behaviour is identical.
The IM 153-2BA02 provides up to 12 slots for power modules and electronic modules (a typical ET200S layout is: slot 0 = IM, slot 1 = PM, slots 2..n = EM/EM 1..n). The user's hardware layout apparently leaves one of these slots unpopulated in the configuration, with the intent of populating it later with a real I/O module.
3. Root Cause: STEP 7 HWConfig Compilation Logic
STEP 7 HWConfig treats the configured rack as a complete, gap-free description of the physical station. The following rules apply:
- Every slot from 0 to the maximum supported by the IM must be assigned a module (real, dummy, or reserved placeholder).
- The order of modules in HWConfig is identical to the order of modules in the physical station.
- The I/O addresses are assigned in slot order; an empty slot breaks the address mapping.
- The PROFIBUS DP standard (IEC 61158 / IEC 61784) defines slot-based addressing; skipping a slot is not legal at the DP protocol level.
When you click Save and Compile, the compiler walks the slot table in order. As soon as it finds a slot with no module and the next higher slot is populated, it raises the "no module in slot X" error. The error message contains the DP slave's PROFIBUS address, the master system number, and the offending slot number, which is sufficient to locate the gap in HWConfig.
The compiler is not aware of the active backplane. There is no checkbox or option in HWConfig that toggles the active-backplane behaviour for compilation purposes. The active backplane is purely a runtime property of the IM firmware.
4. Active Backplane: Function vs Misconception
The ET200S active backplane is a hardware feature of the IM 153-2BA02 (and the successor IM 153-2BAx0 variants) that allows terminal modules and electronic modules to be replaced while the IM remains powered. Practically, this means:
- I/O modules can be pulled from a powered ET200S station without first powering down the IM.
- The IM detects the removal/insertion of a module and reports it to the DP master via a diagnostic interrupt.
- A module missing or module added diagnostic event is generated and is available in the CPU's diagnostic buffer and in OB82 (diagnostic interrupt) in the user program.
- For the diagnostic to be processed, the user program must include an OB82; otherwise the CPU will go to STOP on a missing-module event.
This is a maintenance and availability feature, not a configuration feature. It does NOT mean:
- That the HWConfig compiler accepts gaps in the rack.
- That the CPU will read from an unconfigured slot during runtime.
- That modules can be left out of HWConfig "because they are not physically there yet".
A common engineering mistake is to interpret the active backplane as a permission to leave slots empty in the offline project. It is not. The active backplane and the HWConfig configuration are two completely separate layers of the system, and the configuration must always describe a complete, gap-free rack.
5. Diagnostic Procedure and Error Identification
To verify that the error you are seeing is the one described in this article:
- Open the SIMATIC Manager project.
- Open the HWConfig editor for the S7-300 station.
- Click the Save and Compile button, or Station > Save and Compile.
- The error dialog will list each gap with the exact text: "In the DP slave with PROFIBUS address N in the DP master system M there is no module in slot X."
- Note the PROFIBUS address, master system number, and slot number from the error.
To inspect the configured rack layout:
- In HWConfig, click on the ET200S station (the IM 153-2BA02).
- The slot table in the lower half of HWConfig shows all configured slots and their assigned modules.
- Empty slots appear as blank rows with a small icon; these are the offenders.
The diagnostic buffer of the CPU is not the source of this error - the error is emitted at compile time by STEP 7, not at runtime by the CPU. However, if you attempt to download a project with this error, you will see a Cannot download to target system message in STEP 7 and no further diagnostic-buffer entries are produced.
6. Solution 1: Insert a Dummy Module in HWConfig
The most widely applied fix is to use a SIMATIC dummy-module placeholder in the offending slot in HWConfig. The user reported that the following dummy-module order number resolved the issue:
-
6ES7 370-0AA01-0AA0- SIMATIC S7-300 DM370 dummy module.
The DM370 is a 40 mm wide passive module that occupies a slot in the S7-300 rack (or in HWConfig) but has no I/O functionality. It is a placeholder only. The key point is that it consumes a slot address in the configuration, so the compiler sees the slot as filled.
For an ET200S station, two approaches are valid:
- Use a DM370 (6ES7 370-0AA01-0AA0) in HWConfig only. Do not install a physical DM370 in the ET200S backplane - the user reported that the configuration is valid even without a physical dummy in the ET200S rack (the compiler only needs the slot to be logically filled). The physically empty slot in the real ET200S is fine, because at runtime the master addresses each configured slot; if a module is missing, the active backplane generates a diagnostic interrupt, but the CPU program itself will still work.
- Use a proper ET200S terminal module / placeholder such as the TM-E15S26-01 terminal module or similar. For real ET200S hardware, terminal modules must be present for all slots (to terminate the backplane), but this is a physical concern, not a HWConfig concern.
For ET200S, additional dedicated placeholder options include:
- Inserting a real ET200S electronic module (e.g. a 2DI digital-input module) into HWConfig even if the physical slot will be empty - the configuration will pass, but the runtime will report a missing module.
- Inserting a configured power module (PM-E) in a slot that will not host a real PM - useful when the actual PM is on a different slot for design reasons.
The DM370 is the cleanest, lightest-weight placeholder because it has no I/O and no diagnostic events of its own.
7. Solution 2: Shift Modules to Fill the Gap
If the empty slot is not reserved for any specific reason, simply re-arrange the configuration so that no slot is empty:
- In HWConfig, drag-and-drop the modules in the slot table so that they fill the slots starting at slot 1 (or slot 2 if a power module is in slot 1).
- Reorder the modules so that the gap is closed.
- Save and compile. The error will clear.
This solution is cleanest, but it requires that the slot is genuinely not needed. If the slot is reserved for future expansion, the dummy-module approach (Solution 1) is more appropriate. Note that re-ordering modules changes the I/O address mapping, so the user program may need to be updated to use the new addresses.
8. Solution 3: Project Planning Best Practices
The most common root cause of this error is leaving slots empty in HWConfig during the initial project design. To prevent the error from occurring:
- Pre-allocate all slots at design time, even if some slots will be populated later. Use DM370 dummies for reserved slots, then replace the DM370 with the real module when it becomes available. STEP 7 allows you to change the module type in a slot at any time (subject to the IM's module catalog constraints).
- Match the HWConfig layout to the physical layout exactly. If a drawing shows slot 4 empty, the HWConfig must show slot 4 with a DM370. If a drawing shows slot 4 populated, the HWConfig must show the real module. Misalignment is the most common source of confusion.
- Document the reserved slots in the project documentation and in the I&M (Identification & Maintenance) data of the ET200S station.
- Avoid designing "just in time". Reserve a generous amount of spare slots up front; adding spare capacity later requires recompilation and may invalidate process-image addresses.
9. Step-by-Step Implementation of the Dummy Module Solution
This is the canonical procedure to fix the error in a SIMATIC STEP 7 V5.x project:
- Open the project in SIMATIC Manager and double-click the S7-300 station icon, or right-click and choose Open HWConfig.
- Select the ET200S station by clicking the IM 153-2BA02 in the station window.
- Identify the offending slot in the lower slot table. The error message from the compiler identifies the exact slot number, e.g. slot 4.
- Open the module catalog by pressing F2 or by clicking the Catalog button. If the catalog is not visible, enable it via View > Catalog.
-
Navigate to SIMATIC 300 > Dummy modules > DM370 Dummy Module. The order number
6ES7 370-0AA01-0AA0should be visible. - Drag the DM370 from the catalog into slot 4 of the ET200S station. Alternatively, double-click the empty slot in the slot table and choose DM370 from the dialog.
- Verify the I/O addresses assigned to the DM370. The DM370 does not have I/O, but HWConfig may assign a small address range. Note these addresses for documentation purposes.
- Save the configuration with Ctrl+S or Station > Save.
- Compile the configuration with Ctrl+F7 or Station > Save and Compile. The compiler dialog should report "0 errors".
- Download the configuration to the CPU. To do this, select the S7-300 station and click the Download to Target System button. If the CPU is in RUN, the CPU will transition to STOP briefly and back to RUN; if the CPU is in STOP, the new configuration will take effect on RUN.
- Verify the diagnostic buffer of the CPU. In the SIMATIC Manager, right-click the CPU and choose PLC > Diagnostic Buffer. Look for entries that report "Module inserted" or "Module OK" for the ET200S station.
If the diagnostic buffer shows "Module missing" or "Module not OK" for the slot where the DM370 is configured, this is because the physical ET200S station does not have a module in that slot. This is normal when the DM370 is used only in HWConfig to satisfy the compiler. The CPU program will still work correctly, but the diagnostic buffer will show the missing module.
To suppress the diagnostic interrupt for the missing module, you can use SFC 51 SZL or SFC 13 DP_TOPOL to identify the topology, and either ignore the diagnostic event in OB82, or change the configuration to match the physical layout (i.e. remove the DM370 and the physical module too).
10. Verification Procedure
After applying one of the solutions, verify the fix using the following checks:
| # | Check | Method | Expected Result |
|---|---|---|---|
| 1 | Compiler runs clean | Save and Compile (Ctrl+F7) in HWConfig | "0 errors" reported |
| 2 | Project downloads to CPU | "Download to Target System" in HWConfig | Download completes without "Cannot download" message |
| 3 | CPU enters RUN | Observe CPU display or "PLC > Operating Mode" | CPU is in RUN, no SF (System Fault) LED |
| 4 | ET200S shows no missing module | Read the diagnostic buffer | No "Module missing" entries, or only the expected ones for slots that are intentionally empty |
| 5 | I/O addresses resolve | Check the variable table (VAT) or watch table | Process image contains the expected I/O |
| 6 | PROFIBUS diagnostics clean | Right-click DP master system, "PROFIBUS > Diagnostics" | All DP slaves in "OK" state |
| 7 | Active backplane reports module changes (if relevant) | Insert or remove a module from a powered ET200S | OB82 fires, diagnostic buffer updated |
If any of the checks fail, refer to the "Related Errors" section below.
11. PROFIBUS DP Diagnostics
PROFIBUS DP-V1 provides a rich set of standard diagnostics. The "no module in slot X" error in HWConfig is an offline configuration error, not a runtime PROFIBUS diagnostic. However, runtime diagnostics of the ET200S station are useful for verifying the configuration:
- SFC 13 "DP_TOPOL" - Returns the current topology of a DP master system. If the physical module layout differs from the configured layout, SFC 13 will report the difference. Use this to detect "phantom" dummies at runtime.
- SFC 51 "SZL" (System State List) - Reads system state lists, including the diagnostic buffer and module status.
- OB 82 (Diagnostic Interrupt) - The CPU's diagnostic interrupt OB. Fires when a DP slave reports a module diagnostic event. The user must program OB82 to handle missing or faulty modules gracefully.
- PROFIBUS DP diagnostics in STEP 7 - Right-click the DP master system and choose "PROFIBUS > Diagnostics". This opens a graphical view of all DP slaves and their status.
PROFIBUS DP is standardized in IEC 61158 (Industrial communication networks - Fieldbus specifications) and IEC 61784 (Industrial communication networks - Profiles). The diagnostic mechanism described above is part of the PROFIBUS DP-V1 standard.
12. Related Errors and Configuration Issues
Several related errors can be encountered in similar configurations:
| Error Message | Likely Cause | Resolution |
|---|---|---|
| "The configured module does not match the plugged module" | The slot contains a real module, but its order number does not match the configured module. | Replace the physical module with the correct one, or re-configure the slot in HWConfig. |
| "The configured module has too many I/O bytes for the IM" | The IM 153-2BA02 has a maximum I/O address space (typically 244 bytes input and 244 bytes output, depending on the IM variant). Exceeding this limit triggers a configuration error. | Reduce the number of modules or use modules with lower I/O footprint. |
| "The DP slave is not responding" | PROFIBUS connection is interrupted. | Check cable, connector, termination, and slave power. |
| "Station failure" | The DP slave has failed. | Check the slave's diagnostic buffer and physical status. |
| "Module removed/inserted during operation" | Active backplane event. | Expected if you are doing hot-swap. Unexpected if you are not - investigate physical installation. |
| "There is no module in slot X" | Configured rack has a gap. | Insert a DM370 or shift modules (this article). |
13. Best Practices for ET200S Configuration
To minimize configuration errors in ET200S stations with active backplane:
-
Use the latest GSD file for the IM 153-2BA02. The GSD file defines the supported module types, the maximum number of slots, and the diagnostic capabilities. The GSD file for the IM 153-2BA02 is
SIEM81B3.GSDor similar, depending on the firmware version. Always check the Siemens support portal for the latest GSD before commissioning. - Set the PROFIBUS address of the ET200S station using the DIP switches on the IM 153-2BA02 before commissioning. The address in HWConfig must match the DIP switch; mismatch triggers a "station failure" at runtime.
- Pre-allocate all slots with DM370 dummies, then replace with real modules as the plant is built. This avoids the "no module in slot X" error.
- Enable "Module identification" in the IM parameters to track I&M data for each module. This makes field replacement and inventory management easier.
- Use OB82 to handle diagnostic interrupts for missing modules gracefully. Without OB82, the CPU will go to STOP on a missing-module event.
- Document the slot layout in the project documentation. Cross-reference the slot table in HWConfig with the electrical drawings.
- Test the configuration in PLCSIM (if available) before downloading to the real CPU. PLCSIM simulates the compile-time checks as well as runtime behaviour for the user program.
14. Summary of Key Order Numbers
| Order Number | Description | Function |
|---|---|---|
| 6ES7317-2xxx-0AB0 | CPU 317-2 DP family | DP master, S7-300 family |
| 6ES7153-2BA02-0XB0 | ET200S IM 153-2BA02 | DP slave, active backplane, DP-V1 |
| 6ES7 370-0AA01-0AA0 | DM370 Dummy Module (current) | Slot placeholder, S7-300/ET200S |
| 6ES7 370-0AA00-0AA0 | DM370 Dummy Module (older rev.) | Slot placeholder, S7-300/ET200S |
Additional information on these modules, firmware updates, and ET200S accessories is available in the Siemens Industry Online Support portal. The PROFIBUS DP protocol is defined in IEC 61158 and IEC 61784, which can be obtained from the IEC webstore.
15. FAQ
Can I leave a slot empty in HWConfig for an ET200S with active backplane?
No. The active backplane is a runtime feature for hot-swapping modules; HWConfig requires every slot in the configured rack to be filled with a real module or a DM370 dummy module (6ES7 370-0AA01-0AA0). Leaving a slot empty triggers the "no module in slot X" compiler error.
Do I need to physically install the DM370 dummy module in the ET200S?
No. The DM370 is a configuration placeholder only. It satisfies the HWConfig compiler, but the actual physical ET200S can have an empty slot. The CPU program will work, but a "module missing" diagnostic interrupt will be raised at runtime - handle it in OB82 if needed.
What is the order number of the DM370 dummy module?
6ES7 370-0AA01-0AA0. The older revision 6ES7 370-0AA00-0AA0 is also functional and can be used as a substitute.
Why does STEP 7 reject gaps in the configured rack?
STEP 7 enforces a strict 1:1 mapping between configured and physical slots. Gaps in the configuration are not allowed because the DP master addresses modules by slot number, and a gap implies that the master is skipping a slot, which is not a valid PROFIBUS DP topology per IEC 61158 / IEC 61784.
Can I keep my HWConfig layout and just rename slot 4 to be the last slot?
No. The slot numbering of the ET200S is fixed by the IM (slot 0 = IM, slot 1 = PM, slots 2..n = EM/EM 1..n). You cannot "skip" a slot number; the only way to clear the error is to fill the slot with a real or dummy module, or to re-order the modules to close the gap.