Example hwl file - 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

Simple *.hwl.json that contains a single plc with a digital input/output:

{
  "Devices": [
    {
      "Name": "Device1",
      "Modules": [
        {
          "Name": "PLC_1",
          "TypeIdentifier": {
            "OrderNumber": "6ES7 516-3AN01-0AB0",
            "Version": "V2.9"
          },
          "AccessProtection": {
            "AccessLevel": "NoAccess"
          },
          "Ports": [
            {
              "Name": "Port1",
              "Label": "X1 P1"
            },
            {
              "Name": "Port2",
              "Label": "X1 P2"
            }
          ],
          "Interfaces": [
            {
              "Name": "Interface1",
              "Label": "X1",
              "Addresses": {
                "Configured": [
                  { "IPv4": "192.168.0.10/24" }
                ]
              }
            }
          ]
        },
        {
          "Name": "DQ",
          "TypeIdentifier": {
            "OrderNumber": "6ES7 522-1BL01-0AB0",
            "Version": "V1.1"
          },
          "IoConfiguration": {
            "OutputAddress" : "32"
          }
        },
        {
          "Name": "DI",
          "TypeIdentifier": {
            "OrderNumber": "6ES7 521-1BL00-0AB0",
            "Version": "V2.2"
          },
          "IoConfiguration": {
            "InputAddress" : "9"
          }
        }
      ]
    }
  ]
}

NOTICE 1: PlcName.SecurityConfiguration.json

PlcName.SecurityConfiguration.json file, which is automatically generated & updated under the hwc.gen folder by the hardware compiler on execution of setup-secure-communication and import-certificate commands, is also required for a successful compile of S7-1500 PLCs.

For more information regarding these commands and creation of SecurityConfiguration.json, please refer to Security.