Extracting GSD Files from STEP 7 Projects for Profibus Reuse

David Krause11 min read
ProfibusSiemensTutorial / 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

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.

Engineering note: GSD files for PROFIBUS are plain ASCII and editable. GSDML files for PROFINET are XML-based. Both file types are standardized by PROFIBUS & PROFINET International (PI) and are vendor-independent in structure, even though each manufacturer publishes its own device-specific content.

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\Automation and C:\Program Files\Siemens.
  • The source project (S7 project archive .zip or .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.
Path caveat: On 64-bit Windows installations the 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.

  1. Close SIMATIC Manager to release file locks on the GSD repository.
  2. Open Windows Explorer and navigate to C:\Program Files\Siemens\Step7\S7DATA\GSD.
  3. Use Search > *.GSD with subfolders included. Do not limit the search to the root directory.
  4. 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
    
  5. Copy the matching .GSD file to a working folder and rename it to identify the source project and slave address (e.g. Siemens_6SE70_rev4.0.GSD).
  6. On the target workstation, open SIMATIC Manager and choose Options > Install GSD File. Browse to the saved .GSD file and confirm installation.
  7. Restart HW Config if the device is not visible in the catalog under PROFIBUS DP > <Vendor>.
Field-proven tip: If STEP 7 prompts that the GSD file already exists, compare revision numbers in the headers. Newer revisions should overwrite older ones only when the source project explicitly depends on the newer version. Frequency converter firmware is often version-locked to its GSD revision (e.g. SINAMICS G120 firmware 4.7 SP10 requires GSD matching CU240E-2 PN V4.7.10).

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.

  1. Extract the S7 project archive and open the project in SIMATIC Manager.
  2. Double-click the Hardware object to launch HW Config.
  3. STEP 7 detects the embedded *.compressed package and automatically installs it. Watch the lower status bar — installation progress is reported per file.
  4. After HW Config opens successfully, close it and SIMATIC Manager.
  5. Verify the extracted files now exist at:
    • C:\ProgramData\Siemens\Automation\Step7\S7DATA\GSD\<device>.xml
    • C:\ProgramData\Siemens\Automation\Step7\S7DATA\NSBMP\<bitmap>.bmp
  6. Copy the .xml and any associated .bmp files 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.

  1. Open both S7 projects in SIMATIC Manager.
  2. Open HW Config for both projects side-by-side.
  3. In the source project, right-click the Profibus DP slave (e.g. SINAMICS G120) and choose Copy.
  4. Switch to the target project's HW Config, click the Profibus master system line, and choose Edit > Paste (or Ctrl+V).
  5. STEP 7 inserts the slave at the same Profibus address. Adjust the address and slot mapping as needed.
  6. Compile and download (or only save) the target project to verify configuration consistency.
Limitation: Copy/paste only works between projects on the same engineering station with the same STEP 7 version and the same installed GSD catalog. For transferring to a different workstation, prefer Method 1 or Method 2 to ship GSD files explicitly.

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.

  1. Open the TIA Portal project containing the I-device configuration.
  2. In the Project Tree, select the S7 CPU acting as the I-device and open Device view.
  3. In the Inspector window, select the PROFINET interface and navigate to Operating mode > I-device communication.
  4. Click the Export command. TIA Portal opens the export dialog.
  5. Choose the export path and confirm. TIA Portal writes the I-device as a GSD file including the GSDML XML and dependent bitmap files.
  6. 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.

  1. Open the target S7 / TIA Portal project.
  2. Launch HW Config / Device view and open the hardware catalog.
  3. Navigate to the expected vendor path (e.g. PROFIBUS DP > Drives > SIEMENS > SINAMICS or PROFINET IO > I/O > SIEMENS AG).
  4. Confirm the device appears with the correct order number and revision matching the original project.
  5. Insert the device onto the Profibus / Profinet network and assign a unique station address.
  6. Compile the configuration (Station > Consistency Check). STEP 7 reports missing modules, address conflicts, or GSD inconsistencies as warnings/errors in the compile log.
  7. Save the project. If the device was a frequency converter, verify the slot configuration matches the drive firmware parameter r0099 or 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_Repository folder 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.

Back to blog