This chapter includes all object types needed to represent the physical network topology of a PROFINET network.
Figure 18shows 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 CommLinkToreferences. 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 BaseInterfaceTypedefined 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 BrowseNameof an interface object instance shall be the PROFINET interface id with the range 1..16 in decimal number string format.
The NameOfStationvariable may be set with the SetNameOfStation method. Nevertheless, the variable itself shall always be read-only.
The CommLinkToreference points to an EthernetInterfaceTypeobject instance. An object of the IPv4FeatureTypemust be implemented in this EthernetInterfaceTypeobject 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 Serveris not able to apply the name. The name may be too long or may contain invalid characters. |
Bad_UnexpectedError |
The Serveris 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 BaseObjectTypedefined in [OPC 10000-5]. |
|||||
HasPnInterface |
Object |
<Interfaces> |
|
BaseObjectType |
Optional Placeholder |
The <Interfaces>shall have the references defined in Table 53and 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 PnPortTypeObject Type includes the port specific data of a port submodule.
A PnRealSubmoduleTypeinstance representing a port submodule has an IsPnPortreference 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 BaseObjectTypedefined 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 BaseObjectTypedefined 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 BaseObjectTypedefined 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 NetworkComponentTypeis the abstract base ObjectTypefor 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 BaseObjectTypedefined 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 EthernetInterfaceTypeis 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 MacAddressVariable 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 EthernetPortTypeis 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 PhysAddressVariable is read only and contains a MAC address representing the Port.
The NetworkComponentFeatureTypeis the abstract base ObjectTypefor 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 BaseObjectTypedefined in [OPC 10000-5]. |
The IPv4FeatureTypeis 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 IpAddressVariable describes the IPv4 address on the interface.
The SubnetMaskVariable 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.