6.3.1.6 Submodule
6.3.1.6.1 IPnSubmoduleType
Table 41 – IPnSubmoduleType Definition
Attribute Value
BrowseNameIPnSubmoduleType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of BaseInterfaceType defined in [OPC 10000-5].
HasPropertyVariableAPIUInt32PropertyTypeMandatory
HasPropertyVariableSubslotUInt16PropertyTypeMandatory
HasPropertyVariableIdentNumberUInt32PropertyTypeMandatory
HasPropertyVariableGSDNameStringPropertyTypeOptional
HasPropertyVariableGSDDescriptionStringPropertyTypeOptional

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
Table 42 – IPnRealSubmoduleType Definition
Attribute Value
BrowseNameIPnRealSubmoduleType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of IPnSubmoduleType
HasComponentObjectIMPnIdentificationTypeOptional
HasComponentVariableDiagnosisPnDeviceDiagnosisDataType[]BaseDataVariableTypeOptional
HasComponentObjectAlarmsFolderTypeOptional
GeneratesEventObjectTypePnDiagnosisAlarmType
GeneratesEventObjectTypePnAssetChangedEventType

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 ReadRealIdentificationData | API
SubSlot ReadRealIdentificationData | SubslotNumber
IdentNumber ReadRealIdentificationData | SubmoduleIdentNumber
GSDName GSDMLSubmoduleList | SubmoduleItem | ModuleInfo | Name or
SubmoduleList | VirtualSubmoduleItem | ModuleInfo | Name or
SubmoduleList | PortSubmoduleItem | ModuleInfo | Name
GSDDescription GSDMLSubmoduleList | SubmoduleItem | ModuleInfo | InfoText or
SubmoduleList | VirtualSubmoduleItem | ModuleInfo | InfoText or
SubmoduleList | PortSubmoduleItem | ModuleInfo | InfoText
Diagnosis ReadDiagnosisData (0x800C subslot specific)
6.3.1.6.3 PnRealSubmoduleContainerType
Table 43 – PnRealSubmoduleContainerType Definition
Attribute Value
BrowseNamePnRealSubmoduleContainerType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of BaseObjectType defined in [OPC 10000-5].
HasPnRealSubmoduleObject<Submodules>BaseObjectType

Optional

Placeholder

The <Submodules> shall have the references defined in Table 44 and Table 45.

Table 44 – PnRealSubmoduleContainerType Additional References
Source Path Reference Type Is Forward Target Path
<Submodules>0:HasInterfaceTrue
Table 45 – PnRealSubmoduleContainerType Additional Subcomponents
Source Path References NodeClass BrowseName

DataType

TypeDefinition

Others
Applied from IPnRealSubmoduleType
<Submodules>0:HasPropertyVariableAPI

UInt32

PropertyType

M
<Submodules>0:HasPropertyVariableSubslot

UInt16

PropertyType

M
<Submodules>0:HasPropertyVariableIdentNumber

UInt32

PropertyType

M
<Submodules>0:HasPropertyVariableGSDNameString
PropertyType
O
<Submodules>0:HasPropertyVariableGSDDescriptionString
PropertyType
O
<Submodules>0:HasComponentObjectIMPnIdentificationTypeO
<Submodules>0:HasComponentVariableDiagnosisPnDeviceDiagnosisDataType[]
BaseDataVariableType
O
<Submodules>0:HasComponentObjectAlarmsFolderTypeO
<Submodules>0:GeneratesEventObjectTypePnDiagnosisAlarmType
<Submodules>0:GeneratesEventObjectTypePnAssetChangedEventType

Mapping to PROFINET properties:

BrowseName Method Source
<Submodules> ReadRealIdentificationData | NumberOfSubslots entries | SubslotNumber
6.3.1.6.4 IPnExpectedSubmoduleType
Table 46 – IPnExpectedSubmoduleType Definition
Attribute Value
BrowseNameIPnExpectedSubmoduleType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of IPnSubmoduleType
HasComponentObjectStatePnSubmoduleStateTypeOptional

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 ReadExpectedIdentificationData | API
SubSlot ReadExpectedIdentificationData | SubslotNumber
IdentNumber ReadExpectedIdentificationData | 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

State ReadModuleDiffBlock | SubmoduleState
6.3.1.6.5 PnExpectedSubmoduleContainerType
Table 47 – PnExpectedSubmoduleContainerType Definition
Attribute Value
BrowseNamePnExpectedSubmoduleContainerType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of BaseObjectType defined in [OPC 10000-5].
HasPnExpectedSubmoduleObject<Submodules>BaseObjectType

Optional

Placeholder

The <Submodules> shall have the references and subcomponents defined in Table 48 and Table 49.

Table 48 – PnExpectedSubmoduleContainerType Additional References
Source Path Reference Type Is Forward Target Path
<Submodules>0:HasInterfaceTrue
Table 49 – PnExpectedSubmoduleContainerType Additional Subcomponents
Source Path References NodeClass BrowseName

DataType

TypeDefinition

Others
Applied from IPnExpectedSubmoduleType
<Submodules>0:HasPropertyVariableAPI

UInt32

PropertyType

M
<Submodules>0:HasPropertyVariableSubslot

UInt16

PropertyType

M
<Submodules>0:HasPropertyVariableIdentNumber

UInt32

PropertyType

M
<Submodules>0:HasPropertyVariableGSDNameString
PropertyType
O
<Submodules>0:HasPropertyVariableGSDDescriptionString
PropertyType
O
<Submodules>0:HasComponentObjectStatePnSubmoduleStateTypeO

Mapping to PROFINET properties:

BrowseName Method Source
<Submodules> ReadExpectedIdentificationData | NumberOfSubslots entries | SubslotNumber
6.3.1.6.6 PnSubmoduleStateType
Table 50 – PnSubmoduleStateType Definition
Attribute Value
BrowseNamePnSubmoduleStateType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of BaseObjectType defined in [OPC 10000-5].
HasComponentVariableAddInfoPnSubmoduleAddInfoEnumerationBaseDataVariableTypeOptional
HasComponentVariableQualifiedInfoBooleanBaseDataVariableTypeOptional
HasComponentVariable

Maintenance

Required

BooleanBaseDataVariableTypeOptional
HasComponentVariable

Maintenance

Demanded

BooleanBaseDataVariableTypeOptional
HasComponentVariableDiagInfoBooleanBaseDataVariableTypeOptional
HasComponentVariableARInfoPnSubmoduleARInfoEnumerationBaseDataVariableTypeOptional
HasComponentVariableIdentInfoPnSubmoduleIdentInfoEnumerationBaseDataVariableTypeOptional

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