1. Problem Statement and Symptoms
A SIMATIC S5-115U station equipped with a CPU 945 (6ES5 945-7UA21) and an IM 308-C DP master (6ES5 308-3UC21) cannot be brought online with a third-party PROFIBUS-DP slave when the slave's vendor-supplied GSD file is imported into the COM PROFIBUS V5.1 configuration tool, even after the tool has been upgraded to the latest service pack and hotfix train (SP2 plus hotfixes 1, 2 and 3, ending at internal build 5.1.2.3).
The failure manifests itself as a hard rejection of the GSD file by the COM PROFIBUS GSD importer. The GSD file in question is supplied by ADFweb for the HD67563M PROFIBUS / Ethernet gateway, but the same behaviour has been reproduced on a number of other ADFweb gateway GSD files. The GSD file is declared internally as a GSD Revision 5 device description. The tool is GSD Revision 3 conformant and silently refuses to process vendor extensions that lie outside that revision boundary.
After the rejection, the slave does not appear in the station catalogue, the master cannot be programmed with that slave, and the gateway therefore never participates in data exchange on the PROFIBUS segment.
2. Affected System Configuration
The configuration that reproduces the issue is itemised in the table below. Note that the parts list is the minimum required to reproduce the fault; substituting equivalent devices from the same family (for example a CPU 944 or CPU 948 in place of the CPU 945) does not change the import behaviour, because the GSD parsing path lives entirely inside the COM PROFIBUS host tool and not in the S5 firmware.
| Subsystem | Component | Order Number (MLFB) | Role |
|---|---|---|---|
| PLC | SIMATIC S5-115U | 6ES5 115-xxxxx | Host rack |
| CPU | CPU 945 | 6ES5 945-7UA21 | S5 program execution, DP master configuration download |
| DP master | IM 308-C | 6ES5 308-3UC21 | PROFIBUS-DP master, V1 / V2 capable per module firmware |
| Configuration tool | COM PROFIBUS | Software (English / German) | Build 5.1.2.3 after SP2 + HF1 + HF2 + HF3 |
| DP slave | ADFweb HD67563M | HD67563M | PROFIBUS / Ethernet gateway, vendor-supplied GSD |
COM PROFIBUS V5.1 is the last configuration generation that supports the S5-115U / IM 308-C platform. From STEP 7 V5.x onward the IM 308-C is supported only as a legacy GSD-based master, and STEP 7 does not read IM 308-C databases. Therefore the engineer is locked into COM PROFIBUS V5.1 for this hardware generation.
3. GSD Specification and Revision Compatibility
The PROFIBUS GSD specification evolves in lockstep with the DP profile revisions. A tool that supports a given GSD revision is by definition allowed to refuse to import files that declare a higher revision, because the language has features that the older parser cannot represent. The relevant compatibility matrix is shown below.
| GSD Revision | Introduces | Accepted by COM PROFIBUS V5.1.2.3 |
|---|---|---|
| 1 | Original PROFIBUS-DP GSD | Yes |
| 2 | Extended diagnostics, modular station | Yes |
| 3 | Optional SlotDefinition / EndSlotDefinition block for modular slaves, multiplexed slots, isochronous mode |
Yes (parser supports the keywords, vendor use is tolerated) |
| 4 | PROFIsafe, additional DPV-2 parameters | Partial / not documented for COM PB 5.1 |
| 5 | Profile-specific extensions, modular slave extensions beyond Rev. 3 | Rejected when present in the file |
The SlotDefinition / EndSlotDefinition block in the ADFweb GSD is a GSD Revision 3 construct and is, on its own, not the trigger for the rejection. The trigger is the GSD revision banner inside the GSD header. The tool first reads the revision banner; if it sees a revision it does not understand it short-circuits the import before it ever reaches the body of the file. The visibility that SlotDefinition is the offending token in this particular file is a coincidence of how the ADFweb developer happened to position the block relative to the module list, not a statement that the keywords themselves are unsupported.
4. Root Cause Analysis
The GSD header of the HD67563M gateway declares the file as a GSD Revision 5 device. The body of the file uses a small fraction of the GSD language: two simple Module entries plus a SlotDefinition block that maps slot 1 to module 1 and slot 2 to module 2. None of these constructs require a Revision 5 parser. The vendor has simply over-declared the file revision.
COM PROFIBUS V5.1.2.3 is a GSD Revision 3 conformant tool. When it reads the file it finds the higher revision banner and bails out. The exact failure pattern reported on a real Windows 2000 Professional SP4 host (and reproduced on Windows 95, 98, XP and several VMware Workstation images) is:
- User opens the COM PROFIBUS project, selects Options > Install GSD files and browses to the ADFweb GSD file.
- COM PROFIBUS displays an error dialog that the file cannot be read or contains unrecognised entries.
- The GSD does not appear in Station Types / GSD files and the slave cannot be inserted into the PROFIBUS network view.
Reproduction across multiple Windows generations and across physical hardware rules out OS-specific or virtualisation issues. Re-installation of COM PROFIBUS plus the full SP2 / HF1 / HF2 / HF3 stack does not change the outcome. A separate COM PROFIBUS V3.3 installation, which is available as a demo, imports the same file without complaint. The behavioural difference between V3.3 and V5.1.2.3 is the GSD revision support level. V3.3 is permissive about unknown revision banners, V5.1.2.3 is strict.
install.log for the build verification.5. Diagnostic Procedure
Before any GSD editing is performed, validate the working hypothesis with a four-step diagnostic:
-
Confirm tool version. Start COM PROFIBUS, open Help > About and verify that the build string contains
5.1.2.3. The build is the only fingerprint that the SP2 + HF1 + HF2 + HF3 update was applied correctly. If the build is older, the hotfixes did not install correctly and the file may import cleanly after the upgrade. -
Read the GSD header. Open the GSD file in a text editor (Notepad, Notepad++) and inspect the top of the file. The relevant lines are typically:
GSD_Revision=5
and the device family block that names the gateway. A higherGSD_Revisionnumber is the prime suspect. - Cross-check with a known good GSD. Import any Siemens-native GSD (for example a CPU 313C-2 DP) to confirm the importer works at all. If even the Siemens GSD fails, the tool installation itself is broken and the file is a red herring.
- Reproduction in a clean VM. Build a Windows 2000 Professional SP4 or Windows XP Professional SP3 virtual machine, install COM PROFIBUS from the original media, apply SP2 and all three hotfixes, and retry the import. A clean reproduction removes the host environment from the fault tree.
If steps 1 through 4 point at the GSD itself (Steps 1, 2 and 3 pass, Step 4 reproduces the same failure), proceed to the workaround in section 6.
6. GSD Editing Workaround
The fastest, field-proven fix is to edit the vendor GSD and remove the SlotDefinition / EndSlotDefinition block together with its associated comment. In the HD67563M gateway the block to delete or comment out is the following two-line section (and the three header / trailer lines around it):
;==============================================================================
;==== Module-Definition-List ==================================================
;==============================================================================
Module="DI (PORT1) " 0x42,0x01,0x00,0x01
1
EndModule
Module="DO (PORT2) " 0x82,0x01,0x00,0x02
2
EndModule
;SlotDefinition
;Slot(1) = "Slot 1" 1 1
;Slot(2) = "Slot 2" 2 2
;EndSlotDefinition
Note the prepended semicolons; the original file is left on disk and only the offending block is commented out. Once the file is saved under the same name, COM PROFIBUS V5.1.2.3 will accept the import.
The justification for removing the block rather than the header is the following:
- The
SlotDefinitionblock is optional in a GSD Revision 3 file. A modular slave can still be described using only theModule/EndModulepairs in the module list. - The HD67563M is configured by its vendor tool (the ADFweb configurator) to occupy fixed slots 1 and 2, with slot 1 producing 1 byte of digital input and slot 2 producing 1 byte of digital output. The slot-to-module mapping is therefore redundant; the slave's own configuration is the source of truth.
- The GSD revision banner is left untouched so the file remains semantically self-describing. Editing the banner from Revision 5 to Revision 3 will also let the file import, but it falsifies the vendor metadata and is therefore discouraged.
Once the file is in the COM PROFIBUS station catalogue, configure the slave in the usual way: assign PROFIBUS address, drag the gateway into the IM 308-C master system, and assign the DI / DO modules. Save the database and download it to the IM 308-C through the COM PROFIBUS programming interface.
7. Alternative Workarounds and Tools
Several additional paths exist for engineers who cannot, or prefer not to, edit a vendor GSD.
7.1 Request a GSD Revision 3 file from the vendor
Contact the slave manufacturer (ADFweb in this case) and ask whether an earlier GSD revision is available for the same hardware. Many vendors keep multiple GSD revisions in their download area. A GSD Revision 3 file, even if older, will be honoured by COM PROFIBUS V5.1.2.3 without any user-side editing.
7.2 Use COM PROFIBUS V3.3 as a bridging tool
COM PROFIBUS V3.3 is still available from Siemens as a demonstrative download. The V3.3 importer is permissive about unknown GSD revisions and will accept the file with the SlotDefinition block intact. Use V3.3 to read the GSD into a V3.3 database, export the configuration to an ASCII file, and re-import that ASCII file into the V5.1.2.3 project. This is the cleanest path when the editing workaround is not desired.
Siemens documents the export and re-import procedure for COM PROFIBUS V5.1 in the official support entry How do you export GSD files or ASCII files in COM PROFIBUS 5.1? The ASCII export is the recommended interchange format between COM PROFIBUS V3.3 and V5.1, and is also the format used to drive downstream tools.
7.3 Switch to a Siemens-certified PROFIBUS / Ethernet gateway
If the editing effort and the multi-tool bridge are not acceptable for a production line, the cleanest permanent fix is to replace the third-party gateway with a Siemens-native PROFIBUS / Ethernet gateway that ships with a GSD already in the COM PROFIBUS catalogue. Examples of products that fall in this category include the SCALANCE PN / PB family and the IE / PB LINK PN IO. Verify on a case-by-case basis that the replacement supports the same protocol on the Ethernet side (Modbus TCP, EtherNet/IP, OPC UA, and so on).
7.4 Use a third-party GSD import utility
Vendors such as Pepperl+Fuchs distribute tool guidance for their AS-i / PROFIBUS gateway that shows the same workflow: import the vendor GSD into a Siemens configuration tool, assign the gateway to a master, and download the configuration. Their AS-i 3.0 PROFIBUS gateway in stainless steel documentation illustrates the procedure in general terms and confirms the GSD-based configuration model is the standard practice for AS-i / PROFIBUS and similar gateways.
8. Verification on the IM 308-C Master
After the edited GSD is in the project, validate the slave end-to-end with the following steps. The procedure is independent of the GSD workaround used; it is the standard IM 308-C acceptance test.
- Build and download. In COM PROFIBUS, select PLC > Download and write the configured master system to the IM 308-C. The download includes the bus parameters, the slave list, and the slot / module assignments.
- Check the diagnostic buffer. With the S5 PG attached, read the IM 308-C diagnostic buffer. The entry "All configured slaves are present on the bus" (German: Alle projektierten Slaves sind am Bus) confirms the slave is alive. The IM 308-C ships with V1 DP functionality and supports V2 if the firmware revision on the module allows it.
- Inspect the slave status LEDs. The HD67563M gateway has a PROFIBUS status LED that indicates the standard DP states: Power On, Wait Prm, Wait Cfg, Data Exch. The slave must reach Data Exch for the workaround to be functionally equivalent to the original GSD.
- Perform an I/O check. Force a known value into the input byte of the gateway (use the ADFweb configurator to write a fixed pattern to a register) and read the corresponding byte from the S5 process image. Compare against the forced value. Repeat in the opposite direction for the output byte.
- Watch the bus with a PROFIBUS analyser. A class-2 master such as an ams / InTools device, or a softing PROFINET / PROFIBUS analyser, can record the parameterisation, configuration and data exchange telegrams. The expected sequence is parameterisation, configuration, then cyclic data exchange. If only parameterisation and configuration are present and the slave drops back to Wait Prm, the slot / module assignment is wrong and the GSD edit removed information the slave actually needed.
SlotDefinition block.9. Preventive Practices for Mixed PROFIBUS Networks
The fix documented above is per-incident. Several engineering practices reduce the probability of having to repeat it.
- Lock the GSD baseline. When a vendor GSD is edited to fit a legacy tool, store the edited copy in a version-controlled directory (Subversion, Git) alongside the original. Tag the edit with the COM PROFIBUS build number it was produced against (5.1.2.3 in this case) so that an upgrade to a newer tool is recognised as a trigger to drop the edit and re-test.
-
Verify file name length. Several Siemens configuration tools, including the older STEP 7 generations, are subject to an 8.3 file name convention. The ProSoft Technology support article GSD file name not interpreted in Siemens Step 7 documents this limit: PROFIBUS DP GSD file names should be limited to eight characters. Vendor GSDs that exceed this limit (for example
HD67563MA.gsd) can be renamed without changing the internal content, but the rename must be tested in the actual target tool. - Use a GSD checker before integration. The PROFIBUS & PROFINET International (PI) test tool GSD Checker validates a GSD file against its declared revision and produces a clear pass / fail report. Running the GSD through the checker before the COM PROFIBUS import shortens the diagnosis cycle by separating "vendor GSD is broken" from "tool cannot parse the revision".
- Pre-stage the import in a VM. The engineering team in this case used VMware Workstation to standardise the COM PROFIBUS host. A pre-built VM image (Windows 2000 SP4 + COM PROFIBUS 5.1.2.3) is reusable across projects and makes the host environment a non-variable in any future GSD import problem.
- Document tool versions in the project. Add a project header card listing the COM PROFIBUS build, the service pack level and the hotfix train. Without that information, a colleague picking up the project six months later cannot tell whether an import failure is a regression or a host issue.
10. Frequently Asked Questions
Which COM PROFIBUS version supports GSD Revision 5?
COM PROFIBUS V5.1 with the full SP2 + HF1 + HF2 + HF3 update (build 5.1.2.3) is documented to support up to GSD Revision 3. For GSD Revision 5 files the importer rejects the file, even though the GSD body may use only Revision 1 / 2 / 3 constructs. A later configuration generation (STEP 7 V5.x with the right hardware support package, or TIA Portal) is required to import such a file without editing.
Is it safe to delete the SlotDefinition block from a vendor GSD?
For a fixed modular slave such as the ADFweb HD67563M, the SlotDefinition block is redundant: the slave always occupies slot 1 with DI and slot 2 with DO. The block can be commented out with prepended semicolons, the original file archived alongside the edited copy, and the slave re-tested. The edit must be treated as part of the project baseline and re-validated against the original GSD if the vendor releases a new revision.
What error code does COM PROFIBUS raise on a bad GSD?
COM PROFIBUS V5.1 does not surface a numeric error code for GSD parse failures. The importer raises a generic dialog stating that the file cannot be read or contains invalid entries. Capture the dialog text and the original GSD before contacting Siemens COMDEC or the device vendor.
Can I keep the IM 308-C configuration if I move to STEP 7 V5.x?
STEP 7 V5.x supports the IM 308-C only as a legacy GSD-based master. The COM PROFIBUS V5.1 database cannot be opened directly in STEP 7; an ASCII export from COM PROFIBUS V5.1 is the documented interchange path. See the Siemens support entry How do you export GSD files or ASCII files in COM PROFIBUS 5.1? for the procedure.
Does the GSD file name length matter in COM PROFIBUS V5.1?
Yes. Several Siemens configuration tools honour the DOS 8.3 file name convention, and PROFIBUS DP GSD file names longer than eight characters are a documented source of "file cannot be interpreted" errors. If a vendor ships a GSD with a long name, rename the file to eight characters or fewer and confirm that the import still recognises the device family declared inside the GSD. See the ProSoft Technology knowledge base article on the same constraint for background: GSD file name not interpreted in Siemens Step 7.