Overview: GSD Files and Siemens PROFIBUS Device Integration
A GSD file (General Station Description) is a standardized ASCII text file defined by IEC 61784-1 / PROFIBUS DP profile that describes the communication characteristics of a PROFIBUS slave or master device to a configuration tool. The file follows the GSD Specification maintained by PI (PROFIBUS & PROFINET International) and lets engineering tools such as STEP 7 V5.x HWConfig, STEP 7 Professional (TIA Portal), and PCS 7 recognize a third-party device that is not present in the Siemens device library.
For Siemens projects, GSD files are required whenever a non-Siemens PROFIBUS node is added to the bus, for example:
- Third-party drives (KEP, KEB, SEW, Danfoss, etc.)
- Remote I/O stations from non-Siemens vendors
- Encoders, valves, weighing modules, and gateways from third parties
- Identical Siemens devices exported as a GSD for reuse across projects
The GSD file is consumed by the configuration tool, compiled into SDBs (System Data Blocks) at download time, and stored in the load memory of the CPU. This article consolidates the installation procedure, the GSD/TIA version compatibility matrix, the SDB download mechanism, and the memory concepts of S7-300, S7-400, and S7-1500 CPUs.
Prerequisites
Before installing a third-party GSD file, verify the following prerequisites:
- Engineering software installed: STEP 7 V5.5 + SPx, STEP 7 Professional V13..V18 (TIA Portal), or PCS 7 V8.x/V9.x. Each TIA Portal version has a specific set of supported GSD revisions - see the compatibility table below.
- CPU type known: The PLC family (S7-300, S7-400, S7-1500, ET 200, or a third-party controller) determines which GSD mechanism applies. S7-1500 uses PROFINET GSDML files rather than PROFIBUS GSD; this article focuses on PROFIBUS GSD.
-
GSD file obtained: Download directly from the device vendor. The file extension is
.gsdfor older revisions,.gsg(German device-specific bitmap), and.gse(English device-specific bitmap). The bitmaps.gsg/.gseare optional. - PROFIBUS master slot available: At least one PROFIBUS interface or CM/CP module must be configured on the master station with an unused PROFIBUS address in the range 0..126.
- Vendor documentation available: For the supported baud rate (9.6 kbps to 12 Mbps), diagnostic structure, and I/O byte count.
PROFIBUS Memory Concept for S7-300, S7-400, and S7-1500
When the project is downloaded, the configuration tool compiles the HWConfig / device view into a set of SDBs (System Data Blocks). The SDBs accompany the user program and are written into the load memory of the CPU. The exact storage medium depends on the PLC family.
S7-300 / C7 Memory Layout
The S7-300 family splits its memory into three areas:
| Memory Area | Contents | Physical Media |
|---|---|---|
| Load memory | User program (OB/FB/FC/DB), SDBs, comments, symbols | MMC (Micro Memory Card) - mandatory for newer S7-300 CPUs |
| Work memory | Runtime code and data blocks processed by the CPU | Integrated RAM |
| System memory | Process image (PII/PIQ), bit memory (M), timers (T), counters (C) | Integrated RAM |
The MMC must remain inserted at all times - removing it on a powered S7-300 CPU with no integrated EPROM load memory places the CPU in STOP. The SDBs are stored uncompressed on the MMC.
S7-400 Memory Layout
The S7-400 separates load memory into a battery-backed RAM area and an optional plug-in memory card (FLASH card or RAM card):
| Memory Area | Contents | Physical Media |
|---|---|---|
| Load memory (volatile) | Program blocks, SDBs, comments | Integrated RAM, battery-backed |
| Load memory (non-volatile) | Backup of user program + SDBs | FLASH card or RAM card (optional) |
| Work memory | Runtime execution | Integrated RAM |
| System memory | Process image, M/T/C | Integrated RAM |
If a FLASH card is plugged in, the RAM contents are mirrored into it on each download, making the project non-volatile without battery backup.
S7-1500 Memory Layout
The S7-1500 (and ET 200SP CPU) uses a SIMATIC Memory Card (SMC) as the only load memory medium:
- User program and SDBs are stored on the SMC in compressed form.
- Work memory is fully integrated and non-volatile (no battery required).
- The SMC is mandatory; the S7-1500 cannot operate without it.
Online & Diagnostics -> Diagnostics buffer.GSD File Compatibility Matrix for TIA Portal
Each TIA Portal version ships with a defined GSD import filter. Importing a GSD created for a newer TIA Portal typically fails with a parse error. The table below summarizes the compatibility baseline:
| TIA Portal Version | Supported GSD Revision | Notes |
|---|---|---|
| V13 / V13 SP1 | GSD Revision 5 | First TIA release with GSD import |
| V14 / V14 SP1 | GSD Revision 5 | Same parser as V13 |
| V15 / V15.1 | GSD Revision 5 + selected V5.1 extensions | Adds multi-slave support |
| V16 | GSD Revision 5 + V5.1 | Improved diagnostic integration |
| V17 | GSD Revision 5 + V5.1 | Supports GSDML for PROFINET |
| V18 / V19 | GSD Revision 5 + V5.1 | Adds redundancy role GSD handling |
If a GSD provided by the device manufacturer targets a newer TIA Portal than the one installed locally, request an older GSD revision directly from the vendor, or upgrade the TIA Portal installation.
Installing a GSD File in STEP 7 V5.x (HWConfig)
- Close any open HWConfig window.
- Open SIMATIC Manager and select the project.
- From the menu, choose Options > Install GSD File...
- Browse to the folder containing the
.gsdfile (and the optional.gsg/.gsebitmaps). - Select the GSD file and confirm with Install.
- STEP 7 copies the file to
\SIEMENS\STEP7\S7DATA\GSD(or the custom GSD path under Options > Set PG/PC Interface) and updates the device catalog. - Open HWConfig, open the catalog, and navigate to PROFIBUS DP > Additional Field Devices > [Vendor].
- Drag the device onto the PROFIBUS subnet. Assign a unique PROFIBUS address (1..125 typically).
- Configure slots, modules, and diagnostic addresses as required.
- Compile and download (Station > Save and Compile, then PLC > Download).
The compiled SDBs (e.g., SDB 1000 / SDB 2000 for DP master / slave) are now stored in the load memory of the CPU.
Installing a GSD File in TIA Portal (STEP 7 Professional)
- Open the TIA Portal project.
- From the project tree, select Devices & Networks.
- From the menu bar, choose Options > Manage general station description files (GSD).
- In the dialog, set the Source path to the folder containing the GSD file.
- Tick the checkbox next to each GSD to install. Optionally enable Replace already installed GSD files if upgrading a vendor revision.
- Click Install. TIA Portal validates the file and adds it to the Device catalog under Other field devices > PROFIBUS DP > [Vendor] > [Device].
- Drag the device from the catalog onto a free PROFIBUS subnet.
- Open the device properties to assign the PROFIBUS address, configure slots/modules, and set the I/O addresses.
- Right-click the CPU > Download to device > Hardware configuration (or full project download for first commission).
Manually Authoring a GSD File
If the device vendor does not supply a GSD file, it can be created in a text editor. The file is plain ASCII following the GSD specification from PI. Minimum required keywords:
#Profibus_DP
GSD_Revision = 5
Vendor_Name = "ACME Drives"
Model_Name = "AC-VFD-01"
Revision = "1.0"
Ident_Number = 0x0A1B
Protocol_Ident = 0
Station_Type = 0
FMS_supp = 0
Hardware_Release = "1.0"
Software_Release = "1.0"
; Supported baud rates
9.6_supp = 1
19.2_supp = 1
93.75_supp = 1
187.5_supp = 1
500_supp = 1
1.5M_supp = 1
3M_supp = 1
6M_supp = 1
12M_supp = 1
; Maximum responder time
MaxTsdr_9.6 = 60
...
; Modular device with one slot
Module = "Status Word 1" 0x10, 0x21
EndModule
Save the file with extension .gsd, copy it to the STEP 7 GSD folder (or import via TIA Portal), and install following the procedure above. Always cross-check the Ident_Number against the device - mismatch with the device's real Ident Number prevents the slave from going into data exchange.
Compiling and Downloading SDBs
The hardware configuration is not transferred to the PLC as a separate file. Instead, the engineering tool compiles the configuration into SDBs and embeds them in the same download block as the user program:
-
STEP 7 V5.x: Station > Save and Compile. The SDBs are written into the offline
S7-Programcontainer. PLC > Download > Download to target system pushes both code blocks and SDBs to the load memory. - TIA Portal: Compile > Hardware (rebuild) generates the SDBs into the project. Online > Download to device > Hardware and software (only changes).
Once downloaded, the CPU distributes SDB information to the DP master interface at startup. Verify the result by switching the CPU online and inspecting:
- CPU diagnostic buffer: no SDO / SDB error events.
- DP master diagnostic: slaves in Data Exchange (DX) state.
- Online & Diagnostics > PROFIBUS > Slave diagnostics for each third-party node.
Verification Procedure
- Bring the CPU online. Confirm no SF / BF (Bus Fault) LEDs are lit.
- Open the online view of the PROFIBUS master and confirm that every third-party slave is listed with a green check mark and the state Data Exchange.
- Use a PROFIBUS trace tool (e.g.,
SIMATIC Automation Toolor a class-2 master diagnostic) to verify cyclic I/O data. - Force a value in the process image of the third-party slave and verify the corresponding LED or register on the physical device responds.
- Power-cycle the CPU. Confirm that the bus comes back into data exchange without re-downloading the project - this proves that the SDBs were correctly written to non-volatile load memory.
Troubleshooting Matrix
| Symptom | Probable Cause | Action |
|---|---|---|
| Device not visible in HWConfig / TIA catalog | GSD not installed or wrong folder | Verify file presence in S7DATA\GSD; reinstall via Options menu |
| Import fails with parse error | GSD revision newer than TIA Portal version | Request older GSD or upgrade TIA Portal |
| BF LED on master, slave not in Data Exchange | Ident_Number mismatch / wrong PROFIBUS address / wrong baud rate | Compare device rotary switches to GSD and project configuration |
| Diagnostic buffer: SDB error at startup | SDBs in load memory corrupted or missing | Clear load memory, recompile, full download |
| Configuration downloaded but lost after power cycle | S7-300 with no MMC, or S7-1500 with no SMC | Insert a working MMC / SMC; verify card write-protect switch |
| Slave enters Data Exchange then drops out intermittently | EMC noise / bad termination / cable length exceeded | Check terminator power, baud-rate vs cable length per IEC 61158 |
Exporting a Siemens Device as a GSD
TIA Portal V15 and later support exporting a configured Siemens device as a GSD, useful when replicating the same station across multiple identical PLCs:
- Configure the device fully in TIA Portal (IP, device name, slots).
- Right-click the device > Export > General Station Description (GSD).
- Specify the destination folder.
- Re-import the GSD into the second project (Options > Manage GSD).
- Adjust the IP address / PROFIBUS address of each instance independently.
Field-Commissioning Notes
- Backup the GSD library. Keep a copy of every installed GSD (with the vendor revision date) in the project archive. Vendor portals retire old files without notice.
- Document Ident_Numbers. A single vendor can ship multiple GSDs for the same device family differing only by Ident_Number. Wrong Ident_Number = slave will not enter Data Exchange.
- Watch SDB growth. Each PROFIBUS slave consumes SDB slots; on S7-300 with a small MMC, large configurations may exceed the SDB container.
-
PROFINET uses GSDML, not GSD. For PROFINET devices, the file extension is
.xmland the same Options > Manage dialog accepts it. - Use SIEMENS KB 109738401 as a primary reference for version compatibility questions before opening a support ticket.
Related Standards and Official References
- Siemens KB 109738401 - GSD file installation and TIA Portal compatibility
- SiePortal - GSD version compatibility with TIA Portal
- SiePortal - Exporting GSD from TIA Portal for multiple PLCs
- SiePortal - Associating GSD files with Siemens hardware
- IEC 61784-1 - PROFIBUS DP profile and GSD specification
- PI order no. 3.092 - GSD Specification document (PROFIBUS Nutzerorganisation)
Where are the SDBs from HWConfig saved in a Siemens PLC?
The HWConfig content is compiled into System Data Blocks (SDBs) and stored in the load memory of the CPU: the MMC for S7-300, a FLASH card or battery-backed RAM for S7-400, and the SIMATIC Memory Card (SMC) for S7-1500.
What GSD revision is supported by TIA Portal V16?
TIA Portal V16 supports GSD Revision 5 with selected V5.1 extensions, including multi-slave support and improved diagnostic integration. GSDs written for V17/V18 will fail the import filter.
Can I create a GSD file manually if the vendor does not provide one?
Yes. The file is plain ASCII text following the GSD Specification (PI order 3.092). At minimum it must contain #Profibus_DP, GSD_Revision, Vendor_Name, Model_Name, Ident_Number, Station_Type, the supported baud rates, and a Module / EndModule block. Save with the .gsd extension and import via Options > Install GSD File.
Why does the bus fault LED stay on after installing a new third-party device?
Most commonly the Ident_Number in the GSD does not match the physical device, the PROFIBUS address on the device's rotary switches differs from the project, or the baud rate is not supported by the device. Compare all three against the vendor manual and the GSD before re-downloading.
Does an S7-1500 use the same PROFIBUS GSD as an S7-300?
The PROFIBUS GSD file format is identical, but an S7-1500 communicates with PROFIBUS slaves via a CM 1542-5 or CP 1542-5 module. The CPU itself is PROFINET-native; for PROFINET devices the import is a GSDML XML file rather than a .gsd.