OPC 10000-81: UAFX Part 81: Connecting Devices and Information Model
Released 1.00.02
2024-02-06
This document is subject to the license terms described here.
The general OPC Foundation specification license agreement also applies and can be found here.
This document is a copy of the original which can be found here.
This document defines nodes in the following nodesets:
1 Scope
2 Normative references
3 Terms, definitions, abbreviated terms, and conventions
3.1 Terms and definitions
3.1.1 AggregatingServer
3.2 Abbreviated terms
3.3 Conventions used in this document
3.3.1 Usage of Other column in type definitions
3.3.2 Usage of Asset and FunctionalEntity
3.3.3 Usage of Instance of a type
3.3.4 ConformanceUnits and Node definitions
4 OPC UA FX Information Model overview
4.1 Overview
4.2 AutomationComponent model
4.3 Asset model
4.3.1 Overview
4.3.2 Asset information
4.3.3 Asset model relationships
4.4 Functional model
4.4.1 Overview
4.4.2 FunctionalEntityType
4.4.3 FunctionalEntity type hierarchy
4.5 Relationships between FunctionalEntities and Assets
4.6 FunctionalEntities and applications
4.7 ConnectionManager
5 OPC UA FX Information Model concepts
5.1 Overview
5.2 Identity and compatibility verification
5.2.1 Overview
5.2.2 Asset verification
5.2.2.1 Overview
5.2.2.2 Asset identity
5.2.2.3 Asset compatibility
5.2.3 FunctionalEntity verification
5.3 ControlGroups
5.4 ConfigurationData
5.5 Logical connections
5.5.1 Overview
5.5.2 Generation, deployment, and modification
5.5.3 Establishing and closing Connections
5.5.4 Cleaning up Connections
5.5.4.1 Overview
5.5.4.2 Operation
5.5.5 Persistent and preconfigured objects
5.5.6 Relationship to OPC UA communication models
5.5.6.1 Overview
5.5.6.2 PubSub
5.5.6.2.1 Overview
5.5.6.2.2 Single Connection using unicast network messages
5.5.6.2.3 Multiple Connections using unicast network messages
5.5.6.2.4 Multiple Connections using multicast network messages
5.5.6.2.5 DataSetMetaData
5.6 Health
5.7 AliasNames and OPC UA FX
5.8 Aggregation of OPC UA FX Servers
5.9 Well Known Roles
6 OPC UA FX ObjectTypes
6.1 OPC UA FX ObjectTypes overview
6.2 AutomationComponentType
6.2.1 Overview
6.2.2 AutomationComponentType definition
6.2.3 AcDescriptorType definition
6.2.4 EstablishConnections method
6.2.4.1 Overview
6.2.4.2 EstablishConnections signature
6.2.4.3 EstablishConnections behaviour
6.2.4.3.1 Overview
6.2.4.3.2 Command VerifyAssetCmd
6.2.4.3.3 Command VerifyFunctionalEntityCmd
6.2.4.3.4 Command ReserveCommunicationIdsCmd
6.2.4.3.4.1 General
6.2.4.3.4.2 PubSub
6.2.4.3.4.3 Client Server
6.2.4.3.5 Command CreateConnectionEndpointCmd
6.2.4.3.6 Command EstablishControlCmd
6.2.4.3.7 Command SetConfigurationDataCmd
6.2.4.3.8 Command ReassignControlCmd
6.2.4.3.9 Command SetCommunicationConfigurationCmd
6.2.4.3.9.1 General
6.2.4.3.9.2 PubSub
6.2.4.3.9.3 Client Server
6.2.4.3.10 Command EnableCommunicationCmd
6.2.4.3.10.1 General
6.2.4.3.10.2 PubSub
6.2.4.3.10.3 Client Server
6.2.4.3.11 Abort
6.2.5 CloseConnections method
6.2.5.1 CloseConnections signature
6.2.5.2 CloseConnections behaviour
6.2.6 AutomationComponentCapabilitiesType
6.2.7 PublisherCapabilitiesType
6.2.8 SubscriberCapabilitiesType
6.3 FxAssetType definition
6.3.1 Overview
6.3.2 FxAssetType definition
6.3.3 VerifyAsset method
6.3.4 AssetConnectorType definition
6.3.5 SlotType definition
6.3.6 SocketType definition
6.3.7 ClampType definition
6.3.8 ClampBlockType definition
6.4 FunctionalEntityType definition
6.4.1 Overview
6.4.2 FunctionalEntityType definition
6.4.3 Verify method
6.4.4 InputsFolderType
6.4.5 OutputsFolderType
6.4.6 ConfigurationDataFolderType
6.4.6.1 Overview
6.4.6.2 ConfigurationDataFolderType definition
6.4.6.3 SetStoredVariables method
6.4.6.4 ClearStoredVariables Method
6.4.6.5 ListStoredVariables
6.4.7 FunctionalEntityCapabilitiesType
6.4.8 ConnectionEndpointsFolderType
6.4.9 ControlGroupsFolderType
6.5 ControlGroupType
6.5.1 Overview
6.5.2 ControlGroupType definition
6.5.3 EstablishControl method
6.5.4 ReleaseControl method
6.5.5 ReassignControl method
6.5.6 ControlItemFolderType
6.6 ConnectionEndpointType
6.6.1 Overview
6.6.2 ConnectionEndpointType definition
6.6.3 PubSubConnectionEndpointType definition
6.6.4 ClientServerConnectionEndpointType
6.7 ConnectionManagerType
6.7.1 Overview
6.7.2 ConnectionManagerType definition
6.7.3 ConnectionManager behaviour
6.7.3.1 Overview
6.7.3.2 Establishing Connections
6.7.3.3 Closing Connections
6.7.4 EditConnectionConfigurationSets method
6.7.5 ProcessConnectionConfigurationSets method
6.7.5.1 Overview
6.7.5.2 ProcessConnectionConfigurationSets signature
6.7.5.3 ProcessConnectionConfigurationSets behaviour
6.7.5.3.1 ActionEstablishConnectionsEnabled / ActionEstablishConnectionsDisabled / ActionEstablishConnections
6.7.5.3.2 ActionRemoveConnections
6.7.5.3.3 ActionEnableConnections
6.7.5.3.4 ActionDisableConnections
6.7.6 ConnectionManagerCapabilitiesType
6.8 ConnectionConfigurationSetType
6.8.1 Overview
6.8.2 ConnectionConfigurationSetType definition
6.9 ConnectionConfigurationSetStateMachineType
6.9.1 Overview
6.9.2 ConnectionConfigurationSetStateMachineType definition
6.10 ConnectionConfigurationType
6.10.1 Overview
6.10.2 ConnectionConfigurationType definition
6.11 ConnectionEndpointConfigurationType
6.11.1 Overview
6.11.2 ConnectionEndpointConfigurationType definition
6.12 ConnectionEndpointParameterType
6.12.1 Overview
6.12.2 ConnectionEndpointParameterType definition
6.13 CommunicationFlowConfigurationType
6.13.1 Overview
6.13.2 CommunicationFlowConfigurationType definition
6.13.3 PubSubCommunicationFlowConfigurationType
6.13.3.1 Overview
6.13.3.2 PubSubCommunicationFlowConfigurationType definition
6.13.3.3 SubscriberConfigurationType definition
6.13.4 ClientServerCommunicationFlowConfigurationType
6.14 AutomationComponentConfigurationType
6.14.1 Overview
6.14.2 AutomationComponentConfigurationType definition
6.15 AssetVerificationType
6.15.1 Overview
6.15.2 AssetVerificationType definition
6.16 CommunicationModelConfigurationType
6.16.1 Overview
6.16.2 CommunicationModelConfigurationType definition
6.16.3 PubSubCommunicationModelConfigurationType
6.16.3.1 Overview
6.16.3.2 PubSubCommunicationModelConfigurationType definition
6.16.4 ClientServerCommunicationModelConfigurationType
7 OPC UA FX Interfaces
7.1 Overview
7.2 IFunctionalEntityType Interface definition
7.3 IAssetRevisionType Interface definition
7.4 IAssetExtensionsType Interface definition
8 OPC UA FX EventTypes
8.1 Overview
8.2 AuditConnectionCleanupEventType
8.3 AuditUaFxEventType
8.4 AuditUpdateMethodResultEventType
8.5 ConnectionConfigurationSetEventType
8.6 ConnectionConfigurationSetProcessingStartedEventType
8.7 ConnectionConfigurationSetProcessingSucceededEventType
8.8 ConnectionConfigurationSetProcessingFailedEventType
9 OPC UA FX VariableTypes
9.1 AggregatedHealthType
9.1.1 Overview
9.1.2 AggregatedHealthType definition
9.2 ServerAddressType
9.2.1 Overview
9.2.2 ServerAddressType definition
9.3 SecurityKeyServerAddressType
9.3.1 Overview
9.3.2 SecurityKeyServerAddressType definition
10 OPC UA FX DataTypes
10.1 AggregatedHealthDataType
10.2 ApplicationId
10.3 ApplicationIdentifierDataType
10.4 AssetVerificationModeEnum
10.5 AssetVerificationDataType
10.6 AssetVerificationResultDataType
10.7 AssetVerificationResultEnum
10.8 ClampKindEnum
10.9 CommHealthOptionSet
10.10 CommunicationConfigurationDataType
10.10.1 Overview
10.10.2 CommunicationConfigurationDataType definition
10.10.3 PubSubCommunicationConfigurationDataType
10.10.4 ClientServerCommunicationConfigurationDataType
10.11 CommunicationConfigurationResultDataType
10.11.1 Overview
10.11.2 CommunicationConfigurationResultDataType definition
10.11.3 PubSubCommunicationConfigurationResultDataType
10.11.4 ClientServerCommunicationConfigurationResultDataType
10.12 CommunicationFlowQosDataType
10.13 CommunicationLinkConfigurationDataType
10.13.1 Overview
10.13.2 CommunicationLinkConfigurationDataType definition
10.13.3 PubSubCommunicationLinkConfigurationDataType
10.13.4 ClientServerCommunicationLinkConfigurationDataType
10.14 ConnectionEndpointConfigurationDataType
10.15 ConnectionEndpointConfigurationResultDataType
10.16 ConnectionEndpointDefinitionDataType
10.17 ConnectionEndpointStatusEnum
10.18 ConnectionEndpointParameterDataType
10.18.1 Overview
10.18.2 ConnectionEndpointParameterDataType definition
10.18.3 PubSubConnectionEndpointParameterDataType
10.18.4 ClientServerConnectionEndpointParameterDataType
10.19 DeviceHealthOptionSet
10.20 FunctionalEntityVerificationResultEnum
10.21 FxCommandMask
10.22 FxEditEnum
10.23 FxProcessEnum
10.24 FxTimeUnitsEnum
10.25 FxVersion
10.26 IntervalRange
10.27 NodeIdArray
10.28 NodeIdValuePair
10.29 NodeIdTranslationDataType
10.30 OperationalHealthOptionSet
10.31 PortableKeyValuePair
10.32 PortableNodeIdentifier
10.33 PortableNodeIdentifierValuePair
10.34 PortableRelativePath
10.35 PortableRelativePathElement
10.36 PublisherQosDataType
10.37 PubSubConnectionEndpointModeEnum
10.38 RelatedEndpointDataType
10.39 ReserveCommunicationIdsDataType
10.39.1 Overview
10.39.2 ReserveCommunicationIdsDataType definition
10.39.3 PubSubReserveCommunicationIdsDataType
10.39.4 ClientServerReserveCommunicationIdsDataType
10.40 ReserveCommunicationIdsResultDataType
10.40.1 Overview
10.40.2 ReserveCommunicationIdsResultDataType definition
10.40.3 PubSubReserveCommunicationIdsResultDataType
10.40.4 ClientServerReserveCommunicationIdsResultDataType
10.41 SecurityKeyServerAddressDataType
10.42 ServerAddressDataType
10.43 SocketKindEnum
10.44 SubscriberQosDataType
11 OPC UA FX ReferenceTypes
11.1 ReferenceTypes overview
11.2 ConnectedTo ReferenceType
11.3 HasAutomationComponentConfiguration ReferenceType
11.4 HasBuiltInAsset ReferenceType
11.5 HasAssetToVerify ReferenceType
11.6 HasCapability ReferenceType
11.7 HasCharacteristic ReferenceType
11.8 HasCommunicationFlowConfiguration ReferenceType
11.9 HasConnectionConfiguration ReferenceType
11.10 HasConnectionEndpoint ReferenceType
11.11 HasControlGroup ReferenceType
11.12 HasInputGroup ReferenceType
11.13 HasOutputGroup ReferenceType
11.14 HasPart ReferenceType
11.15 HasServerAddress ReferenceType
11.16 HasSubFunctionalEntity ReferenceType
11.17 IsPartOfRedundantAssetSet ReferenceType
11.18 ToAutomationComponentConfiguration ReferenceType
11.19 ToConnectionEndpointConfiguration ReferenceType
11.20 ToDataSetReader ReferenceType
11.21 ToDataSetWriter ReferenceType
11.22 ToFlow ReferenceType
11.23 ToInboundFlow ReferenceType
11.24 ToOutboundFlow ReferenceType
12 OPC UA FX Instances
12.1 Overview
12.2 FxRoot
12.3 ConnectionManager
13 Client functionality for ConnectionManager
13.1 Overview
13.2 Connecting to a Server
13.2.1 Locating Server
13.2.2 Session-less Client connection
13.3 Locating nodes
13.3.1 General
13.3.2 PortableNodeId provided
13.3.3 PortableRelativePath provided
13.3.4 AliasName provided
13.4 ConnectionManager and Security Key Server (SKS)
14 Namespaces
14.1 Namespace metadata
14.2 Handling of OPC UA namespaces
Annex A (normative)OPC UA FX Namespace and mappings
A.1 Namespace and identifiers for OPC UA FX Information Model
Annex B (informative)Applying OPC UA FX to other Information Models
B.1 Overview
B.2 Creating a new model based on OPC UA FX
B.3 Extending an existing OPC UA model with OPC UA FX
B.3.1 Overview
B.3.2 Extending existing OPC UA models using Interfaces
B.3.2.1 Extending an existing type
B.3.2.2 Extending an instance of an existing type
B.3.3 Extending an existing OPC UA model using AddIns
B.3.3.1 General
B.3.3.2 Extending an existing OPC UA model using AddIns
B.3.4 Parallel use of OPC UA FX and existing UA models
B.3.5 Summary
Annex C (informative) Use of OPC UA FX with OPC UA Safety
C.1 OPC UA Safety Information Model
C.2 Usage of OPC UA safety Variables in a FunctionalEntity
C.3 Usage of OPC UA safety Variables in Connections
Annex D (informative)Information Model examples
D.1 Overview
D.2 Asset examples
D.2.1 Modelling of Asset relationships
D.2.2 Example single board computer model
D.2.3 Example of a rack with controllers and I/O modules
D.2.4 Verifying Assets
D.3 Functional Entity examples
D.3.1 Overview
D.3.2 Modelling of FunctionalEntity relationships
D.3.3 FunctionBlock example
D.3.4 Examples of base aspects of FunctionalEntityType
D.3.5 Example of nested FunctionalEntities
D.3.6 Modelling InputData and OutputData
D.3.6.1 Overview
D.3.6.2 Using preconfigured DataSets
D.3.6.3 Using preconfigured and customized DataSets
D.3.6.4 Using customized DataSets
D.3.6.5 Using groups
D.3.7 ControlGroup examples
D.3.7.1 Overview
D.3.7.2 Example of a simple ControlGroup
D.3.7.3 Example of a complex ControlGroup
D.3.7.4 Using ControlGroups with Connections
D.3.8 Verifying FunctionalEntities
D.4 AutomationComponent examples
D.4.1 Raspberry Pi example
Annex E (informative)ConnectionManager examples
E.1 ConnectionConfigurationSet examples
E.1.1 Overview
E.1.2 Single logical connection
E.1.3 Multiple logical connections
E.1.3.1 Overview
E.1.3.2 Multiple logical connections – two AutomationComponents
E.1.3.3 Multiple logical connections – multiple AutomationComponents
E.2 Establishing Connections
E.2.1 Overview
E.2.2 Interaction with the AutomationComponents
E.2.2.1 For logical connections between two AutomationComponents
E.2.2.2 For logical connections between multiple AutomationComponents
E.3 Enable, disable, or remove Connections
E.4 Configuration of PubSub-based Connections
E.4.1 Overview
E.4.2 Bidirectional connection
E.4.3 Unidirectional connection with heartbeat
E.4.4 Unidirectional connection
E.4.5 Autonomous publisher
E.4.6 Autonomous subscriber
E.4.7 PubSub DataSets
E.5 Interaction with an SKS
E.6 ConnectionConfigurationSet and PubSubConfiguration
E.6.1 Overview
E.6.2 ConnectionConfigurationSet and WriterGroup
E.6.3 ConnectionConfigurationSet and ReaderGroup
E.6.4 ConnectionConfigurationSet and DataSetWriter
E.6.5 ConnectionConfigurationSet and DataSetReader
E.6.6 Loading / Saving ConnectionConfigurationSets
Annex F (normative)Persistence of ConnectionConfigurationSets
F.1 DataTypes for Connection Manager Configuration
F.1.1 Overview
F.1.2 Base principles
F.1.2.1 References
F.1.2.2 Namespaces
F.1.2.3 SelectionListType
F.1.2.4 Extensibility
F.1.2.5 Optional fields
F.1.3 ConnectionConfigurationSetConfDataType
F.1.4 ConnectionConfigurationConfDataType
F.1.5 ConnectionEndpointConfigurationConfDataType
F.1.6 CommunicationFlowConfigurationConfDataType
F.1.7 PubSubCommunicationFlowConfigurationConfDataType
F.1.8 SubscriberConfigurationConfDataType
F.1.9 AutomationComponentConfigurationConfDataType
F.1.10 SecurityKeyServerAddressConfDataType
F.1.11 ServerAddressConfDataType
F.1.12 AssetVerificationConfDataType
F.1.13 CommunicationModelConfigurationDataType
F.1.14 PubSubCommunicationModelConfigurationDataType
F.1.15 NodeIdentifier
F.1.16 NodeIdentifierValuePair
F.1.17 NodeIdTranslationConfDataType
F.1.18 AddressSelectionDataType
F.1.19 ReceiveQosSelectionDataType
F.2 ConnectionConfigurationSet file content
F.3 ConnectionManagerConfigurationType
F.3.1 ConnectionManagerConfigurationType definition
F.3.2 Open Method
F.3.3 CloseAndUpdate method
F.3.3.1 CloseAndUpdate signature
F.3.3.2 CloseAndUpdate behaviour
F.3.3.2.1 Overview
F.3.3.2.2 ElementAdd
F.3.3.2.3 ElementRemove
F.3.3.2.4 ElementReplace
F.3.4 ConnectionConfigurationSetOperation