6 PROFINET OPC UA Information Model
Today OPC UA information models focused on the functional aspects of a dedicated device and the management of parameters in a device parameter set, are typically based on the OPC UA for Devices (DI) base information model (defined in [OPC 10000-100], referenced as OPC UA DI also in this document). In contradiction to this the I4.0 system modelling, including multiple aggregated devices and controllers, requires the representation of several different aspects of the system and therefore will lead to more sophisticated modelling approaches. Such a system model approach using four different independent partial models called “Facets”, linked together by typified references is shown in Figure 16. Here the Asset partial model contains an independent model related to orderable components (assets). The Physical Network partial model contains the independent model of the ethernet network structure. The PROFNET partial model contains all communication related aspects of the PN Controllers and Devices in the system. The Function partial model at least represents the application function aspect of the system. Objects out of the different partial models are connected to each other by typified references expressing semantic information about their relationship.
To be future proof and easily integrable to different base modelling approaches, this Companion Specification defines the PROFINET information model as an independent partial model using the OPC UA Interface and AddIn technology (See [OPC 10001-7]) . This gives the opportunity to connect the same unique PROFINET base information model to the OPC UA DI base model and to use the same PROFNET base model as partial model for the PROFINET communication aspect in the “Facet” modelling approach as shown in Figure 16.

The base information model in chapter 6.3 defines all common types of the PROFINET OPC UA information model.
The Annex B shows how to use the base information model together with OPC UA for Devices.
6.1 Conventions used in the mapping to PROFINET properties
| Method | Meaning |
| DCP | The mentioned values or properties are read with the DCP Identify service |
| GSDML | The mentioned values or properties are read from a GSD file |
| Read | The mentioned values or properties are read with a CLRPC or RSI read record service |
The mentioned values are obtained by the blocks (optionally also subblocks) and fields given in the description. The following syntax is used: “Block | field”.
6.2 General conventions
All variables are read-only unless stated otherwise explicitly.
6.3 Base Information Model
6.3.1 OPC UA Object Types
The first 4 chapters of the base information model include the object types for the internal module/submodule structure of a PROFINET device and controller.
Figure 17 shows a simplified example for a module/submodule object structure. The container folders have been skipped in the figure.

The Device View includes devices in the PROFINET network and their real existing modules and submodules.
The Controller / Application View includes the PROFINET connections (Application Relationships) and the expected modules and submodules which have been configured in the PROFINET controller.
Both views relate to each other by non-hierarchical references.
The chapter 6.3.1.7 includes the object types for the PROFINET network mapping.
The chapter 6.3.1.8 includes the 2 object types for the asset identification within a PROFINET device.
6.3.1.1 Object instances lifetime
All object instances of the base information model represent the online view on the PROFINET network.
All PROFINET objects modeled in this specification are only created in the address space when the OPC UA Server detects their PROFINET counterpart. The objects are removed from the address space when the OPC UA Server detects their absence in the PROFINET network or PROFINET device.
The chapter 6.10 of [PN TAD] describes the possible ways of implementing the PROFINET device discovery. The chapter 11.3 of [PN TAD] describes the detection of the real modules and real submodules of a device and how to get their identification and asset data.
All these ContainerType objects only exist if objects are available in the container.
6.3.1.2 Domain
6.3.1.2.1 IPnDomainType
| Attribute | Value | ||||
| BrowseName | IPnDomainType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseInterfaceType defined in [OPC 10000-5]. | |||||
| HasComponent | Object | Nodes | PnEquipmentContainerType | Mandatory | |
The Nodes object of the Domain includes all device and controller nodes which belong to the PROFINET domain.
6.3.1.3 Node
6.3.1.3.1 IPnEquipmentType
| Attribute | Value | ||||
| BrowseName | IPnEquipmentType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseInterfaceType defined in [OPC 10000-5]. | |||||
| HasComponent | Object | Interfaces | PnInterfaceContainerType | Mandatory | |
| HasComponent | Object | Modules | PnRealModuleContainerType | Optional | |
| HasComponent | Object | Assets | PnAssetContainerType | Optional | |
| HasComponent | Object | IM | PnIdentificationType | Optional | |
| HasProperty | Variable | Vendor | String | PropertyType | Optional |
| HasComponent | Variable | Diagnosis | PnDeviceDiagnosisDataType[] | BaseDataVariableType | Optional |
| HasComponent | Object | Alarms | FolderType | Optional | |
| HasComponent | Method | ShowLocation | ShowLocationMethod | Optional | |
| GeneratesEvent | ObjectType | PnDiagnosisAlarmType | |||
| GeneratesEvent | ObjectType | PnAssetChangedEventType | |||
If the IM component is provided, it must contain the data of the representative submodule for the device in accordance with the I&M0FilterDataDevice block (See [PN TAD] – Identification & Maintenance).
The Assets and IM objects are optional. If the interface is used with the OPC UA facet model, the asset data can be part of another facet (See chapter 6 “PROFINET OPC UA Information Model” and Figure 16 – “Facet” modelling approach for I4.0 System Modelling).
The <Assets> objects are only assets which are directly related to this device. Assets related to the modules or submodules are components of these objects.
The server may provide diagnosis data with the Diagnosis variable or by sending PnDiagnosisAlarmType events. The diagnosis data at the device object includes the diagnosis information of the whole device including the one of all real modules and real submodules. An OPC UA Server might provide instances of the PnDiagnosisAlarmType as objects under the Alarms object.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| Vendor | DCP | DeviceVendorBlockRes | DeviceVendorValue |
| Diagnosis | Read | DiagnosisData (0xF80C device specific) |
6.3.1.3.1.1 ShowLocation Method
This optional method shall trigger a perceivable signal which allows the identification of the physical device represented by the device object the method is invoked on. This is usually accomplished with a blinking LED.
The method has no parameters (no [in] and no [out] parameters) and no return value.
Signature
ShowLocation (
);6.3.1.3.2 PnEquipmentContainerType
| Attribute | Value | ||||
| BrowseName | PnEquipmentContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasComponent | Object | <PnEquipments> | BaseObjectType | Optional Placeholder | |
The <PnEquipments> shall have the references and components defined in Table 26 and Table 27.
| Source Path | Reference Type | Is Forward | Target Path |
| <PnEquipments> | 0:HasInterface | True |
| Source Path | References | NodeClass | BrowseName | DataType TypeDefinition | Others |
| Applied from IPnEquipmentType | |||||
| <PnEquipments> | 0:HasComponent | Object | Interfaces | PnInterfaceContainerType | M |
| <PnEquipments> | 0:HasComponent | Object | Modules | PnRealModuleContainerType | O |
| <PnEquipments> | 0:HasComponent | Object | Assets | PnAssetContainerType | O |
| <PnEquipments> | 0:HasComponent | Object | IM | PnIdentificationType | O |
| <PnEquipments> | 0:HasProperty | Variable | Vendor | String PropertyType | O |
| <PnEquipments> | 0:HasComponent | Variable | Diagnosis | PnDeviceDiagnosisDataType[] BaseDataVariableType | O |
| <PnEquipments> | 0:HasComponent | Object | Alarms | FolderType | O |
| <PnEquipments> | 0:HasComponent | Method | ShowLocation | ShowLocationMethod | O |
| <PnEquipments> | 0:GeneratesEvent | ObjectType | PnDiagnosisAlarmType | ||
| <PnEquipments> | 0:GeneratesEvent | ObjectType | PnAssetChangedEventType | ||
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| <PnEquipments> | DCP | List of IdentifyResBlock |
6.3.1.3.3 IPnDeviceType
| Attribute | Value | ||||
| BrowseName | IPnDeviceType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of IPnEquipmentType | |||||
| HasProperty | Variable | GSDDescription | String | PropertyType | Optional |
| HasComponent | Variable | State | PnDeviceStateEnumeration | BaseDataVariableType | Optional |
The BrowseName of a device object instance shall be the content of the NameOfStation variable of the first interface sub module. If the NameOfStation variable is not set, the content of the MAC Address variable of the first interface sub module shall be used. The MAC address string should use the canonical format (separated with -, e.g. AC-FD-CE-EC-03-80).
If the GSDDescription property is provided, it must contain the InfoText with Device Id from the GSD (see mapping table below).
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| GSDDescription | GSD | DeviceIdentity | InfoText with Device Id |
| State | Read | ARData | NumberOfARs | ARProperties Empty block if offline. Online if at least one ARProperties block with ARProperties.DeviceAccess != 1 can be found in the record data. |
6.3.1.3.4 IPnControllerType
| Attribute | Value | ||||
| BrowseName | IPnControllerType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of IPnEquipmentType | |||||
| HasComponent | Object | ARs | PnApplicationRelationContainerType | Optional | |
6.3.1.4 Application Relationship
6.3.1.4.1 PnApplicationRelationType
| Attribute | Value | ||||
| BrowseName | PnApplicationRelationType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasComponent | Object | Modules | PnExpectedModuleContainerType | Optional | |
| HasComponent | Variable | State | PnARStateEnumeration | BaseDataVariableType | Mandatory |
| HasProperty | Variable | Id | Guid | PropertyType | Mandatory |
| HasProperty | Variable | Type | PnARTypeEnumeration | PropertyType | Mandatory |
| HasProperty | Variable | SendClockFactor | UInt16 | PropertyType | Optional |
| HasProperty | Variable | ReductionRatio | UInt16 | PropertyType | Optional |
| HasProperty | Variable | DataHoldFactor | UInt16 | PropertyType | Optional |
The BrowseName of an application relationship object instance shall be the Id in standard GUID string format.
The Modules container object is the root of the configuration hierarchy consisting of the expected modules of the application relationship and their expected submodules (See chapter 6.3 - Base Information Model and Figure 17 – Object Structure).
The State variable has always the value CONNECTED on devices since the object only exists if an AR is established.
An IsPnApplicationRelationControllerInterface reference points to the interface object of the controller used for the AR. If the AR relates to the device an IsPnApplicationRelationDeviceInterface reference points to the interface object of the device. See sections 6.3.2.11 and 6.3.2.12 also.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| Id | Read | ARData | ARUUID |
| Type | Read | ARData | ARType |
| SendClockFactor | Read | available also on Device/Gateway since PROFINET V2.4 via ARData | SendClockFactor or PDSyncData | SendClockFactor |
| ReductionRatio | Read | available also on Device/Gateway since PROFINET V2.4 via ARData | ReductionRatio |
| DataHoldFactor | Read | IOCRBlockReq | DataHoldFactor (not available on Device/Gateway) |
6.3.1.4.2 PnApplicationRelationContainerType
| Attribute | Value | ||||
| BrowseName | PnApplicationRelationContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnApplicationRelation | Object | <ARs> | PnApplicationRelationType | Optional Placeholder | |
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| <ARs> | Read | ARData | NumberOfARs entries | ARUUID |
6.3.1.5 Module
6.3.1.5.1 IPnModuleType
| Attribute | Value | ||||
| BrowseName | IPnModuleType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule | |
|---|---|---|---|---|---|---|
| Subtype of BaseInterfaceType defined in [OPC 10000-5]. | ||||||
| HasProperty | Variable | Slot | UInt16 | PropertyType | Mandatory | |
| HasProperty | Variable | IdentNumber | UInt32 | PropertyType | Mandatory | |
| HasProperty | Variable | GSDName | String | PropertyType | Optional | |
| HasProperty | Variable | GSDDescription | String | PropertyType | Optional | |
The properties Slot and IdentNumber must contain the data as described in the mapping table provided for the subtypes IPnRealModuleType and IPnExpectedModuleType.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| GSDName | GSDML | ModuleList | ModuleItem | ModuleInfo | Name |
| GSDDescription | GSDML | ModuleList | ModuleItem | ModuleInfo | InfoText |
6.3.1.5.2 IPnRealModuleType
| Attribute | Value | ||||
| BrowseName | IPnRealModuleType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule | |
|---|---|---|---|---|---|---|
| Subtype of IPnModuleType | ||||||
| HasComponent | Object | Submodules | PnRealSubmoduleContainerType | Optional | ||
| HasComponent | Object | IM | PnIdentificationType | Optional | ||
| HasComponent | Variable | Diagnosis | PnDeviceDiagnosisDataType[] | BaseDataVariableType | Optional | |
| HasComponent | Object | Alarms | FolderType | Optional | ||
| GeneratesEvent | ObjectType | PnDiagnosisAlarmType | ||||
| GeneratesEvent | ObjectType | PnAssetChangedEventType | ||||
The BrowseName of a module object instance shall be the content of the Slot variable in decimal number string format.
If the IM component is provided, it must contain the data of the representative submodule for the module in accordance with the I&M0FilterDataModule block (See [PN TAD] – Identification & Maintenance).
The server may provide diagnosis data with the Diagnosis variable or by sending PnDiagnosisAlarmType events. The diagnosis data at the real module object includes the diagnosis information of the whole module including the one of the real submodules of the module. An OPC UA Server may provide instances of the PnDiagnosisAlarmType as objects under the Alarms object.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| Slot | Read | RealIdentificationData | SlotNumber |
| IdentNumber | Read | RealIdentificationData | IdentNumber |
| Diagnosis | Read | DiagnosisData (0xC00C slot specific) |
6.3.1.5.3 PnRealModuleContainerType
| Attribute | Value | ||||
| BrowseName | PnRealModuleContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnRealModule | Object | <Modules> | BaseObjectType | Optional Placeholder | |
The <Modules> shall have the references and components defined in Table 35 and Table 36.
| Source Path | Reference Type | Is Forward | Target Path |
| <Modules> | 0:HasInterface | True |
| Source Path | References | NodeClass | BrowseName | DataType TypeDefinition | Others |
| Applied from IPnRealModuleType | |||||
| <Modules> | 0:HasProperty | Variable | Slot | UInt16 PropertyType | M |
| <Modules> | 0:HasProperty | Variable | IdentNumber | UInt32 PropertyType | M |
| <Modules> | 0:HasProperty | Variable | GSDName | String PropertyType | O |
| <Modules> | 0:HasProperty | Variable | GSDDescription | String PropertyType | O |
| <Modules> | 0:HasComponent | Object | Submodules | PnRealSubmoduleContainerType | O |
| <Modules> | 0:HasComponent | Object | IM | PnIdentificationType | O |
| <Modules> | 0:HasComponent | Variable | Diagnosis | PnDeviceDiagnosisDataType[] BaseDataVariableType | O |
| <Modules> | 0:HasComponent | Object | Alarms | FolderType | O |
| <Modules> | 0:GeneratesEvent | ObjectType | PnDiagnosisAlarmType | ||
| <Modules> | 0:GeneratesEvent | ObjectType | PnAssetChangedEventType | ||
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| <Modules> | Read | RealIdentificationData | NumberOfSlots entries | SlotNumber |
6.3.1.5.4 IPnExpectedModuleType
| Attribute | Value | ||||
| BrowseName | IPnExpectedModuleType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of IPnModuleType | |||||
| HasComponent | Object | Submodules | PnExpectedSubmoduleContainerType | Optional | |
| HasComponent | Variable | State | PnModuleStateEnumeration | BaseDataVariableType | Mandatory |
The BrowseName of a module object instance shall be the content of the Slot variable in decimal number string format.
An IsPnRealModule reference points to the real module which is the real realization of the expected module. See section 6.3.2.9 also.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| Slot | Read | ExpectedIdentificationData | SlotNumber |
| IdentNumber | Read | ExpectedIdentificationData | IdentNumber |
| State | Read | ModuleDiffBlock | ModuleState |
6.3.1.5.5 PnExpectedModuleContainerType
| Attribute | Value | ||||
| BrowseName | PnExpectedModuleContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnExpectedModule | Object | <Modules> | BaseObjectType | Optional Placeholder | |
The <Modules> shall have the references and subcomponents defined in Table 39 and Table 40.
| Source Path | Reference Type | Is Forward | Target Path |
| <Modules> | 0:HasInterface | True |
| Source Path | References | NodeClass | BrowseName | DataType TypeDefinition | Others |
| Applied from IPnExpectedModuleType | |||||
| <Modules> | 0:HasProperty | Variable | Slot | UInt16 PropertyType | M |
| <Modules> | 0:HasProperty | Variable | IdentNumber | UInt32 PropertyType | M |
| <Modules> | 0:HasProperty | Variable | GSDName | String PropertyType | O |
| <Modules> | 0:HasProperty | Variable | GSDDescription | String PropertyType | O |
| <Modules> | 0:HasComponent | Variable | State | PnModuleStateEnumeration BaseDataVariableType | M |
| <Modules> | 0:HasComponent | Object | Submodules | PnExpectedSubmoduleContainerType | O |
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| <Modules> | Read | ExpectedIdentificationData | NumberOfSlots entries | SlotNumber |
6.3.1.6 Submodule
6.3.1.6.1 IPnSubmoduleType
| Attribute | Value | |||||
| BrowseName | IPnSubmoduleType | |||||
| IsAbstract | True | |||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseInterfaceType defined in [OPC 10000-5]. | |||||
| HasProperty | Variable | API | UInt32 | PropertyType | Mandatory |
| HasProperty | Variable | Subslot | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | IdentNumber | UInt32 | PropertyType | Mandatory |
| HasProperty | Variable | GSDName | String | PropertyType | Optional |
| HasProperty | Variable | GSDDescription | String | PropertyType | Optional |
The properties GSDName and GSDDescription must contain the data from the GSD, as described in the mapping table provided for the subtypes IPnRealSubmoduleType and IPnExpectedSubmoduleType.
6.3.1.6.2 IPnRealSubmoduleType
| Attribute | Value | |||||
| BrowseName | IPnRealSubmoduleType | |||||
| IsAbstract | True | |||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of IPnSubmoduleType | |||||
| HasComponent | Object | IM | PnIdentificationType | Optional | |
| HasComponent | Variable | Diagnosis | PnDeviceDiagnosisDataType[] | BaseDataVariableType | Optional |
| HasComponent | Object | Alarms | FolderType | Optional | |
| GeneratesEvent | ObjectType | PnDiagnosisAlarmType | |||
| GeneratesEvent | ObjectType | PnAssetChangedEventType | |||
The BrowseName of a sub module object instance shall be the content of the Subslot variable in hexadecimal number string format (e.g. 0x8001).
If the IM component is provided, it must contain the data in accordance with the I&M0FilterDataSubmodule block (See [PN TAD] – Identification & Maintenance).
The server can provide diagnosis data with the Diagnosis variable or by sending PnDiagnosisAlarmType events. The diagnosis data at the real submodule object includes only the diagnosis information of the real submodule. An OPC UA Server might provide instances of the PnDiagnosisAlarmType as objects under the Alarms object.
An IsPnInterface reference exists if the submodule is an interface submodule. See section 6.3.2.13 also.
An IsPnPort reference exists if the submodule is a port submodule. It points to the PnPortType object. See section 6.3.2.14 also.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| API | Read | RealIdentificationData | API |
| SubSlot | Read | RealIdentificationData | SubslotNumber |
| IdentNumber | Read | RealIdentificationData | SubmoduleIdentNumber |
| GSDName | GSDML | SubmoduleList | SubmoduleItem | ModuleInfo | Name or SubmoduleList | VirtualSubmoduleItem | ModuleInfo | Name or SubmoduleList | PortSubmoduleItem | ModuleInfo | Name |
| GSDDescription | GSDML | SubmoduleList | SubmoduleItem | ModuleInfo | InfoText or SubmoduleList | VirtualSubmoduleItem | ModuleInfo | InfoText or SubmoduleList | PortSubmoduleItem | ModuleInfo | InfoText |
| Diagnosis | Read | DiagnosisData (0x800C subslot specific) |
6.3.1.6.3 PnRealSubmoduleContainerType
| Attribute | Value | ||||
| BrowseName | PnRealSubmoduleContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnRealSubmodule | Object | <Submodules> | BaseObjectType | Optional Placeholder | |
The <Submodules> shall have the references defined in Table 44 and Table 45.
| Source Path | Reference Type | Is Forward | Target Path |
| <Submodules> | 0:HasInterface | True |
| Source Path | References | NodeClass | BrowseName | DataType TypeDefinition | Others |
| Applied from IPnRealSubmoduleType | |||||
| <Submodules> | 0:HasProperty | Variable | API | UInt32 PropertyType | M |
| <Submodules> | 0:HasProperty | Variable | Subslot | UInt16 PropertyType | M |
| <Submodules> | 0:HasProperty | Variable | IdentNumber | UInt32 PropertyType | M |
| <Submodules> | 0:HasProperty | Variable | GSDName | String PropertyType | O |
| <Submodules> | 0:HasProperty | Variable | GSDDescription | String PropertyType | O |
| <Submodules> | 0:HasComponent | Object | IM | PnIdentificationType | O |
| <Submodules> | 0:HasComponent | Variable | Diagnosis | PnDeviceDiagnosisDataType[] BaseDataVariableType | O |
| <Submodules> | 0:HasComponent | Object | Alarms | FolderType | O |
| <Submodules> | 0:GeneratesEvent | ObjectType | PnDiagnosisAlarmType | ||
| <Submodules> | 0:GeneratesEvent | ObjectType | PnAssetChangedEventType | ||
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| <Submodules> | Read | RealIdentificationData | NumberOfSubslots entries | SubslotNumber |
6.3.1.6.4 IPnExpectedSubmoduleType
| Attribute | Value | ||||
| BrowseName | IPnExpectedSubmoduleType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of IPnSubmoduleType | |||||
| HasComponent | Object | State | PnSubmoduleStateType | Optional | |
An IsPnRealSubmodule reference points to the real submodule which is the real realization of the expected submodule. See section 6.3.2.10 also.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| API | Read | ExpectedIdentificationData | API |
| SubSlot | Read | ExpectedIdentificationData | SubslotNumber |
| IdentNumber | Read | ExpectedIdentificationData | SubmoduleIdentNumber |
| GSDName | GSDML | SubmoduleList | SubmoduleItem | ModuleInfo | Name or SubmoduleList | PortSubmoduleItem | ModuleInfo | Name |
| GSDDescription | GSDML | SubmoduleList | SubmoduleItem | ModuleInfo | InfoText or SubmoduleList | VirtualSubmoduleItem | ModuleInfo | InfoText or SubmoduleList | PortSubmoduleItem | ModuleInfo | InfoText |
| State | Read | ModuleDiffBlock | SubmoduleState |
6.3.1.6.5 PnExpectedSubmoduleContainerType
| Attribute | Value | ||||
| BrowseName | PnExpectedSubmoduleContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnExpectedSubmodule | Object | <Submodules> | BaseObjectType | Optional Placeholder | |
The <Submodules> shall have the references and subcomponents defined in Table 48 and Table 49.
| Source Path | Reference Type | Is Forward | Target Path |
| <Submodules> | 0:HasInterface | True |
| Source Path | References | NodeClass | BrowseName | DataType TypeDefinition | Others |
| Applied from IPnExpectedSubmoduleType | |||||
| <Submodules> | 0:HasProperty | Variable | API | UInt32 PropertyType | M |
| <Submodules> | 0:HasProperty | Variable | Subslot | UInt16 PropertyType | M |
| <Submodules> | 0:HasProperty | Variable | IdentNumber | UInt32 PropertyType | M |
| <Submodules> | 0:HasProperty | Variable | GSDName | String PropertyType | O |
| <Submodules> | 0:HasProperty | Variable | GSDDescription | String PropertyType | O |
| <Submodules> | 0:HasComponent | Object | State | PnSubmoduleStateType | O |
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| <Submodules> | Read | ExpectedIdentificationData | NumberOfSubslots entries | SubslotNumber |
6.3.1.6.6 PnSubmoduleStateType
| Attribute | Value | ||||
| BrowseName | PnSubmoduleStateType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasComponent | Variable | AddInfo | PnSubmoduleAddInfoEnumeration | BaseDataVariableType | Optional |
| HasComponent | Variable | QualifiedInfo | Boolean | BaseDataVariableType | Optional |
| HasComponent | Variable | Maintenance Required | Boolean | BaseDataVariableType | Optional |
| HasComponent | Variable | Maintenance Demanded | Boolean | BaseDataVariableType | Optional |
| HasComponent | Variable | DiagInfo | Boolean | BaseDataVariableType | Optional |
| HasComponent | Variable | ARInfo | PnSubmoduleARInfoEnumeration | BaseDataVariableType | Optional |
| HasComponent | Variable | IdentInfo | PnSubmoduleIdentInfoEnumeration | BaseDataVariableType | Optional |
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| AddInfo | Read | ModuleDiffBlock | SubmoduleState.AddInfo If entry not found, use: None |
| QualifiedInfo | Read | ModuleDiffBlock | SubmoduleState.Advice If entry not found, use: No Advice information available |
| MaintenanceRequired | Read | ModuleDiffBlock | SubmoduleState.MaintenanceRequired If entry not found, use: No MaintenanceRequired information available |
| MaintenanceDemanded | Read | ModuleDiffBlock | SubmoduleState.MaintenanceDemanded If entry not found, use: No MaintenanceDemanded information available |
| DiagInfo | Read | ModuleDiffBlock | SubmoduleState.Fault If entry not found, use: No Fault information available |
| ARInfo | Read | ModuleDiffBlock | SubmoduleState.ARInfo If entry not found, use: Own |
| IdentInfo | Read | ModuleDiffBlock | SubmoduleState.IdentInfo If entry not found, use: OK |
6.3.1.7 Network
This chapter includes all object types needed to represent the physical network topology of a PROFINET network.
Figure 18 shows an example which illustrates the relations between network objects of a single port PROFINET device and a 4 port Ethernet switch.

The Ethernet interface, ports and cables are represented by objects in the address space. This Ethernet objects relate to each other by CommLinkTo references. This enables the OPC UA Server to represent the physical network topology of the PROFINET network.
6.3.1.7.1 IPnInterfaceType
| Attribute | Value | ||||
| BrowseName | IPnInterfaceType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseInterfaceType defined in [OPC 10000-5]. | |||||
| HasComponent | Object | Ports | PnPortContainerType | Mandatory | |
| HasProperty | Variable | NameOfStation | String | PropertyType | Mandatory |
| HasProperty | Variable | DeviceRole | PnDeviceRoleOptionSet | PropertyType | Mandatory |
| HasProperty | Variable | DeviceVendor | String | PropertyType | Optional |
| HasProperty | Variable | VendorId | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | DeviceId | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | DeviceInstance | UInt16 | PropertyType | Optional |
| HasProperty | Variable | OEMVendorId | UInt16 | PropertyType | Optional |
| HasProperty | Variable | OEMDeviceId | UInt16 | PropertyType | Optional |
| CommLinkTo | Object | EthernetInterface | EthernetInterfaceType | Optional | |
| HasComponent | Object | Statistic | PnPortStatisticType | Optional | |
| HasComponent | Method | SetNameOfStation | SetNameOfStationMethod | Optional | |
The BrowseName of an interface object instance shall be the PROFINET interface id with the range 1..16 in decimal number string format.
The NameOfStation variable may be set with the SetNameOfStation method. Nevertheless, the variable itself shall always be read-only.
The CommLinkTo reference points to an EthernetInterfaceType object instance. An object of the IPv4FeatureType must be implemented in this EthernetInterfaceType object instance.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| NameOfStation | DCP | DCP-Identify-ResPDU | NameOfStationValue |
| DeviceRole | DCP | DCP-Identify-ResPDU | DeviceRoleDetails |
| DeviceVendor | DCP | DCP-Identify-ResPDU | DeviceVendorValue |
| VendorId | DCP | DCP-Identify-ResPDU | DeviceIDBlockRes | DeviceIDValue |
| DeviceId | DCP | DCP-Identify-ResPDU | DeviceIDBlockRes | DeviceIDValue |
| DeviceInstance | DCP | DCP-Identify-ResPDU | DeviceInstanceValue |
| OEMVendorId | DCP | DCP-Identify-ResPDU | OEMDeviceIDBlockRes | DeviceIDValue |
| OEMDeviceId | DCP | DCP-Identify-ResPDU | OEMDeviceIDBlockRes | DeviceIDValue |
6.3.1.7.1.1 SetNameOfStation Method
This optional method writes the NameOfStation remanent to the PROFINET device and sets the NameOfStation variable accordingly.
Signature
SetNameOfStation (
[in] String NameOfStation
);
| Argument | Description |
| NameOfStation | String containing the new NameOfStation to be written remanent to the device. The maximum length shall be limited to 240 characters (See [PN Protocol] for details). |
Method Result Codes
| ResultCode | Description |
| Bad_InvalidArgument | The Server is not able to apply the name. The name may be too long or may contain invalid characters. |
| Bad_UnexpectedError | The Server is not able to apply the name because an unexpected error occurred. The device might be temporarily unavailable or unreachable due to network failure. |
6.3.1.7.2 PnInterfaceContainerType
| Attribute | Value | ||||
| BrowseName | PnInterfaceContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnInterface | Object | <Interfaces> | BaseObjectType | Optional Placeholder | |
The <Interfaces> shall have the references defined in Table 53 and Table 54.
| Source Path | Reference Type | Is Forward | Target Path |
| <Interfaces> | 0:HasInterface | True |
| Source Path | References | NodeClass | BrowseName | DataType TypeDefinition | Others |
| Applied from IPnInterfaceType | |||||
| <Interfaces> | 0:HasComponent | Object | Ports | PnPortContainerType | M |
| <Interfaces> | 0:HasProperty | Variable | NameOfStation | String PropertyType | M |
| <Interfaces> | 0:HasProperty | Variable | DeviceRole | PnDeviceRoleOptionSet PropertyType | M |
| <Interfaces> | 0:HasProperty | Variable | DeviceVendor | String PropertyType | O |
| <Interfaces> | 0:HasProperty | Variable | VendorId | UInt16 PropertyType | M |
| <Interfaces> | 0:HasProperty | Variable | DeviceId | UInt16 PropertyType | M |
| <Interfaces> | 0:HasProperty | Variable | DeviceInstance | UInt16 PropertyType | O |
| <Interfaces> | 0:HasProperty | Variable | OEMVendorId | UInt16 PropertyType | O |
| <Interfaces> | 0:HasProperty | Variable | OEMDeviceId | UInt16 PropertyType | O |
| <Interfaces> | CommLinkTo | Object | EthernetInterface | EthernetInterfaceType | O |
| <Interfaces> | 0:HasComponent | Object | Statistic | PnPortStatisticType | O |
| <Interfaces> | 0:HasComponent | Method | SetNameOfStation | SetNameOfStationMethod | O |
6.3.1.7.3 PnPortType
The PnPortType Object Type includes the port specific data of a port submodule.
A PnRealSubmoduleType instance representing a port submodule has an IsPnPort reference to a PnPortType object instance.
| Attribute | Value | ||||
| BrowseName | PnPortType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasComponent | Object | Statistic | PnPortStatisticType | Optional | |
| HasComponent | Variable | LinkState | PnLinkStateEnumeration | BaseDataVariableType | Optional |
| HasComponent | Variable | PortState | PnPortStateEnumeration | BaseDataVariableType | Optional |
| HasComponent | Variable | MAUType | UInt16 | BaseDataVariableType | Optional |
| HasComponent | Variable | CableDelay | UInt32 | BaseDataVariableType | Optional |
| HasComponent | Variable | PowerBudget | UInt32 | BaseDataVariableType | Optional |
| HasComponent | Variable | IsWireless | Boolean | BaseDataVariableType | Optional |
| CommLinkTo | Object | EthernetPort | EthernetPortType | Optional | |
| GeneratesEvent | ObjectType | PnTopologyChangedEventType | |||
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| MAUType | Read | PDPortDataReal | MAUType |
| CableDelay | Read | PDPortDataReal | LineDelay |
| PowerBudget | Read | PDPortFODataReal | FiberOpticDiagnosisInfo | FiberOpticPowerBudgetReal |
| IsWireless | Read | PDPortDataReal | MediaType |
6.3.1.7.4 PnPortContainerType
| Attribute | Value | ||||
| BrowseName | PnPortContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnPort | Object | <Ports> | PnPortType | Optional Placeholder | |
6.3.1.7.5 PnPortStatisticType
| Attribute | Value | ||||
| BrowseName | PnPortStatisticType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasComponent | Variable | InOctets | UInt32 | BaseDataVariableType | Optional |
| HasComponent | Variable | OutOctets | UInt32 | BaseDataVariableType | Optional |
| HasComponent | Variable | InDiscards | UInt32 | BaseDataVariableType | Optional |
| HasComponent | Variable | OutDiscards | UInt32 | BaseDataVariableType | Optional |
| HasComponent | Variable | InErrors | UInt32 | BaseDataVariableType | Optional |
| HasComponent | Variable | OutErrors | UInt32 | BaseDataVariableType | Optional |
The port statistic counters can be read from a PROFINET device with the Read PD Port Statistic PROFINET service.
6.3.1.7.6 NetworkComponentType
The NetworkComponentType is the abstract base ObjectType for different types of network components.
| Attribute | Value | ||||
| BrowseName | NetworkComponentType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasComponent | Object | <FeatureName> | NetworkComponentFeatureType | OptionalPlaceholder | |
| HasComponent | Variable | Enabled | Boolean | BaseDataVariableType | Optional |
| CommLinkTo | Object | <ComponentName> | NetworkComponentType | OptionalPlaceholder | |
The Enabled variable indicates if the network component is activated (Enabled == True) or deactivated (Enabled == False).
6.3.1.7.7 EthernetInterfaceType
The EthernetInterfaceType is used to represent Ethernet network interfaces.
| Attribute | Value | ||||
| BrowseName | EthernetInterfaceType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of NetworkComponentType. | |||||
| HasComponent | Variable | MacAddress | Byte [6] | BaseDataVariableType | Mandatory |
| CommLinkTo | Object | <PortName> | EthernetPortType | MandatoryPlaceholder | |
The MacAddress Variable is read only and represents the unique Layer2 source MAC address of the related interface.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| MacAddress | DCP | DCP-Identify-ResPDU | MACAddressBlockRes | MACAddressValue |
6.3.1.7.8 EthernetPortType
The EthernetPortType is used to represent Ethernet ports.
| Attribute | Value | ||||
| BrowseName | EthernetPortType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of NetworkComponentType. | |||||
| HasComponent | Variable | PhysAddress | Byte [6] | BaseDataVariableType | Optional |
| CommLinkTo | Object | <EthernetPort> | EthernetPortType | Optional | |
The PhysAddress Variable is read only and contains a MAC address representing the Port.
6.3.1.7.9 NetworkComponentFeatureType
The NetworkComponentFeatureType is the abstract base ObjectType for different types of network components.
| Attribute | Value | ||||
| BrowseName | NetworkComponentFeatureType | ||||
| IsAbstract | True | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
6.3.1.7.10 IPv4FeatureType
The IPv4FeatureType is used to represent IPv4 settings of a network interface.
| Attribute | Value | ||||
| BrowseName | IPv4FeatureType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of NetworkComponentFeatureType. | |||||
| HasComponent | Variable | IpAddress | Byte[4] | BaseDataVariableType | Mandatory |
| HasComponent | Variable | SubnetMask | Byte[4] | BaseDataVariableType | Mandatory |
| HasComponent | Variable | DefaultGateway | Byte[4] | BaseDataVariableType | Mandatory |
| HasComponent | Variable | DhcpEnabled | Boolean | BaseDataVariableType | Mandatory |
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| IpAddress | DCP | DCP-Identify-ResPDU | IPParameterBlockRes | IPParameterValue | IPAddress |
| SubnetMask | DCP | DCP-Identify-ResPDU | IPParameterBlockRes | IPParameterValue | Subnetmask |
| DefaultGateway | DCP | DCP-Identify-ResPDU | IPParameterBlockRes | IPParameterValue | StandardGateway |
| DhcpEnabled | DCP | DCP-Identify-ResPDU | DHCPParameterBlockRes | DHCPParameter | DHCPParameterLength |
The IpAddress Variable describes the IPv4 address on the interface.
The SubnetMask Variable describes the IPv4 Subnet mask on the interface.
The DefaultGateway Variable describes the IPv4 address of the default gateway.
The DhcpEnabled Variable specifies whether the DHCPv4 Client functionality for this interface is enabled.
6.3.1.8 Identification
6.3.1.8.1 PnIdentificationType
| Attribute | Value | ||||
| BrowseName | PnIdentificationType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasProperty | Variable | VendorId | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | OrderId | String | PropertyType | Mandatory |
| HasProperty | Variable | SerialNumber | String | PropertyType | Mandatory |
| HasProperty | Variable | SoftwareRevision | String | PropertyType | Mandatory |
| HasProperty | Variable | HardwareRevision | String | PropertyType | Mandatory |
| HasProperty | Variable | ProfileId | UInt32 | PropertyType | Mandatory |
| HasProperty | Variable | ProfileSpecificType | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | Version | String | PropertyType | Mandatory |
| HasProperty | Variable | RevisionCounter | UInt16 | PropertyType | Optional |
| HasProperty | Variable | IMSupported | UInt16 | PropertyType | Optional |
| HasProperty | Variable | TagFunction | String | PropertyType | Optional |
| HasProperty | Variable | TagLocation | String | PropertyType | Optional |
| HasProperty | Variable | Date | DateTime | PropertyType | Optional |
| HasProperty | Variable | Descriptor | String | PropertyType | Optional |
| HasProperty | Variable | Signature | ByteString | PropertyType | Optional |
| HasProperty | Variable | IM5 | PnIM5DataType[] | PropertyType | Optional |
| HasComponent | Method | SetTags | SetTagsMethod | Optional | |
| HasComponent | Method | SetDate | SetDateMethod | Optional | |
| HasComponent | Method | SetDescriptor | SetDescriptorMethod | Optional | |
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| VendorId | Read | I&M0 | VendorID |
| OrderId | Read | I&M0 | OrderID |
| SerialNumber | Read | I&M0 | IM_Serial_Number |
| SoftwareRevision | Read | I&M0 | IM_Software_Revision |
| HardwareRevision | Read | I&M0 | IM_Hardware_Revision |
| ProfileId | Read | I&M0 | IM_Profile_ID |
| ProfileSpecificType | Read | I&M0 | IM_Profile_Specific_Type |
| Version | Read | I&M0 | IM_Version |
| RevisionCounter | Read | I&M0 | IM_Revision_Counter |
| IMSupported | Read | I&M0 | IM_Supported |
| TagFunction | Read | I&M1 | IM_Tag_Function |
| TagLocation | Read | I&M1 | IM_Tag_Location |
| Date | Read | I&M2 | IM_Date |
| Descriptor | Read | I&M3 | IM_Descriptor |
| Signature | Read | I&M4 | IM_Signature |
| IM5 | Read | I&M5 | I&M5Data, see chapter 6.3.3.1.2 for details Array size: I&M5 | NumberOfEntries |
6.3.1.8.1.1 SetTags Method
This optional method writes the I&M1 fields IM_TagFunction and IM_Tag_Location remanent to the PROFINET device and sets the TagFunction and TagLocation variables accordingly.
Signature
SetTags (
[in] IMTagSelectorEnumeration Tag_Selector,
[in] String Tag_Function,
[in] String Tag_Location
);
| Argument | Description |
| Tag_Selector | If FUNCTION, Tag_Function shall be written, If LOCATION, Tag_Location shall be written, if BOTH both. |
| Tag_Function | String containing the new I&M1 | IM_Tag_Function to be written remanent to the device. |
| Tag_Location | String containing the new I&M1 | IM_Tag_Location to be written remanent to the device. |
Method Result Codes
| ResultCode | Description |
| Bad_InvalidArgument | The Server is not able to apply an argument. The argument may be too long or may contain invalid characters. |
| Bad_UnexpectedError | The Server is not able to apply the name because an unexpected error occurred. The device might be temporarily unavailable or unreachable due to network failure. |
6.3.1.8.1.2 SetDate Method
This optional method writes the I&M2 field IM_Date remanent to the PROFINET device and sets the Date variable accordingly.
Signature
SetDate (
[in] DateTime IM_Date
);
| Argument | Description |
| IM_Date | New I&M2 | IM_Date to be written remanent to the device. |
Method Result Codes
| ResultCode | Description |
| Bad_InvalidArgument | The Server is not able to apply an argument. |
| Bad_UnexpectedError | The Server is not able to apply the name because an unexpected error occurred. The device might be temporarily unavailable or unreachable due to network failure. |
6.3.1.8.1.3 SetDescriptor Method
This optional method writes the I&M3 field IM_Descriptor remanent to the PROFINET device and sets the Descriptor variable accordingly.
Signature
SetDescriptor (
[in] String Descriptor
);
| Argument | Description |
| Descriptor | New I&M3 | IM_Descriptor to be written remanent to the device. |
Method Result Codes
| ResultCode | Description |
| Bad_InvalidArgument | The Server is not able to apply an argument. The argument may be too long or may contain invalid characters. |
| Bad_UnexpectedError | The Server is not able to apply the name because an unexpected error occurred. The device might be temporarily unavailable or unreachable due to network failure. |
6.3.1.8.2 PnAssetType
| Attribute | Value | ||||
| BrowseName | PnAssetType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasProperty | Variable | UniqueIdentifier | Guid | PropertyType | Mandatory |
| HasProperty | Variable | Location | String | PropertyType | Mandatory |
| HasProperty | Variable | Annotation | String | PropertyType | Mandatory |
| HasProperty | Variable | OrderId | String | PropertyType | Mandatory |
| HasProperty | Variable | SoftwareRevision | String | PropertyType | Optional |
| HasProperty | Variable | HardwareRevision | String | PropertyType | Optional |
| HasProperty | Variable | SerialNumber | String | PropertyType | Mandatory |
| HasProperty | Variable | TypeIdentification | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | Organization | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | VendorId | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | DeviceId | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | DeviceSubId | UInt16 | PropertyType | Mandatory |
| GeneratesEvent | ObjectType | PnAssetChangedEventType | |||
The BrowseName of an asset object instance shall be the content of the UniqueIdentifier variable in standard GUID string format.
Mapping to PROFINET properties:
| BrowseName | Method | Source |
| UniqueIdentifier | Read | AssetManagementData | IM_UniqueIdentifier |
| Location | Read | AssetManagementData | AM_Location |
| Annotation | Read | AssetManagementData | IM_Annotation |
| OrderId | Read | AssetManagementData | IM_OrderID |
| SoftwareRevision | Read | AssetManagementData | IM_Software_Revision or AM_SoftwareRevision |
| HardwareRevision | Read | AssetManagementData | IM_Hardware_Revision or AM_HardwareRevision |
| SerialNumber | Read | AssetManagementData | IM_Serial_Number |
| TypeIdentification | Read | AssetManagementData | AM_TypeIdentification |
| Organization | Read | AssetManagementData | AM_DeviceIdentification.Organization |
| VendorId | Read | AssetManagementData | AM_DeviceIdentification.VendorID |
| DeviceId | Read | AssetManagementData | AM_DeviceIdentification.DeviceID |
| DeviceSubId | Read | AssetManagementData | AM_DeviceIdentification.DeviceSubID |
If the AM_Location field is coded using the level tree format, each used level shall be encoded in the Location string with a ‘.’ followed by the value of the level bits encoded as decimal number string. According to [PN TAD] – Figure 38, the HART sensor has the Location string ”.0.4.1.1”.
If the AM_Location field is coded using the slot- and subslotnumber format, the Location string shall be encoded as ‘BeginSlotNumber/BeginSubslotNumber-EndSlotNumber/EndSubslotNumber’. BeginSlotNumber and EndSlotNumber shall be encoded as decimal number strings. BeginSubslotNumber and EndSubslotNumber shall be encoded as hexadecimal number strings (0x…) According to [PN TAD] – Figure 38, the IO-MC 1 asset has the Location string ”2/0x1-4/0x1”.
6.3.1.8.3 PnAssetContainerType
| Attribute | Value | ||||
| BrowseName | PnAssetContainerType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
| Subtype of BaseObjectType defined in [OPC 10000-5]. | |||||
| HasPnAsset | Object | <Assets> | PnAssetType | Optional Placeholder | |
6.3.2 OPC UA Reference Types
6.3.2.1 HasPnApplicationRelation
| Attribute | Value |
| BrowseName | HasPnApplicationRelation |
| InverseName | IsPnApplicationRelationOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnApplicationRelation reference is used to append nodes to the PnApplicationRelationContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object of the ObjectType PnApplicationRelationType.
6.3.2.2 HasPnRealModule
| Attribute | Value |
| BrowseName | HasPnRealModule |
| InverseName | IsPnRealModuleOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnRealModule reference type is used to append nodes to the PnRealModuleContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnRealModuleType interface.
6.3.2.3 HasPnRealSubmodule
| Attribute | Value |
| BrowseName | HasPnRealSubmodule |
| InverseName | IsPnRealSubmoduleOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnRealSubmodule reference type is used to append nodes to the PnRealSubmoduleContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnRealSubmoduleType interface.
6.3.2.4 HasPnExpectedModule
| Attribute | Value |
| BrowseName | HasPnExpectedModule |
| InverseName | IsPnExpectedModuleOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnExpectedModule reference type is used to append nodes to the PnExpectedModuleContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnExpectedModuleType interface.
6.3.2.5 HasPnExpectedSubmodule
| Attribute | Value |
| BrowseName | HasPnExpectedSubmodule |
| InverseName | IsPnExpectedSubmoduleOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnExpectedSubmodule reference type is used to append nodes to the PnExpectedSubmoduleContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnExpectedSubmoduleType interface.
6.3.2.6 HasPnAsset
| Attribute | Value |
| BrowseName | HasPnAsset |
| InverseName | IsPnAssetOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnAsset reference type is used to append nodes to the PnAssetContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object of the ObjectType PnAssetType.
6.3.2.7 HasPnInterface
| Attribute | Value |
| BrowseName | HasPnInterface |
| InverseName | IsPnInterfaceOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnInterface reference type is used to append nodes to the PnInterfaceContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnInterfaceType interface.
6.3.2.8 HasPnPort
| Attribute | Value |
| BrowseName | HasPnPort |
| InverseName | IsPnPortOf |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the HasComponent from [OPC 10000-5]. | |
The HasPnPort reference type is used to append nodes to the PnPortContainerType node.
This reference should always be bidirectional.
The destination of the reference shall be an object of the ObjectType PnPortType.
6.3.2.9 IsPnRealModule
| Attribute | Value |
| BrowseName | IsPnRealModule |
| InverseName | IsPnExpectedModule |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the NonHierarchicalReferences from [OPC 10000-5]. | |
The IsPnRealModule reference type is used to link ExpectedModule objects to their RealModule counterparts (See Figure 17 – Object Structure).
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnRealModuleType interface.
The source of the reference shall be an object implementing the IPnExpectedModuleType interface.
6.3.2.10 IsPnRealSubmodule
| Attribute | Value |
| BrowseName | IsPnRealSubmodule |
| InverseName | IsPnExpectedSubmodule |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the NonHierarchicalReferences from [OPC 10000-5]. | |
The IsPnRealSubmodule reference type is used to link ExpectedSubmodule objects to their RealSubmodule counterparts (See Figure 17 – Object Structure).
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnRealSubmoduleType interface.
The source of the reference shall be an object implementing the IPnExpectedSubmoduleType interface.
6.3.2.11 IsPnApplicationRelationDeviceInterface
| Attribute | Value |
| BrowseName | IsPnApplicationRelationDeviceInterface |
| InverseName | UsedByPnApplicationRelation |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the NonHierarchicalReferences from [OPC 10000-5]. | |
The IsPnApplicationRelationDeviceInterface is used to link PnApplicationRelationType objects to the PN Interface object of the Device object (objects implementing IDeviceType) the application relation connects to (See Figure 17 – Object Structure).
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnInterfaceType interface.
The source of the reference shall be an object of the ObjectType PnApplicationRelationType and shall not use the reference type more than once.
6.3.2.12 IsPnApplicationRelationControllerInterface
| Attribute | Value |
| BrowseName | IsPnApplicationRelationControllerInterface |
| InverseName | UsedByPnApplicationRelation |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the NonHierarchicalReferences from [OPC 10000-5]. | |
The IsPnApplicationRelationControllerInterface is used to link PnApplicationRelationType objects to the PN Interface object of the controller object (objects implementing IControllerType) the application relation belongs to (See Figure 17 – Object Structure).
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnInterfaceType interface.
The source of the reference shall be an object of the ObjectType PnApplicationRelationType and shall not use the reference more than once.
6.3.2.13 IsPnInterface
| Attribute | Value |
| BrowseName | IsPnInterface |
| InverseName | RealizedByPnSubmodule |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the NonHierarchicalReferences from [OPC 10000-5]. | |
The IsPnInterface reference type is used to link RealSubmodule objects to PN Interface objects (See Figure 18 – Network Topology).
This reference should always be bidirectional.
The destination of the reference shall be an object implementing the IPnInterfaceType interface.
The source of the reference shall be an object implementing the IPnRealSubmoduleType interface.
6.3.2.14 IsPnPort
| Attribute | Value |
| BrowseName | IsPnPort |
| InverseName | RealizedByPnSubmodule |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the NonHierarchicalReferences from [OPC 10000-5]. | |
The IsPnPort reference type is used to link RealSubmodule objects to PN Port objects (Figure 18 – Network Topology).
This reference should always be bidirectional.
The destination of the reference shall be an object of the ObjectType PnPortType.
The source of the reference shall be an object implementing the IPnRealSubmoduleType interface.
6.3.2.15 CommLinkTo
| Attribute | Value |
| BrowseName | CommLinkTo |
| InverseName | CommLinkFrom |
| Symmetric | False |
| IsAbstract | False |
| Subtype of the Organizes from [OPC 10000-5]. | |
The CommLinkTo reference type is used between object instances representing network entities like Ethernet interfaces and Ethernet ports to describe their communication as well as their topology dependencies. (See Figure 18 – Network Topology).
This reference should always be bidirectional.
6.3.3 OPC UA Data Types
6.3.3.1 Structures
6.3.3.1.1 PnDeviceDiagnosisDataType
| Name | Type | Description |
| PnDeviceDiagnosisDataType | Structure | |
| API | UInt32 | |
| Slot | UInt16 | |
| Subslot | UInt16 | |
| ChannelNumber | UInt16 | |
| Type | PnChannelTypeEnumeration | |
| Accumulative | PnChannelAccumulativeEnumeration | |
| Maintenance | PnChannelMaintenanceEnumeration | |
| Specifier | PnChannelSpecifierEnumeration | |
| Direction | PnChannelDirectionEnumeration | |
| UserStructureIdentifier | UInt16 | |
| ChannelErrorType | UInt16 | |
| ExtChannelErrorType | UInt16 | |
| ExtChannelAddValue | UInt32 | |
| QualifiedChannelQualifier | UInt32 | |
| ManufacturerData | ByteString | Manufacturer specific diagnosis data |
| Message | LocalizedText | Diagnosis message read from the GSDML |
| HelpText | LocalizedText | Help text read from the GSDML |
If the field UserStructureIdentifier indicates manufacturer specific diagnosis information, the ByteString ManufacturerData contains the manufacturer specific diagnosis data.
The Message and the HelpText variables are retrieved from the GSDML file. If the Message includes a dynamic format string, this is replaced by the ExtChannelAddValue.
6.3.3.1.2 PnIM5DataType
| Name | Type | Description |
| PnIM5DataType | Structure | Contains the fields of the APDU element I&M5 | I&M5Data |
| Annotation | String | I&M5Data | IM_Annotation |
| OrderId | String | I&M5Data | IM_OrderID |
| VendorId | UInt16 | I&M5Data | VendorID |
| SerialNumber | String | I&M5Data | IM_Serial_Number |
| HardwareRevision | String | I&M5Data | IM_Hardware_Revision |
| SoftwareRevision | String | I&M5Data | IM_Software_Revision |
6.3.3.2 OptionSets
6.3.3.2.1 PnDeviceRoleOptionSet
| Value | Bit No. | Description |
| IO_DEVICE | 0 | The device contains an IO device interface. |
| IO_CONTROLLER | 1 | The device contains an IO controller interface. |
| IO_MULTIDEVICE | 2 | The device contains multiple IO device interfaces. |
| IO_SUPERVISOR | 3 | The device contains an IO supervisor interface. |
| IO_CIM | 4 | The device contains a CIM device interface. |
The PnDeviceRoleOptionSet representation in the AddressSpace is defined in Table 84.
| Attribute | Value | |||||
| BrowseName | PnDeviceRoleOptionSet | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | Other | |
|---|---|---|---|---|---|---|
| Subtype of the OptionSet type defined in [OPC 10000-5] | ||||||
| 0:HasProperty | Variable | 0:OptionSetValues | 0:LocalizedText [] | 0:PropertyType | ||
See: [PN Protocol], Table – DeviceRoleDetails
6.3.3.3 Enumerations
6.3.3.3.1 PnDeviceStateEnumeration
| Name | Description |
| OFFLINE_0 | The device is not online, or no information is available. The device is offline if no ARs other than possible Device Access AR’s exist. |
| OFFLINE_DOCKING_1 | The device is a docking device and currently not online. |
| ONLINE_2 | The device is online. This is the case if at least one AR other than possible Device Access AR’s exists. |
| ONLINE_DOCKING_3 | The device is a docking device and currently online. |
6.3.3.3.2 PnARStateEnumeration
| Name | Description |
| CONNECTED_0 | The AR connection to the device is established |
| UNCONNECTED_1 | The AR connection to the device is not established |
| UNCONNECTED_ERR_DEVICE_NOT_FOUND_2 | The AR connection to the device is not established because the device is not available in the network |
| UNCONNECTED_ERR_DUPLICATE_IP_3 | The AR connection to the device is not established because the IP address of the device exists multiple times |
| UNCONNECTED_ERR_DUPLICATE_NOS_4 | The AR connection to the device is not established because the Name of Station of the device exists multiple times |
6.3.3.3.3 PnARTypeEnumeration
| Name | Description |
| IOCARSingle_0 | - |
| IOSAR_6 | The supervisor AR is a special form of the IOCARSingle allowing takeover of the ownership of a submodule |
| IOCARSingleUsingRT_CLASS_3_16 | This is a special form of the IOCARSingle indicating RT_CLASS_3 communication |
| IOCARSR_32 | The SR AR is a special form of the IOCARSingle indicating system redundancy or dynamic reconfiguration usage |
See: [PN Protocol], Table 508 – ARType
6.3.3.3.4 PnModuleStateEnumeration
| Name | Description |
| NO_MODULE_0 | For example module not plugged |
| WRONG_MODULE_1 | For example ModuleIdentNumber wrong |
| PROPER_MODULE_2 | Module is okay but at least one submodule is locked, wrong or missing |
| SUBSTITUTE_3 | Module is not the same as requested – but the IO device was able to adapt by its own knowledge |
| OK_4 | Default state |
See: [PN Protocol], Table 586 – ModuleState
6.3.3.3.5 PnSubmoduleAddInfoEnumeration
| Name | Description |
| NO_ADD_INFO_0 | - |
| TAKEOVER_NOT_ALLOWED_1 | This Submodule is not available for takeover by IOSAR. |
See: [PN Protocol], Table 587 – SubmoduleState.AddInfo
6.3.3.3.6 PnSubmoduleARInfoEnumeration
| Name | Description |
| OWN_0 | This AR is owner of the submodule |
| APPLICATION_READY_PENDING_128 | This AR is owner of the submodule but it is blocked. For example parameter checking pending |
| SUPERORDINATED_LOCKED_256 | This AR is not owner of the submodule. It is blocked by superordinated means |
| LOCKED_BY_IO_CONTROLLER_384 | This AR is not owner of the submodule. It is owned by another IOAR |
| LOCKED_BY_IO_SUPERVISOR_512 | This AR is not owner of the submodule. It is owned by another IOSAR |
See: [PN Protocol], Table 592 – SubmoduleState.ARInfo
6.3.3.3.7 PnSubmoduleIdentInfoEnumeration
| Name | Description |
| OK_0 | OK |
| SUBSTITUTE_2048 | Substitute (SU) |
| WRONG_4096 | Wrong (WR) |
| NO_SUBMODULE_6144 | NoSubmodule (NO) |
See: [PN Protocol], Table 593 – SubmoduleState.IdentInfo
6.3.3.3.8 PnChannelTypeEnumeration
| Name | Description |
| UNSPECIFIC_0 | Shall be used if the field ChannelNumber contains the value 0x8000 (submodule) Furthermore, it shall be used if none of the below defined types are appropriate. |
| 1BIT_1 | The data length of this channel is 1 Bit. |
| 2BIT_2 | The data length of this channel is 2 Bit. |
| 4BIT_3 | The data length of this channel is 4 Bit. |
| 8BIT_4 | The data length of this channel is 8 Bit. |
| 16BIT_5 | The data length of this channel is 16 Bit. |
| 32BIT_6 | The data length of this channel is 32 Bit. |
| 64BIT_7 | The data length of this channel is 64 Bit. |
See: [PN Protocol], Table 651 – ChannelProperties.Type
6.3.3.3.9 PnChannelAccumulativeEnumeration
| Name | Description |
| SINGLE_0 | Single channel Diagnosis only for the reported channel |
| ACCUMULATIVE_256 | Multiple channel Accumulative diagnosis from more than one channel |
See: [PN Protocol], Table 652 – ChannelProperties.Accumulative
6.3.3.3.10 PnChannelMaintenanceEnumeration
| Name | Description |
| FAULT_0 | Fault |
| MAINTENANCE_REQUIRED_512 | Maintenance required |
| MAINTENANCE_DEMANDED_1024 | Maintenance demanded |
| USE_QUALIFIED_CHANNEL_QUALIFIER_1536 | Use QualifiedChannelQualifier variable |
See: [PN Protocol], Table 653 – ChannelProperties.Maintenance
6.3.3.3.11 PnChannelSpecifierEnumeration
| Name | Description |
| ALL_DISAPPEARS_0 | The Diagnosis ASE contains no longer any entries (of any severity) for this channel |
| APPEARS_2048 | An event appears and/or exists further The Diagnosis ASE contains this and possible other entries for this channel. |
| DISAPPEARS_4096 | An event disappears and/or exists no longer The Diagnosis ASE contains no longer any entries of the same severity for this channel |
| DISAPPEARS_OTHER_REMAIN_6144 | An event disappears The Diagnosis ASE still contains other entries of the same severity for this channel |
See: [PN Protocol], Table 656 – ChannelProperties.Specifier
6.3.3.3.12 PnChannelDirectionEnumeration
| Name | Description |
| MANUFACTURER_SPECIFIC_0 | Manufacturer specific |
| INPUT_CHANNEL_8192 | Input |
| OUTPUT_CHANNEL_16384 | Output |
| BIDIRECTIONAL_CHANNEL_24576 | Input/Output |
See: [PN Protocol], Table 585 – ChannelProperties.Direction
6.3.3.3.13 PnAssetTypeEnumeration
| Name | Description |
| DEVICE_0 | Device |
| MODULE_1 | Real Module |
| SUBMODULE_2 | Real Submodule |
| ASSET_3 | Asset |
6.3.3.3.14 PnAssetChangeEnumeration
| Name | Description |
| INSERTED_0 | Asset has been added |
| REMOVED_1 | Asset has been removed |
| CHANGED_2 | Asset has been changed |
6.3.3.3.15 PnLinkStateEnumeration
| Name | Description |
| UP_1 | Ready to pass packets |
| DOWN_2 | No packets are passed |
| TESTING_3 | In some test mode |
| UNKNOWN_4 | Status cannot be determined |
| DORMANT_5 | In pending state waiting for some external event |
| NOT_PRESENT_6 | Port not present |
| LOWER_LAYER_DOWN_7 | Down due to lower layer |
6.3.3.3.16 PnPortStateEnumeration
| Name | Description |
| UNKNOWN_0 | Status cannot be determined |
| DISABLED_DISCARDING_1 | The port is administratively disabled and discarding frames |
| BLOCKING_2 | The port blocks incoming frames |
| LISTENING_3 | The port is listening to and sending BPDUs (Bridge Protocol Data Units). |
| LEARNING_4 | The port is listening for and processing BPDUs and starts learning MAC’s |
| FORWARDING_5 | The port is processing BPDUs and forwarding frames |
| BROKEN_6 | The port blocks incoming frames since a configuration error is detected |
6.3.3.3.17 IMTagSelectorEnumeration
| Name | Description |
| FUNCTION_0 | The Tag_Function argument shall be written. |
| LOCATION_1 | The Tag_Location argument shall be written. |
| BOTH_2 | Both arguments, Tag_Function and Tag_Location, shall be written. |
6.3.4 OPC UA Event Types
6.3.4.1 PnDiagnosisAlarmType
This event type is used for PROFINET diagnosis events.
| Attribute | Value | ||||
| BrowseName | PnDiagnosisAlarmType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of AlarmConditionType defined in [OPC 10000-9]. | |||||
| HasProperty | Variable | API | UInt32 | PropertyType | Mandatory |
| HasProperty | Variable | Slot | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | Subslot | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | ChannelNumber | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | Type | PnChannelTypeEnumeration | PropertyType | Mandatory |
| HasProperty | Variable | Accumulative | PnChannelAccumulativeEnumeration | PropertyType | Mandatory |
| HasProperty | Variable | Maintenance | PnChannelMaintenanceEnumeration | PropertyType | Optional |
| HasProperty | Variable | Specifier | PnChannelSpecifierEnumeration | PropertyType | Mandatory |
| HasProperty | Variable | Direction | PnChannelDirectionEnumeration | PropertyType | Mandatory |
| HasProperty | Variable | UserStructureIdentifier | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | ChannelErrorType | UInt16 | PropertyType | Mandatory |
| HasProperty | Variable | ExtChannelErrorType | UInt16 | PropertyType | Optional |
| HasProperty | Variable | ExtChannelAddValue | UInt32 | PropertyType | Optional |
| HasProperty | Variable | QualifiedChannelQualifier | UInt32 | PropertyType | Optional |
| HasProperty | Variable | ManufacturerData | ByteString | PropertyType | Optional |
| HasProperty | Variable | HelpText | LocalizedText | PropertyType | Optional |
If the variable UserStructureIdentifier indicates manufacturer specific diagnosis information, the variable ManufacturerData contains the manufacturer specific diagnosis data.
The Message variable of the Event and the HelpText variable are retrieved from the GSDML file. If the message includes a dynamic format string, this is replaced by the ExtChannelAddValue.
For an active alarm the Severity variable of the Event must be dependent on the Maintenance and the QualifiedChannelQualifier variables.
The Severity is divided into the 4 categories shown in the following table:
| Category | Severity Range |
| Fault | 750 – 1000 |
| Maintenance demanded | 500 – 749 |
| Maintenance required | 250 – 499 |
| Advise | 2 – 249 |
If the Maintenance variable is provided, the following mapping is used for the Severity value:
| Maintenance | Severity |
| FAULT | 1000 |
| MAINTENANCE_DEMANDED | 612 |
| MAINTENANCE_REQUIRED | 362 |
If the QualifiedChannelQualifier is provided, the Severity value depends on the bit set in the UInt32 value of the QualifiedChannelQualifier. The bits 0 – 2 are not used.
The following mapping is used for the Severity value:
| Bit | Severity |
| 31 | 1000 |
| 30 | 937 |
| 29 | 875 |
| 28 | 812 |
| 27 | 750 |
| 26 | 725 |
| 25 | 700 |
| 24 | 675 |
| 23 | 650 |
| 22 | 625 |
| 21 | 600 |
| 20 | 575 |
| 19 | 550 |
| 18 | 525 |
| 17 | 500 |
| 16 | 475 |
| 15 | 450 |
| 14 | 425 |
| 13 | 400 |
| 12 | 375 |
| 11 | 350 |
| 10 | 325 |
| 9 | 300 |
| 8 | 275 |
| 7 | 250 |
| 6 | 200 |
| 5 | 150 |
| 4 | 100 |
| 3 | 50 |
6.3.4.2 PnAssetChangedEventType
This event is fired when a new asset (controller, device, real module, real submodule or asset) is detected, an asset was removed, or the data of an asset changed. The event is fired on the object with the change.
An asset change for a device, real module or real submodule means that its I&M data (PnIdentificationType) has changed. See section 5.3.2.6 “Asset change detection” for details.
| Attribute | Value | ||||
| BrowseName | PnAssetChangedEventType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseEventType defined in [OPC 10000-5]. | |||||
| HasProperty | Variable | AssetType | PnAssetTypeEnumeration | PropertyType | Mandatory |
| HasProperty | Variable | AssetChange | PnAssetChangeEnumeration | PropertyType | Mandatory |
The SourceNode variable of the event includes the NodeId of the asset object.
The Severity variable shall be set according to the following table.
| Severity | Cause |
| 10 | Minor important asset detected |
| 20 | Normal important asset detected |
| 30 | Asset of vital importance detected |
| 110 | Minor important asset changed |
| 120 | Normal important asset changed |
| 130 | Asset of vital importance changed |
| 1100 | Minor important asset removed |
| 1200 | Normal important asset removed |
| 1300 | Asset of vital importance removed |
6.3.4.3 PnTopologyChangedEventType
This event is fired when the CommLinkTo reference between two EthernetPortType objects is created, removed or changed. The event is fired by the PnPortType object.
This means that the physical network topology has changed.
The Severity variable (inherited from BaseEventType) shall be set to 1.
| Attribute | Value | ||||
| BrowseName | PnTopologyChangedEventType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
|---|---|---|---|---|---|
| Subtype of BaseEventType defined in [OPC 10000-5]. | |||||
The SourceNode variable of the event includes the NodeId of the PnPortType object.