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.

image022.png

Figure 18 – Network Topology

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.

Table 51 – IPnInterfaceType Definition

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

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.

Table 52 – PnInterfaceContainerType Definition

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.

Table 53 – PnInterfaceContainerType Additional References

Source Path

Reference Type

Is Forward

Target Path

<Interfaces>

0:HasInterface

True

0:ObjectTypes

0:BaseObjectType

0:BaseInterfaceType

IPnInterfaceType

Table 54 – PnInterfaceContainerType Additional Subcomponents

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

StringPropertyType

O

<Interfaces>

0:HasProperty

Variable

VendorId

UInt16

PropertyType

M

<Interfaces>

0:HasProperty

Variable

DeviceId

UInt16

PropertyType

M

<Interfaces>

0:HasProperty

Variable

DeviceInstance

UInt16PropertyType

O

<Interfaces>

0:HasProperty

Variable

OEMVendorId

UInt16PropertyType

O

<Interfaces>

0:HasProperty

Variable

OEMDeviceId

UInt16PropertyType

O

<Interfaces>

CommLinkTo

Object

EthernetInterface

EthernetInterfaceType

O

<Interfaces>

0:HasComponent

Object

Statistic

PnPortStatisticType

O

<Interfaces>

0:HasComponent

Method

SetNameOfStation

SetNameOfStationMethod

O

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.

Table 55 – PnPortType Definition

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

Table 56 – PnPortContainerType Definition

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

Table 57 – PnPortStatisticType Definition

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.

The NetworkComponentType is the abstract base ObjectType for different types of network components.

Table 58 – NetworkComponentType Definition

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).

The EthernetInterfaceType is used to represent Ethernet network interfaces.

Table 59 – EthernetInterfaceType Definition

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

The EthernetPortType is used to represent Ethernet ports.

Table 60 – EthernetPortType Definition

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.

The NetworkComponentFeatureType is the abstract base ObjectType for different types of network components.

Table 61 – NetworkComponentFeatureType Definition

Attribute

Value

BrowseName

NetworkComponentFeatureType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in [OPC 10000-5].

The IPv4FeatureType is used to represent IPv4 settings of a network interface.

Table 62 – IPv4FeatureType Definition

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.