Overview: DP-NORM and Missing GSD Symptoms in Step 7 5.6
When a Profibus-DP slave appears with the identifier DP-NORM in the STEP 7 V5.6 hardware catalog and the Order Number column displays ??????????, the controller cannot positively identify the device on the bus. The slave remains electrically addressed but logically undefined to the DP master (for example, a CPU 315-2 DP / 6ES7 315-2AG10-0AB0 or CPU 417-4 / 6ES7 417-4XL05-0AB0). Two distinct symptoms are visible in HW Config:
| Symptom in HW Config | Meaning | Required File |
|---|---|---|
DP-NORM in the device name field |
The slave is identified generically; the bitmap/symbol file is missing. | Slave bitmap (.bmp) shipped with the GSD package. |
?????????? in the Order Number column |
The slave cannot be matched to any catalog entry; the GSD file is missing. | Manufacturer GSD or GSDML file (*.gsd or *.gsd.xml). |
| Red question mark over the slave icon | Slave type unknown to the master; no I/O mapping possible. | GSD file plus device database (*.ddb) in older STEP 7 versions. |
| Bus fault SF / BF LED on CPU | DP master cannot exchange process data with the slave. | Complete, correctly installed GSD package. |
The root cause is the same in both cases: the STEP 7 installation on the programming PC does not contain the GSD (Geräte-Stammdaten-Datei) description file for the third-party or older Siemens slave, so the slave is treated as a generic DP-NORM device rather than as a fully identified node.
Root Cause Analysis: Why DP Slaves Show DP-NORM
STEP 7 V5.6 stores third-party GSD files in a project-local directory and a global installation directory. When a hardware configuration is downloaded to the PLC and later uploaded, the configuration is rebuilt from the uploaded data plus the GSD files installed on the new PC. If those files are not present, STEP 7 substitutes a generic placeholder.
How a Profibus-DP Slave Becomes "Undefined"
- The original project was created on PC-A. The GSD file for a third-party DP slave (for example, an ET 200S IM 151-1 6ES7 151-1AA04-0AB0 with a non-Siemens encoder, or a Phoenix Contact IBS RL 24 DO 8) was installed via Options > Install GSD File.
- The hardware configuration was compiled and downloaded. The PLC retains only the slot and parameter assignment, not the GSD file itself.
- The project was backed up to an archive (for example, a
.zipofC:\Siemens\Projects\<projectname>) and transferred to PC-B. TheGSDdatasubfolder was either excluded from the archive, deleted, or located on a separate path. - On PC-B, STEP 7 opens the project but cannot resolve the slave identity. The Order Number field reverts to
??????????, and the slave name collapses toDP-NORM.
File Locations STEP 7 V5.6 Uses
| Location | Contents | Behavior |
|---|---|---|
C:\Program Files\Siemens\Automation\SIMATIC Manager\S7DATA\GSD |
System-wide GSD files installed by STEP 7 setup. | Available to every project on this PC. |
<Project>\GSDdata\gsd |
Project-local GSD files installed through Options > Install GSD File with "for this project only" option. | Travels only with the archived project. |
<Project>\GSDdata\bitmaps |
Slave bitmaps and .bmp graphics referenced by the GSD. |
Required to resolve DP-NORM to the proper symbol. |
<Project>\GSDdata\nsfiles |
Type/instance files for complex DP-V1 slaves. | Required for DP-V1 acyclic services. |
If any of these paths are missing on the new programming PC, the symptom appears. The PLC itself is unaffected; only the offline view and any recompile/compare operation fails.
Prerequisites for Recovery
Before performing any recovery action, assemble the following items. Missing prerequisites will cause the recovery to fail or, worse, result in an inconsistent project that cannot be downloaded to the PLC.
-
STEP 7 V5.6 + SP2 (or later) installed with administrator rights on the recovery PC. Confirm the build via Help > About; version string should read at least
V5.6 + SP2. -
Full project archive, including the
GSDdatafolder. If you only have the program blocks (S7-Program), the hardware configuration cannot be reconstructed offline and must be re-detected online. - Access to the original programming PC (preferred) or the manufacturer's GSD files for every undefined slave. Common sources include the Siemens Product Support portal at support.industry.siemens.com and the third-party vendor's download area.
- List of all DP slaves currently connected, captured either from the online hardware detection in STEP 7 or by walking the cabinet. Record each slave's Profibus address, manufacturer, order number (MLFB), and slot count.
- Backup of the existing S7 program as a separate, immutable archive before any modification. Store the backup on removable media.
- Online connection to the PLC via MPI/PROFIBUS or Ethernet (CP 343-1 / CP 443-1) for the verification step.
Step-by-Step: Locating and Installing Missing GSD Files
Path A — Recover GSD Files from the Original Project PC
- On the original PC, open Windows Explorer and navigate to
C:\Siemens\Projects\<projectname>\GSDdata. - Copy the entire
GSDdatafolder to a USB drive or network share. Include thegsd,bitmaps, andnsfilessubfolders. - On the recovery PC, open SIMATIC Manager and close the project (so STEP 7 releases all file handles).
- Locate the local project directory (typically
C:\Siemens\Automation\Projects\<projectname>or the path you chose during project creation). - Replace the existing
GSDdatafolder with the one from the original PC. If the folder does not exist, create it and copy the subfolders manually. - Open SIMATIC Manager and select Options > Install GSD File. Browse to the copied
GSDdata\gsdfolder. Check Include subdirectories and click Install. STEP 7 reads each*.gsdand*.gsd.xml, validates the checksum, and updates the hardware catalog. - Close and reopen HW Config. The previously
DP-NORMslave should now appear with the proper order number and bitmap.
Path B — Download GSD Files from the Manufacturer
- Identify the slave by walking the cabinet or by reading the diagnostic buffer (PLC > Diagnostic/Setting > Diagnostic Buffer). The buffer typically lists the affected DP address and the slot that failed configuration.
- Look up the manufacturer and order number. For Siemens slaves, use the Siemens Product Support portal at support.industry.siemens.com, search for the MLFB, and download the matching GSD package from the "Support" tab. For non-Siemens devices (for example, Wago 750-303, Beckhoff BK3120, Phoenix Contact IL PB BK DP/V1), obtain the GSD from the vendor's download area.
- Extract the archive. A typical GSD package contains
SIExxxxx.GSD,*.bmp, and an.mdlor.ddbfile. DP-V1 devices also include a*.gsd.xml(GSDML) file. - In SIMATIC Manager, select Options > Install GSD File > Browse. Navigate to the extracted folder. Choose Install.
- Restart HW Config. The slave is now selectable from PROFIBUS DP > Additional Field Devices > <Manufacturer>.
Path C — Online Detection of Unknown Slaves
- Open the project and launch HW Config.
- Connect online to the PLC (PLC > Connect to Target System > Accessible Nodes or via the configured online interface).
- Select PLC > Upload Station to PG. STEP 7 reads the actual hardware configuration from the PLC and rebuilds the offline view. Missing GSD files still produce
DP-NORMentries, but the slot assignments are recovered. - Install the missing GSD files per Path B. After installation, right-click the
DP-NORMslave and select Replace Object > .... STEP 7 matches the slot layout and proposes a replacement.
Step-by-Step: Adding New Modules to an Existing Project
When the recovery goal is to add new I/O modules (the original poster mentioned "343 bare modules" — interpreted as a count of additional modules to integrate, not a Siemens part number), follow this procedure after the existing configuration is stable.
- Open HW Config on the master station.
- Open the catalog (View > Catalog) and locate the new module under PROFIBUS DP > <Family> or SIMATIC 300 / SIMATIC 400 > <Rack> depending on whether the module is a distributed I/O station or a central rack module.
- Drag the module onto the appropriate slot. For central rack modules, the slot must match the physical mounting position (slot 1 reserved for power supply, slot 2 for CPU, slots 4–11 for SM/FM/CP in S7-300). For ET 200S, drop the IM 151 first, then add the terminal modules by drag-and-drop.
- Configure the Profibus address in the object properties. Each new DP slave must have a unique Profibus address in the range 1–126. Address 0 is reserved for masters, address 126 for commissioning devices.
- Double-click each module to set parameters: input filter time, diagnostic enable, substitute value behavior, and so on. For analog modules, configure the measuring range (for example, 0–10 V, 4–20 mA, Pt100, TC type K).
- Compile and save (Station > Save and Compile). STEP 7 reports address ranges in the bottom status bar, for example
PIW 256..271for an analog input module. - Download the new configuration to the PLC (PLC > Download). Confirm the prompt; the PLC performs an initialization that briefly drops existing DP slaves.
- Update the symbol table or DB references to match the new addresses. Use LAD/STL/FBD > Options > Symbol Table or cross-references in the program editor.
Alternative Path: Removing Unidentified Slaves
If the missing GSD files cannot be recovered and the slaves are obsolete or no longer required, the alternative is to remove them. This is the second of the two choices available to the field engineer.
- Open HW Config and identify each
DP-NORMslave. - Right-click the slave and select Delete. Confirm the prompt.
- Recompile the station. STEP 7 frees the address range and slot configuration previously occupied by the deleted slave.
- Open the program blocks and search for any references to the deleted I/O. Use Options > Reference Data > Display and filter on the address range, or search in the editor with Ctrl+F for the symbolic name.
- Replace each reference with either a safe default (for example, a constant in a DB) or a real input from a retained device. For outputs that no longer exist, wire them to a NULL placeholder or comment them out as
// removed - DP-NORM slave deleted 2024-.... - Download the program and the new hardware configuration to the PLC.
- Monitor the diagnostic buffer (PLC > Diagnostic/Setting > Diagnostic Buffer) for any new peripheral access errors that point to lingering references. Correct them iteratively.
0x0301 to 0x0308) on the next scan cycle. Resolve all references before downloading.Hardware Configuration Download and Verification
Download Procedure
- In HW Config, select Station > Consistency Check first to catch slot mismatches before the download.
- Select PLC > Download. Choose Download to Target Device.
- In the dialog, choose whether to download the entire station or only changes. For a recovery scenario after a missing GSD fix, a full download is recommended.
- STEP 7 prompts to overwrite the existing program. Confirm with the operator on shift.
- Wait for the download to complete. The CPU performs a restart (cold or warm, depending on the CPU's startup setting). The RUN LED should return to solid green within a few seconds for healthy slaves.
Verification Steps
- Go online with the PLC (PLC > Connect to Target System).
- Open HW Config and select Station > Open ONLINE. Compare the online view to the offline view. The status bar should display No differences.
- For each previously
DP-NORMslave, verify that the online view shows the correct order number, slot count, and module status (green check, not red X). - Force a value on one input and confirm it reaches the corresponding input word or input bit via Monitor/Modify > Monitor (VAT table) or online monitoring in the editor.
- Check the diagnostic buffer for any residual entries. Healthy operation shows no new peripheral faults after the download.
Diagnostic Buffer and Online Diagnostics
The diagnostic buffer is the primary tool for confirming that all DP slaves are now correctly identified. Open PLC > Diagnostic/Setting > Diagnostic Buffer and look for the following event patterns.
| Event ID | Text | Meaning | Action |
|---|---|---|---|
0x0301 |
Peripheral addressing error | Program accesses a slot that does not exist. | Remove the reference or add the missing module. |
0x0302 |
Peripheral fault | Module reports diagnostic interrupt. | Read the slave's local diagnostic; check wiring. |
0x0308 |
DP slave failure | Master lost communication with the slave. | Check Profibus cable, address, and terminator. |
0x1301 |
Module/Station failure | Slave not reachable. | Confirm power supply and bus connector. |
0x4308 |
Restart after download of HW config | CPU performed a restart after configuration download. | Informational; verify outputs are in the expected state. |
0x4949 |
GSD file error | Master cannot interpret a parameter frame. | Reinstall the correct GSD version. |
If the buffer still reports peripheral addressing errors at the slots previously occupied by the DP-NORM slave, the program has not been updated to match the new configuration. Repeat the reference cleanup in the FC/FB code.
Best Practices for GSD File Management
-
Always archive the entire project folder, including
GSDdata,Symbols, andS7_Progs. A simple "program only" backup cannot restore the hardware configuration. - Document the GSD source in the project documentation: manufacturer, version, release date, and SHA-256 checksum. GSD files change between firmware revisions; using the wrong version can cause parameterization errors.
- Install GSD files for the project rather than for the system. Project-local GSDs travel with the archive and are reproducible across PCs.
- Pin the STEP 7 service pack. The same GSD file can behave differently between SP levels; document the STEP 7 version in the project header.
-
Use a controlled library PC. Maintain a single repository of approved GSD files (for example,
\\corp\controls\gsd\approved\) and copy only from there. Avoid ad-hoc downloads on production PCs. - Enable change tracking in HW Config (Station > Properties > Change Log) so future configuration diffs are documented.
- Use DP-V1 diagnostic blocks (for example, FB 125 / SFB 52-54) for non-Siemens slaves that support them, rather than relying solely on the diagnostic buffer.
- Verify Profibus topology before download. A hardware configuration download with a wrong address can briefly disrupt healthy slaves and trigger nuisance trips.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Step | Resolution |
|---|---|---|---|
DP-NORM in HW Config |
Bitmap missing | Check GSDdata\bitmaps for the slave's .bmp. |
Copy bitmap from original PC or manufacturer archive. |
?????????? order number |
GSD file missing | Search STEP 7 catalog for the order number. | Install matching GSD. |
| Red question mark | Wrong GSD version | Compare GSD revision to slave firmware label. | Install GSD matching the firmware major version. |
| BF LED flashing on CPU | Profibus wiring fault | Check bus terminator at both ends, shield grounding. | Replace cable; enable terminating resistor on first and last slaves only. |
| BF LED solid after download | Slave address duplicate | Compare offline configuration to physical DIP switches. | Reassign duplicate address. |
| SF LED on slave only | Channel fault on one input/output | Read slave's local diagnostic via SFB 52. | Repair wiring or replace channel module. |
| Configuration download rejected | SDB write-protected or wrong CPU mode | Check CPU operator panel; remove write protection on the MMC. | Switch CPU to STOP with mode selector; clear protection. |
| Online upload shows fewer slaves than offline | Project was backed up without GSDdata
|
Inspect archive contents for gsd folder. |
Re-archive with full GSDdata or reinstall GSD on the new PC. |
Field-Proven Caveats
- GSD version vs. firmware version. A GSD written for firmware V1.0 will often fail to parameterize a device running V2.0. Always match the major revision. When in doubt, use the GSD bundled with the device's setup CD or download the latest GSD that explicitly lists the firmware revision as supported.
-
DP-V1 vs. DP-V0. GSDML (
*.gsd.xml) files are used for DP-V1 and PROFINET-capable devices; classic*.gsdfiles are for DP-V0. STEP 7 V5.6 accepts both, but mixing them on the same slave produces unexpected slot configuration behavior. - Maximum DP slaves per master. An S7-300 CPU with integrated DP interface supports up to 32 slaves on a single segment; an S7-400 CPU supports up to 125. Exceeding this limit produces a configuration error that is easy to misinterpret as a GSD issue. Check CPU Properties > DP > Operating Mode for the configured maximum.
- Address 126 reserved. The address 126 is the factory default for unconfigured slaves. Do not assign it in the offline configuration, or the master will not initialize the slave during startup.
- Watch for project duplication. STEP 7 supports Save As, which creates a separate project directory. After Save As, the GSD files installed "for this project only" are NOT copied to the new project. They must be reinstalled.
-
Anti-virus interference. Some anti-virus products quarantine
.gsdfiles on write because they are not commonly recognized. AddC:\Siemensand the project directory to the AV exclusion list.
Alternative Controller Notes
The same DP-NORM symptom can appear on TIA Portal (STEP 7 V15 or later) projects when a GSDML file is missing. The recovery procedure is functionally identical: install the GSDML via Options > Manage general station description files (GSD) and replace the placeholder. S7-1200 and S7-1500 systems use PROFINET instead of PROFIBUS by default, but PROFIBUS-capable variants (for example, CPU 1516-3 PN/DP with order number 6ES7 516-3AN02-0AB0) expose the same DP-NORM diagnostic when the GSD is absent.
For S7-200 (MicroWin) and S7-200 SMART systems, the term "DP-NORM" is not used; instead, an unknown slave appears in the configuration as a generic node. The recovery uses the MicroWin Tools > GSD File import and follows the same GSD data location conventions.
Commissioning Checklist After Recovery
- Confirm all DP slaves report OK status in HW Config online view.
- Verify every input and output via a VAT table or HMI forcing.
- Trigger a CPU restart and observe that no DP slave drops out.
- Capture the diagnostic buffer after restart and archive it in the project's
Logsfolder. - Update the As-Built documentation: device list, GSD versions, Profibus addresses, slot configurations.
- Update the backup procedure to ensure future archives include
GSDdata.
FAQ
What does DP-NORM mean in STEP 7 HW Config?
DP-NORM is the placeholder name STEP 7 V5.6 assigns to a Profibus-DP slave whose GSD file or bitmap is not installed on the programming PC. The slave is electrically present on the bus but cannot be uniquely identified, so the master treats it as a generic device and the Order Number column shows ??????????.
How do I install a GSD file in STEP 7 V5.6?
Open SIMATIC Manager, choose Options > Install GSD File, browse to the folder containing the *.gsd or *.gsd.xml file, enable Include subdirectories, and click Install. Restart HW Config and the device appears in the catalog under the manufacturer's folder.
Where does STEP 7 V5.6 store GSD files?
System-wide GSDs are in C:\Program Files\Siemens\Automation\SIMATIC Manager\S7DATA\GSD. Project-local GSDs installed "for this project only" are in <Project>\GSDdata\gsd, with bitmaps in \bitmaps and type files in \nsfiles. Project-local files travel with the project archive.
Can I add new modules to a running project without losing the program?
Yes. Back up the project first, modify HW Config by dragging new modules into the catalog, recompile, and download the hardware configuration. The CPU performs a restart. The S7 program blocks remain intact unless the new module's address range overlaps existing I/O references.
What is the difference between GSD and GSDML?
GSD (*.gsd) is the classic text-based device description for PROFIBUS DP-V0 and DP-V1. GSDML (*.gsd.xml) is the XML-based extension used for PROFINET and PROFIBUS DP-V1 devices in TIA Portal and STEP 7 V5.5 SP3 or later. Both are installed through the same Options > Install GSD File dialog.