Overview
When a Siemens S7 project contains Profibus DP nodes such as frequency converters, drives, remote I/O, or third-party DP slaves, every slave references a GSD (General Station Description) file. The GSD file is a standardized ASCII text file defined by IEC 61784-1 / PROFIBUS profile, and it describes the device's identity, supported baud rates, I/O slot mapping, diagnostic structure, and module list. STEP 7 (SIMATIC Manager) and TIA Portal keep GSD files in dedicated directories and allow them to be reused across projects without manual re-entry of every device parameter.
This article covers the practical procedures for finding, extracting, copying, and re-installing GSD files from an existing S7 project so the same Profibus device can be deployed in another project. Procedures cover both the legacy STEP 7 V5.x environment and TIA Portal V16 through V20, including handling of compressed GSD archives, associated bitmap graphics, and the I-device export feature.
Prerequisites
- STEP 7 V5.5 / V5.6 (SIMATIC Manager) or TIA Portal V16 / V17 / V18 / V19 / V20 with hardware catalog installed.
- Administrative rights on the engineering workstation to read
C:\ProgramData\Siemens\AutomationandC:\Program Files\Siemens. - The source project (S7 project archive
.zipor.s7p/ TIA Portal.ap20) opened at least once on the local system. - A text editor such as Notepad++, Notepad, or Visual Studio Code for inspecting GSD / XML content.
- For TIA Portal Openness automation: TIA Portal Openness API installed and licensed (see Export/Import of GSD/GSDML based devices and device items).
GSD File Locations in STEP 7 V5.x (SIMATIC Manager)
STEP 7 stores GSD files in two distinct locations. Knowing the difference is the first step in extracting and reusing a GSD file from an existing project.
| Location | Purpose | Notes |
|---|---|---|
C:\Program Files\Siemens\Step7\S7DATA\GSD |
Master GSD repository used by HW Config when building the catalog. | Often contains additional subfolders such as GSD\<VendorName> with bundled vendor-specific files. Always perform a recursive search with pattern *.GSD. |
C:\ProgramData\Siemens\Automation\Step7\S7DATA\GSD |
User-installed GSD files registered with the current Windows user profile. | Also receives decompressed *.xml representations when STEP 7 installs a *.compressed archive from a project. |
C:\ProgramData\Siemens\Automation\Step7\S7DATA\NSBMP |
Bitmap graphics referenced by GSD device symbols in HW Config. | Bitmap file names do not always match GSD file names. Always inspect the GSD or XML header to map device to bitmap. |
Program Files (x86) directory is sometimes used. Verify both C:\Program Files\Siemens\Step7\S7DATA\GSD and C:\Program Files (x86)\Siemens\Step7\S7DATA\GSD exist on the workstation. STEP 7 V5.7 and later Service Packs may relocate to %ProgramData%\Siemens\Automation\Step7\V5.7.
Method 1 — Direct Copy from the Local GSD Folder
Once a project containing the desired slave has been opened at least once on the engineering PC, STEP 7 automatically registers all referenced GSD files into the local catalog. Use this procedure to extract the GSD for use in another project on the same PC or to bundle it for transfer to another workstation.
- Close SIMATIC Manager to release file locks on the GSD repository.
- Open Windows Explorer and navigate to
C:\Program Files\Siemens\Step7\S7DATA\GSD. - Use Search > *.GSD with subfolders included. Do not limit the search to the root directory.
- For each candidate GSD file, open it in a text editor. The header block contains the device identity, e.g.:
; GSD File for SIMOVERT MASTERDRIVES ; Vendor: Siemens AG ; Model: 6SE70 ; Revision: 4.0 ; Date: 11/14/2008
- Copy the matching
.GSDfile to a working folder and rename it to identify the source project and slave address (e.g.Siemens_6SE70_rev4.0.GSD). - On the target workstation, open SIMATIC Manager and choose Options > Install GSD File. Browse to the saved
.GSDfile and confirm installation. - Restart HW Config if the device is not visible in the catalog under PROFIBUS DP > <Vendor>.
Method 2 — Trigger Automatic Installation from a Compressed Project
Some S7 projects ship GSD files embedded as compressed packages (filename extension *.compressed) instead of pre-extracted .GSD files. This is typical when a project is delivered as a .zip archive or distributed through Siemens Support. The compressed package is auto-installed by HW Config on first use.
- Extract the S7 project archive and open the project in SIMATIC Manager.
- Double-click the Hardware object to launch HW Config.
- STEP 7 detects the embedded
*.compressedpackage and automatically installs it. Watch the lower status bar — installation progress is reported per file. - After HW Config opens successfully, close it and SIMATIC Manager.
- Verify the extracted files now exist at:
C:\ProgramData\Siemens\Automation\Step7\S7DATA\GSD\<device>.xmlC:\ProgramData\Siemens\Automation\Step7\S7DATA\NSBMP\<bitmap>.bmp
- Copy the
.xmland any associated.bmpfiles to your staging folder for transfer.
Mapping Bitmap File Names to GSD Devices
STEP 7 expects the device bitmap and the GSD file to coexist in their respective directories. Bitmap file names are not always identical to the GSD file name. To find the correct bitmap for a given device, open the installed XML/GSD in a text editor and search for the <GraphicsList> section (GSDML XML format) or Graphics_List / bitmap directives (legacy GSD ASCII format).
<GraphicsList>
<GraphicsEntry>
<GraphicItem>SIEMENS_Drive_6SE70.bmp</GraphicItem>
<DefaultValue>SIEMENS_Drive_6SE70</DefaultValue>
</GraphicsEntry>
<GraphicsEntry>
<GraphicItem>SIEMENS_Drive_6SE70_Slot.bmp</GraphicItem>
<DefaultValue>Slot_Icon</DefaultValue>
</GraphicsEntry>
</GraphicsList>
The <GraphicItem> tag lists the bitmap file name as it must appear in the NSBMP folder. Copy each referenced bitmap alongside the GSD file when transferring between workstations. Missing bitmaps cause the device symbol to render as a generic grey rectangle in HW Config but do not affect runtime communication.
Method 3 — Copy and Paste the Slave Between Projects
For in-house replication of a Profibus network configuration across two S7 projects, STEP 7 supports direct drag-and-drop or copy/paste of slaves between HW Config instances. This is faster than extracting GSD files manually and preserves all slot, module, and parameter assignments.
- Open both S7 projects in SIMATIC Manager.
- Open HW Config for both projects side-by-side.
- In the source project, right-click the Profibus DP slave (e.g. SINAMICS G120) and choose Copy.
- Switch to the target project's HW Config, click the Profibus master system line, and choose Edit > Paste (or Ctrl+V).
- STEP 7 inserts the slave at the same Profibus address. Adjust the address and slot mapping as needed.
- Compile and download (or only save) the target project to verify configuration consistency.
Method 4 — Export an I-Device as a GSD File (TIA Portal V16 to V20)
TIA Portal supports exporting an S7 CPU configured as a PROFINET I-device into a portable GSD file. The exported GSD file can then be installed on a third-party controller or another TIA Portal station that needs to integrate the I-device as a Profinet/PROFINET IO device.
- Open the TIA Portal project containing the I-device configuration.
- In the Project Tree, select the S7 CPU acting as the I-device and open Device view.
- In the Inspector window, select the PROFINET interface and navigate to Operating mode > I-device communication.
- Click the Export command. TIA Portal opens the export dialog.
- Choose the export path and confirm. TIA Portal writes the I-device as a GSD file including the GSDML XML and dependent bitmap files.
- Transfer the generated GSD file to the target engineering station and install it via Options > Manage general station description file (GSD).
For full TIA Portal V20 reference documentation see Exporting an I-device as a GSD file - STEP 7.
Method 5 — Automated Export/Import via TIA Portal Openness API
For projects where multiple GSD/GSDML files must be exchanged programmatically — for example, when shipping a complete device catalog with a product — the TIA Portal Openness API provides scripted export and import.
// C# snippet — TIA Portal Openness API (V20)
using Siemens.Engineering;
using Siemens.Engineering.HW;
TiaPortal tia = new TiaPortal(System.Reflection.Assembly.GetExecutingAssembly());
Project project = tia.Projects.Open(new FileInfo(@"C:\Projects\Sample.ap20"));
foreach (DeviceItem di in project.RootDeviceItem.DeviceItems)
{
// Export each GSD/GSDML based device item
string exportPath = $"C:\Export\{di.Name}.xml";
di.Export(new FileInfo(exportPath), ExportOptions.None);
}
project.Close();
tia.Dispose();
The Openness API requires the TIA Portal Openness application to be connected to a running TIA Portal instance and the appropriate license (TIA Portal Openness SDK). Full reference for V20 is at Export/Import of GSD/GSDML based devices and device items.
Verification Procedure
After extracting and installing GSD files, validate that the target project can resolve the device before any commissioning activity.
- Open the target S7 / TIA Portal project.
- Launch HW Config / Device view and open the hardware catalog.
- Navigate to the expected vendor path (e.g. PROFIBUS DP > Drives > SIEMENS > SINAMICS or PROFINET IO > I/O > SIEMENS AG).
- Confirm the device appears with the correct order number and revision matching the original project.
- Insert the device onto the Profibus / Profinet network and assign a unique station address.
- Compile the configuration (Station > Consistency Check). STEP 7 reports missing modules, address conflicts, or GSD inconsistencies as warnings/errors in the compile log.
- Save the project. If the device was a frequency converter, verify the slot configuration matches the drive firmware parameter
r0099or equivalent identification register.
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
GSD file not found in Program Files\Siemens\Step7\S7DATA\GSD
|
Project was never opened with HW Config on the local station; GSD still in *.compressed form. |
Open the source project in HW Config once, then re-check the directory. STEP 7 auto-decompresses on first HW Config open. |
Device appears in GSD folder but missing from HW Config catalog |
STEP 7 catalog index not refreshed after manual file drop. | Use Options > Install GSD File from SIMATIC Manager. Do not copy files into the folder directly without reinstalling. |
| Install warning: "Replace existing GSD file?" | Different revision already installed for same vendor/order number. | Compare GSD revision in the header. Replace only when the source project explicitly uses the newer revision; otherwise keep the existing revision to avoid breaking the original project. |
| Device symbol shows as grey rectangle | Bitmap file missing from NSBMP folder. |
Inspect <GraphicsList> in the XML and copy all referenced .bmp files into C:\ProgramData\Siemens\Automation\Step7\S7DATA\NSBMP. Restart HW Config. |
| Compile error: "GSD file version mismatch" | Device firmware expects older/newer GSD revision. | Verify drive/inverter firmware version against GSD revision in the support documentation of the device vendor. Use the matching GSD or upgrade the device firmware. |
| Copy/paste of slave fails between two STEP 7 projects | GSD not installed on target station or STEP 7 version mismatch. | Install matching GSD on both stations first; ensure both stations run the same STEP 7 SP level (e.g. V5.6 SP2). |
Openness API throws EngineeringException on Export |
TIA Portal not running or Openness not connected. | Confirm TIA Portal is open, Openness port is enabled in Options > TIA Portal Openness, and the API DLL matches the TIA Portal version. |
| I-device export dialog disabled | CPU not configured as I-device (no I-device interface). | Enable I-device mode under PROFINET interface > Operating mode > I-device and reconfigure transfer areas. |
Standards and Reference Material
- IEC 61784-1 — Industrial communication networks — Profiles (defines PROFIBUS and PROFINET profiles, including GSD specification).
- PROFIBUS Guideline 2.022 — GSD Specification (PROFIBUS Nutzerorganisation e.V.).
- PROFINET Guideline 2.712 — GSDML Specification (PROFIBUS Nutzerorganisation e.V.).
- Siemens STEP 7 V5.x online help: Options > Install GSD File.
- Siemens TIA Portal V20 documentation: Exporting an I-device as a GSD file.
- Siemens TIA Portal V20 Openness API: Export/Import of GSD/GSDML based devices and device items.
Best Practices
- Maintain a versioned
GSD_Repositoryfolder on a network share with subfolders per vendor and revision. This avoids accidental overwrites when projects share GSD files. - Always log the GSD revision and device firmware version in the project's Hardware Design Specification. This simplifies fault-finding when a third-party integrator asks for the matching GSD file.
- When extracting from a third-party project (e.g. a machine builder's project), request the GSD files directly from the machine OEM instead of extracting from the project. OEM-distributed GSDs include any vendor-specific extension modules and firmware-locked revisions.
- Never overwrite a GSD revision that an active project depends on without first exporting the old revision. STEP 7 does not keep a GSD revision history.
- For PROFINET devices, prefer GSDML XML over binary archives. XML files are diffable in version control (Git/SVN) and easier to audit.
FAQ
Where does STEP 7 V5.6 store installed GSD files on Windows 10/11?
STEP 7 V5.6 stores user-installed GSD files at C:\ProgramData\Siemens\Automation\Step7\S7DATA\GSD and the master repository at C:\Program Files\Siemens\Step7\S7DATA\GSD. Bitmaps are placed in C:\ProgramData\Siemens\Automation\Step7\S7DATA\NSBMP. If the GSD is delivered as *.compressed, opening HW Config once triggers automatic decompression.
Can I copy a Profibus slave directly between two STEP 7 projects without exporting the GSD file?
Yes. Open HW Config in both projects, copy the slave in the source project and paste it onto the Profibus master system in the target project. This requires that the matching GSD is already installed on both engineering stations. Use Options > Install GSD File first if the slave is missing from the target catalog.
How do I find the bitmap file associated with a GSD device?
Open the installed GSD (ASCII format) or the .xml GSDML file in a text editor and locate the <GraphicsList> section. Each <GraphicsEntry> lists the bitmap filename under <GraphicItem>. Copy that .bmp into NSBMP and restart HW Config.
Does TIA Portal support exporting an I-device as a GSD file?
Yes. In TIA Portal V16 to V20, select the S7 CPU acting as a PROFINET I-device, open the PROFINET interface properties, navigate to Operating mode > I-device communication, and click Export. TIA Portal writes a complete GSDML package including graphics. See the official documentation: Exporting an I-device as a GSD file.
Can I automate GSD/GSDML export across multiple projects?
Yes. The TIA Portal Openness API exposes DeviceItem.Export() for both GSD and GSDML devices. Run a C# or PowerShell script against an open TIA Portal instance to export every GSD-based device item to a target folder. Reference: Export/Import of GSD/GSDML based devices.