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.
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 |
DCP |
DCP-Identify-ResPDU | NameOfStationValue |
|
DCP |
DCP-Identify-ResPDU | DeviceRoleDetails |
|
DCP |
DCP-Identify-ResPDU | DeviceVendorValue |
|
DCP |
DCP-Identify-ResPDU | DeviceIDBlockRes | DeviceIDValue |
|
DCP |
DCP-Identify-ResPDU | DeviceIDBlockRes | DeviceIDValue |
|
DCP |
DCP-Identify-ResPDU | DeviceInstanceValue |
|
DCP |
DCP-Identify-ResPDU | OEMDeviceIDBlockRes | DeviceIDValue |
|
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 |
|
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 |
Read |
PDPortDataReal | MAUType |
|
Read |
PDPortDataReal | LineDelay |
|
Read |
PDPortFODataReal | FiberOpticDiagnosisInfo | FiberOpticPowerBudgetReal |
|
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 |
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 |
DCP |
DCP-Identify-ResPDU | IPParameterBlockRes | IPParameterValue | IPAddress |
|
DCP |
DCP-Identify-ResPDU | IPParameterBlockRes | IPParameterValue | Subnetmask |
|
DCP |
DCP-Identify-ResPDU | IPParameterBlockRes | IPParameterValue | StandardGateway |
|
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.