5 Device communication model

5.1 General

Clause 5 introduces References, the ProtocolType, and basic TopologyElementTypes for creating a communication topology. The types for this model are illustrated in Figure 16.

Figure 16 – Device communication model overview

A ProtocolType ObjectType represents a specific communication protocol (e.g., FieldBus) implemented by a certain TopologyElement. Examples are shown in Figure 18.

The ConnectionPointType represents the logical interface of a Device to a Network.

A Network is the logical representation of wired and wireless technologies.

Figure 17 provides an overall example.

Figure 17 – Example of a communication topology

5.2 ProtocolType

The ProtocolType ObjectType and its subtypes are used to specify a specific communication (e.g., FieldBus) protocol that is supported by a Device (respectively by its ConnectionPoint) or Network. The BrowseName of each instance of a ProtocolType shall define the Communication Profile (see Figure 18).

Figure 18 shows the ProtocolType including some specific types and instances that represent Communication Profiles of that type. It is formally defined in Table 45.

Figure 18 – Example of a ProtocolType hierarchy with instances
that represent specific communication profiles
Table 45 – ProtocolType definition
Attribute Value
BrowseName1:ProtocolType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType defined in OPC 10000-5
Conformance Units
DI Network
DI Protocol

5.3 Network

A Network is the logical representation of wired and wireless technologies and represents the communication means for Devices that are connected to it. A Network instance is qualified by its Communication Profile components.

Figure 19 shows the type hierarchy and the NetworkType components. It is formally defined in Table 46.

Figure 19 – NetworkType
Table 46 – NetworkType definition
Attribute Value
BrowseName1:NetworkType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType defined in OPC 10000-5.
0:HasComponentObject1:<ProfileIdentifier>1:ProtocolTypeMP
ConnectsToObject1:<CPIdentifier>1:ConnectionPointTypeOP
0:HasComponentObject1:Lock1:LockingServicesTypeO
Conformance Units
DI Network

The <ProfileIdentifier> specifies the Protocol and Communication Profile that this Network is used for.

Clients shall use the LockingServices if they possibly make a set of changes (for example, several Write operations and Method invocations) and where a consistent state is available only after all of these changes have been performed. The main purpose of locking a Network is avoiding concurrent topology changes.

The lock on a Network applies to the Network, all connected TopologyElements and their components. If any of the connected TopologyElements provides access to a sub-ordinate Network (like a gateway), the sub-ordinate Network and its connected TopologyElements are locked as well.

If InitLock is requested for a Network, it will be rejected if any of the Devices connected to this Network or any sub-ordinate Network including their connected Devices is already locked.

If the Online/Offline model is supported (see 6.3), the lock always applies to both the online and the offline version.

5.4 ConnectionPoint

This ObjectType represents the logical interface of a Device to a Network. A specific subtype shall be defined for each protocol. Figure 20 shows the ConnectionPointType including some specific types.

Figure 20 – Example of ConnectionPointType hierarchy

A Device can have more than one such interface to the same or to different Networks. Different interfaces usually exist for different protocols. Figure 21 shows the ConnectionPointType components. It is formally defined in Table 47.

Figure 21 – ConnectionPointType
Table 47 – ConnectionPointType definition
Attribute Value
BrowseName1:ConnectionPointType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of the TopologyElementType defined in 4.2.
0:HasComponentObject1:NetworkAddress1:FunctionalGroupTypeM
0:HasComponentObject1:<ProfileIdentifier>1:ProtocolTypeMP
ConnectsToObject1:<NetworkIdentifier>1:NetworkTypeOP
Conformance Units
DI ConnectionPoint

ConnectionPoints are components of a Device, represented by a subtype of ComponentType. To allow navigation from a Network to the connected Devices, the ConnectionPoints shall have the inverse Reference (ComponentOf) to the Device.

ConnectionPoints have Properties and other components that they inherit from the TopologyElementType.

The NetworkAddress FunctionalGroup includes all Parameters to specify the protocol-specific address information of the connected Device. These Parameters can be components of the NetworkAddress FunctionalGroup, of the ParameterSet, or another Object.

<ProfileIdentifier> identifies the Communication Profile that this ConnectionPoint supports. ProtocolType and Communication Profile are defined in 5.2. It implies that this ConnectionPoint can be used to connect Networks and Devices of the same Communication Profile.

ConnectionPoints are between a Network and a Device. The location in the topology is configured by means of the ConnectsTo ReferenceType. Figure 22 illustrates some usage models.

Figure 22 – ConnectionPoint usage

5.5 ConnectsTo and ConnectsToParent ReferenceTypes

The ConnectsTo ReferenceType is a concrete ReferenceType used to indicate that source and target Node have a topological connection. It is NonHierarchical and symmetric, because this is natural for this Reference. The ConnectsTo Reference exists between a Network and the connected Devices (or their ConnectionPoint, respectively). Browsing a Network returns the connected Devices; browsing from a Device, one can follow the ConnectsTo Reference from the Device’s ConnectionPoint to the Network.

The ConnectsToParent ReferenceType is a concrete ReferenceType used to define the parent (i.e. the communication Device) of a Network. It is a subtype of the ConnectsTo ReferenceType.

The two ReferenceTypes are illustrated in Figure 23.

Figure 23 – Type Hierarchy for ConnectsTo and ConnectsToParent References

The representation in the AddressSpace is specified in Table 48 and Table 49.

Table 48 – ConnectsTo ReferenceType
Attributes Value
BrowseName1:ConnectsTo
SymmetricTrue
IsAbstractFalse
References NodeClass BrowseName Comment
Subtype of 0:NonHierarchicalReferences ReferenceType defined in OPC 10000-5.
Conformance Units
DI ConnectsTo
Table 49 – ConnectsToParent ReferenceType
Attributes Value
BrowseName1:ConnectsToParent
SymmetricTrue
IsAbstractFalse
References NodeClass BrowseName Comment
Subtype of 1:ConnectsTo ReferenceType
Conformance Units
DI ConnectsTo

Figure 24 illustrates how this Reference can be used to express topological relationships and parental relationships. In this example two Devices are connected; the module DPcomm is the communication Device for the Network.

Figure 24 – Example with ConnectsTo and ConnectsToParent References

5.6 NetworkSet Object

All Networks shall be components of the NetworkSet Object.

The NetworkSet Node is formally defined in Table 50.

Table 50 – NetworkSet definition
Attribute Value
BrowseName1:NetworkSet
References NodeClass BrowseName TypeDefinition
OrganizedBy by the 0:Objects Folder defined in OPC 10000-5
0:HasTypeDefinitionObjectType0:BaseObjectType
Conformance Units
DI NetworkSet