OPC 10000-81: UAFX Part 81: Connecting Devices and Information Model

Released 1.00.02


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.

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 Overview Asset identity 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 Overview Operation 5.5.5 Persistent and preconfigured objects 5.5.6 Relationship to OPC UA communication models Overview PubSub Overview Single Connection using unicast network messages Multiple Connections using unicast network messages Multiple Connections using multicast network messages 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 Overview EstablishConnections signature EstablishConnections behaviour Overview Command VerifyAssetCmd Command VerifyFunctionalEntityCmd Command ReserveCommunicationIdsCmd General PubSub Client Server Command CreateConnectionEndpointCmd Command EstablishControlCmd Command SetConfigurationDataCmd Command ReassignControlCmd Command SetCommunicationConfigurationCmd General PubSub Client Server Command EnableCommunicationCmd General PubSub Client Server Abort 6.2.5 CloseConnections method CloseConnections signature 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 Overview ConfigurationDataFolderType definition SetStoredVariables method ClearStoredVariables Method 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 Overview Establishing Connections Closing Connections 6.7.4 EditConnectionConfigurationSets method 6.7.5 ProcessConnectionConfigurationSets method Overview ProcessConnectionConfigurationSets signature ProcessConnectionConfigurationSets behaviour ActionEstablishConnectionsEnabled / ActionEstablishConnectionsDisabled / ActionEstablishConnections ActionRemoveConnections ActionEnableConnections 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 Overview PubSubCommunicationFlowConfigurationType definition 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 Overview 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. Overview F. ElementAdd F. ElementRemove F. ElementReplace F.3.4 ConnectionConfigurationSetOperation