Defining GSD based Devices/Modules - References - SIMATIC AX - AX Hardware Engineering documentation - Hardware Engineering,

Hardware Engineering reference

Portfolio
SIMATIC AX
Product
SIMATIC AX
Software version
2.0.0-alpha1.56
Edition
08/2025
Language
English (original)
Package Name
@ax/hw-docs

To configure a device based on a GSD file, the module's TypeIdentifier must contain the GsdId of the device and its GSD file name (FileName).

{
  "Devices": [
    {
      "Name": "Device1",
      "Modules": [
        {
          "Name": "PLC_1",
          "TypeIdentifier": {
            "OrderNumber": "6ES7 516-3AN01-0AB0",
            "Version": "V2.9"
          },
          "AccessProtection": {
            "AccessLevel": "NoAccess"
          },
          "Interfaces": [
            {
              "Label": "X1",
              "Name": "ProfinetInterface1",
              "Addresses": {
                "Configured": [
                  { "IPv4": "192.168.0.1/24" }
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "Name": "MyIoDevice1",
      "Modules": [
        {
          "Name": "MyHead",
          "TypeIdentifier": {
            "FileName": "my-gsd-file.xml",
            "GsdId": "gsd-id-of-module"
          },
          "Interfaces": [
            {
              "Label": "X1",
              "Name": "Interface1",
              "Addresses": {
                "Configured": [
                  { "IPv4": "192.168.0.5/24" }
                ]
              }
            }
          ]
        },
        {
          "Name": "DQ8x24VDC",
          "TypeIdentifier": {
            "GsdId": "DQ 8x24VDC/0,5A HF", //This value can be easily found via. 'get-supported-devices' command.
            "FileName": "GSDML-V2.35-SIEMENS-ET200SP-20220729.XML"
          },
          "IoConfiguration": {
            "OutputAddress": "12"
          },
          "Parameters": {
            "RecordDataList": [
              {
                "Index": 243,
                "RawValue": "0x01000000" //Light base module
              }
            ]
          }
        },
        {
          "Name": "DI8x24VDC",
          "TypeIdentifier": {
            "GsdId": "DI 8x24VDC HF V2.0, MSI",
            "FileName": "GSDML-V2.35-SIEMENS-ET200SP-20220729.XML"
          },
          "IoConfiguration": {
            "InputAddress": "21"
          },
          "Parameters": {
            "RecordDataList": [
              {
                "Index": 243,
                "RawValue": "0x00000000" //Dark base module
              }
            ]
          }
        },
        {
          "Name": "ServerModule",
          "TypeIdentifier": {
            "GsdId": "Servermodule_without_io",
            "FileName": "GSDML-V2.35-SIEMENS-ET200SP-20220729.XML"
          }
        }
      ]
    }
  ],
  "IoSystems": [
    {
      "Name": "MyIoSystem",
      "ControllerInterfaces": [
        { "Ref": "Device1/PLC_1/ProfinetInterface1" }
      ],
      "DeviceInterfaces": [
        {
          "Ref": "MyIoDevice1/MyHead/Interface1",
          "Parameters": {
            "PnWatchdogFactor": 4 //In how many IO cycles the watchdog will run. 
          }                       //If we update IO data in every ms, watchdog will run in every 4 ms.
        }
      ]
    }
  ]
}

Note

When using modules based on GSD files, all modules and submodules in a device must be based on the same GSD file.

Combining modules based on different GSD files or combining modules based on GSD files with modules identified by order number is not possible.