Installing Third-Party GSD Files in Siemens TIA Portal and STEP 7

David Krause11 min read
Industrial NetworkingSiemensTutorial / How-to
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

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 .gsd for older revisions, .gsg (German device-specific bitmap), and .gse (English device-specific bitmap). The bitmaps .gsg/.gse are 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.
Note: Never modify a GSD file by hand unless you fully understand the GSD specification (PI order no. 3.092). Manual edits can break the syntax check inside HWConfig or TIA Portal and prevent the device from being inserted into the project tree.

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.
Field tip: Always verify after the first download that the green "LOAD" LED on the CPU has switched off and that no diagnostic buffer entry reports SDO/SDB errors. On the S7-1500, the diagnostics can be read with 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)

  1. Close any open HWConfig window.
  2. Open SIMATIC Manager and select the project.
  3. From the menu, choose Options > Install GSD File...
  4. Browse to the folder containing the .gsd file (and the optional .gsg/.gse bitmaps).
  5. Select the GSD file and confirm with Install.
  6. 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.
  7. Open HWConfig, open the catalog, and navigate to PROFIBUS DP > Additional Field Devices > [Vendor].
  8. Drag the device onto the PROFIBUS subnet. Assign a unique PROFIBUS address (1..125 typically).
  9. Configure slots, modules, and diagnostic addresses as required.
  10. 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)

  1. Open the TIA Portal project.
  2. From the project tree, select Devices & Networks.
  3. From the menu bar, choose Options > Manage general station description files (GSD).
  4. In the dialog, set the Source path to the folder containing the GSD file.
  5. Tick the checkbox next to each GSD to install. Optionally enable Replace already installed GSD files if upgrading a vendor revision.
  6. Click Install. TIA Portal validates the file and adds it to the Device catalog under Other field devices > PROFIBUS DP > [Vendor] > [Device].
  7. Drag the device from the catalog onto a free PROFIBUS subnet.
  8. Open the device properties to assign the PROFIBUS address, configure slots/modules, and set the I/O addresses.
  9. Right-click the CPU > Download to device > Hardware configuration (or full project download for first commission).
Tip: If the GSD does not appear in the catalog after the install, close TIA Portal completely and reopen the project. The catalog is cached per project session.

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:

  1. STEP 7 V5.x: Station > Save and Compile. The SDBs are written into the offline S7-Program container. PLC > Download > Download to target system pushes both code blocks and SDBs to the load memory.
  2. 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

  1. Bring the CPU online. Confirm no SF / BF (Bus Fault) LEDs are lit.
  2. 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.
  3. Use a PROFIBUS trace tool (e.g., SIMATIC Automation Tool or a class-2 master diagnostic) to verify cyclic I/O data.
  4. Force a value in the process image of the third-party slave and verify the corresponding LED or register on the physical device responds.
  5. 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:

  1. Configure the device fully in TIA Portal (IP, device name, slots).
  2. Right-click the device > Export > General Station Description (GSD).
  3. Specify the destination folder.
  4. Re-import the GSD into the second project (Options > Manage GSD).
  5. Adjust the IP address / PROFIBUS address of each instance independently.
Important: When exporting a Siemens PLC as a GSD for reuse, the IP address and PROFINET device name are part of the configuration; adjust them per instance after re-import to avoid duplicate IP collisions on the network.

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 .xml and 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

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.

Back to blog