Table 41 – IPnSubmoduleType Definition

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.

Table 42 – IPnRealSubmoduleType Definition

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 orSubmoduleList | VirtualSubmoduleItem | ModuleInfo | Name orSubmoduleList | PortSubmoduleItem | ModuleInfo | Name

GSDDescription

GSDML

SubmoduleList | SubmoduleItem | ModuleInfo | InfoText orSubmoduleList | VirtualSubmoduleItem | ModuleInfo | InfoText orSubmoduleList | PortSubmoduleItem | ModuleInfo | InfoText

Diagnosis

Read

DiagnosisData (0x800C subslot specific)

Table 43 – PnRealSubmoduleContainerType Definition

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.

Table 44 – PnRealSubmoduleContainerType Additional References

Source Path

Reference Type

Is Forward

Target Path

<Submodules>

0:HasInterface

True

0:ObjectTypes

0:BaseObjectType

0:BaseInterfaceType

IPnSubmoduleType

IPnRealSubmoduleType

Table 45 – PnRealSubmoduleContainerType Additional Subcomponents

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

StringPropertyType

O

<Submodules>

0:HasProperty

Variable

GSDDescription

StringPropertyType

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

Table 46 – IPnExpectedSubmoduleType Definition

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 orSubmoduleList | 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

Read

ModuleDiffBlock | SubmoduleState

Table 47 – PnExpectedSubmoduleContainerType Definition

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.

Table 48 – PnExpectedSubmoduleContainerType Additional References

Source Path

Reference Type

Is Forward

Target Path

<Submodules>

0:HasInterface

True

0:ObjectTypes

0:BaseObjectType

0:BaseInterfaceType

IPnSubmoduleType

IPnExpectedSubmoduleType

Table 49 – PnExpectedSubmoduleContainerType Additional Subcomponents

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

StringPropertyType

O

<Submodules>

0:HasProperty

Variable

GSDDescription

StringPropertyType

O

<Submodules>

0:HasComponent

Object

State

PnSubmoduleStateType

O

Mapping to PROFINET properties:

BrowseName

Method

Source

<Submodules>

Read

ExpectedIdentificationData | NumberOfSubslots entries | SubslotNumber

Table 50 – PnSubmoduleStateType Definition

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