Generating a template for a controller in JSON format - 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
apax hwc generate-template-file --orderNumber "6ES7 517-3AP00-0AB0" --firmwareVersion "V3.1" --output "controller.hwl.json"
{
  "Templates": {
    "Modules": [
      {
        "Name": "PLC_1_Template",
        "Content": {
          "Name": "PLC_1",
          "TypeIdentifier": {
            "OrderNumber": "6ES7 517-3AP00-0AB0",
            "Version": "V3.1"
          },
          "Services": [
            {
              "Type": "Syslog",
              "Enabled": false,
              "Parameters": {
                "Address": "0.0.0.0",
                "Port": 65535,
                "TransportProtocolType": "TLSServerAndClientAuthentication",
                "AutoAcceptServer": false,
                "TrustedServerCertificates": [
                  "TrustedSyslogServer.cer"
                ]
              }
            },
            {
              "Type": "OpcUaServer",
              "Enabled": false,
              "Parameters": {
                // The parameters listed below are currently commented out because the OpcUaServer service is disabled by default. This is due to the Enabled parameter being set to false in the default configuration.
                // "SecurityPolicies": [
                //   "NoSecurity",
                //   "Basic256Sha256Sign",
                //   "Basic256Sha256SignEncrypt"
                // ]
                }
            },
            {
              "Type": "WebServer",
              "Enabled": false,
              "Parameters": {
                "HttpsOnly": true
              }
            }
          ],
          "Interfaces": [
            {
              "Name": "PROFINET_interface_1",
              "Label": "X1",
              "Addresses": {
                "Configured": [
                  {
                    "IPv4": "192.168.0.1/24"
                  },
                  {
                    "ProfinetDeviceName": "plc_1.profinet interface_1"
                  }
                ]
              },
              "Parameters": {
                "UseWebServerForInterface": false,
                "IECV22LLDPMode": false,
                "OverwriteDeviceNames": false,
                "PnSendClock": 1000000
              }
            },
            {
              "Name": "PROFINET_interface_2",
              "Label": "X2",
              "Addresses": {
                "Configured": [
                  {
                    "IPv4": "192.168.1.1/24"
                  },
                  {
                    "ProfinetDeviceName": "plc_1.profinet interface_2"
                  }
                ]
              },
              "Parameters": {
                "UseWebServerForInterface": false,
                "IECV22LLDPMode": false,
                "OverwriteDeviceNames": false,
                "PnSendClock": 1000000
              }
            },
            {
              "Name": "Virtual_communication_interface",
              "Label": "W1",
              "Addresses": {
                "Configured": [
                  {
                    "IPv4": "0.0.0.0/0"
                  },
                  {
                    "ProfinetDeviceName": "plc_1.virtual communication interface"
                  }
                ]
              }
            }
          ],
          "Ports": [
            {
              "Name": "Port_1",
              "Label": "X1 P1"
            },
            {
              "Name": "Port_2",
              "Label": "X1 P2"
            },
            {
              "Name": "Port_3",
              "Label": "X2 P1"
            }
          ],
          "Parameters": {
            "PnDnsConfigNameResolve": "Disabled",
            "AdditionalInformation": "",
            // "ClockMemoryByteAddress": 0,
            "ClockMemoryByte": false,
            "CycleCommunicationLoad": 20,
            "CycleEnableMinimumCycleTime": true,
            "CycleMaximumCycleTime": 150,
            "CycleMinimumCycleTime": 1,
            "ConfigurationControl": false,
            "LocationIdentifier": "",
            "PlantDesignation": "",
            // "ProtectionEnablePutGetCommunication": false,
            "ProtectionIntervalForSummarizeOfSecurityEvents": 20,
            "ProtectionSummarizeSecurityEventsOnHighLoad": true,
            "ProtectionUnitForSummarizeOfSecurityEvents": 2,
            "StartupActionAfterPowerOn": 3,
            "StartupComparisonPresetToActualModule": 2,
            "StartupConfigurationTimeout": 60000,
            // "SystemMemoryByteAddress": 1,
            "SystemMemoryByte": false,
            "SystemPowerSupplyExternal": 1,
            "TimeOfDayActivateDaylightSavingTime": true,
            "TimeOfDayDaylightSavingTimeOffset": 60,
            "TimeOfDayDaylightSavingTimeStartHour": 1,
            "TimeOfDayDaylightSavingTimeStartMonth": 3,
            "TimeOfDayDaylightSavingTimeStartWeek": 5,
            "TimeOfDayDaylightSavingTimeStartWeekday": 1,
            "TimeOfDayLocalTimeZone": 22,
            "TimeOfDayStandardTimeStartHour": 2,
            "TimeOfDayStandardTimeStartMonth": 10,
            "TimeOfDayStandardTimeStartWeek": 5,
            "TimeOfDayStandardTimeStartWeekday": 1,
            // "TimeSynchronizationServer1": "",
            // "TimeSynchronizationServer2": "",
            // "TimeSynchronizationServer3": "",
            // "TimeSynchronizationServer4": "",
            // "TimeSynchronizationUpdateInterval": 10,
            "CentralAlarmManagement": true,
            "ProDiagUsedLicenses": 0,
            "EnergySuitePurchasedLicense10": 0,
            "EnergySuitePurchasedLicense5": 0,
            "IPv4ForwardingActive": false,
            // "MacRtLicensePurchased": 0,
            "TimeSynchronizationNtpV2": 0,
            // "DomainConfiguration": 3,
            "HostAndDomainnameActive": false,
            // "Hostname": "",
            // "HostnameConfiguration": 3,
            // "HostnameIdenticalToDeviceNameActive": false,
            // "Domain": ""
          },
          "UserManagement": {
            "Users": [

              // The parameters listed below are currently commented out because the UserManagement configuration provided is intended as a sample. It is essential to adjust these settings according to your specific requirements before using them in your project.

              // {
              //   "Name": "User1",
              //   "AssignedRoles": [
              //     "Role1"
              //   ]

              // }
              ],
            "Roles": [

              // The parameters listed below are currently commented out because the UserManagement configuration provided is intended as a sample. It is essential to adjust these settings according to your specific requirements before using them in your project.

              // {
              //   "Name": "Role1",
              //   "FunctionRights": [
              //     "ReadPlcVariables",
              //     "WritePlcVariables",
              //     "ReadFiles",
              //     "QueryDiagnostics",
              //     "FlashLed",
              //     "AccessProtectionFailsafeAccess",
              //     "AccessProtectionFullAccess",
              //     "AccessProtectionHMIAccess",
              //     "AccessProtectionReadAccess",
              //     "OpcUAServerAccess",
              //     "OpcUAManageCertificates"
              //   ]

              // }
              ]
          }
        }
      }
    ]
  }
}