OPC 10000-100: Unified Architecture - Device Model

Released 1.03.1 (Replaced by 1.04)


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 Reference documents 3 Terms, definitions, abbreviated terms, and conventions 3.1 Terms and definitions 3.1.1 block 3.1.2 blockMode 3.1.3 Communication Profile 3.1.4 Connection Point 3.1.5 device 3.1.6 Device Integration Host 3.1.7 Device Topology 3.1.8 fieldbus 3.1.9 Parameter 3.1.10 Network 3.1.11 Direct-Loading 3.1.12 Cached-Loading 3.1.13 File System based Loading 3.1.14 Software Package 3.1.15 Software Update Client 3.1.16 Current Version 3.1.17 Pending Version 3.1.18 Fallback Version 3.2 Abbreviated terms 3.3 Conventions used in this document 3.3.1 Conventions for Node descriptions Node definitions Additional References Additional sub-components Additional Attribute values 3.3.2 NodeIds and BrowseNames NodeIds BrowseNames 3.3.3 Common Attributes General Objects Variables VariableTypes Methods 4 Device model 4.1 General 4.2 Usage guidelines 4.3 TopologyElementType 4.4 FunctionalGroupType 4.4.1 Model 4.4.2 Recommended FunctionalGroup BrowseNames 4.4.3 UIElement Type 4.5 Interfaces 4.5.1 Overview 4.5.2 VendorNameplate Interface 4.5.3 TagNameplate Interface 4.5.4 DeviceHealth Interface 4.5.5 SupportInfo Interface 4.6 ComponentType 4.7 DeviceType 4.8 SoftwareType 4.9 DeviceSet entry point 4.10 DeviceFeatures entry point 4.11 BlockType 4.12 DeviceHealth Alarm Types 4.12.1 General 4.12.2 DeviceHealthDiagnosticAlarmType 4.12.3 FailureAlarmType 4.12.4 CheckFunctionAlarmType 4.12.5 OffSpecAlarmType 4.12.6 MaintenanceRequiredAlarmType 5 Device communication model 5.1 General 5.2 ProtocolType 5.3 Network 5.4 ConnectionPoint 5.5 ConnectsTo and ConnectsToParent ReferenceTypes 5.6 NetworkSet Object 6 Device integration host model 6.1 General 6.2 DeviceTopology Object 6.3 Online/Offline 6.3.1 General 6.3.2 IsOnline ReferenceType 6.4 Offline-Online data transfer 6.4.1 Definition 6.4.2 TransferServices Type 6.4.3 TransferServices Object 6.4.4 TransferToDevice Method 6.4.5 TransferFromDevice Method 6.4.6 FetchTransferResultData Method 7 Locking model 7.1 Overview 7.2 LockingServices Type 7.3 LockingServices Object 7.4 MaxInactiveLockTime Property 7.5 InitLock Method 7.6 ExitLock Method 7.7 RenewLock Method 7.8 BreakLock Method 8 Software update model 8.1 Overview 8.2 Use Cases 8.2.1 Supported Use Cases Software Update of constraint devices Update Devices from different manufacturers with a Software Update Client Update of underlying Devices (e.g. IO Link Devices) Coordinated update of multiple Devices in a machine / plant Partial update without stopping the software Scheduled update Central distribution for later installation Update of individual parts of a software Reliable update of Devices that are out of reach Backup and restore parameters that are lost during the update Selecting the correct version to install Installation of additional software 8.2.2 Unsupported Use Cases Finding devices that provide the SoftwareUpdate AddIn within a Server Explicit Restarting the device Pulling software from an external source 8.3 General 8.3.1 System perspective 8.3.2 Types of software 8.3.3 Types of Devices 8.3.4 Options for the Server Overview Prepare for update option Direct-Loading option Cached-Loading option FileSystem option Installation option UpdateStatus option Parameter backup / restore option Confirmation option Power cycle option 8.3.5 Software Update Client 8.3.6 Safety considerations 8.3.7 Security considerations 8.3.8 Update Behavior 8.3.9 Installation of patches 8.3.10 Incompatible parameters / settings 8.3.11 AddIn model 8.4 ObjectTypes 8.4.1 SoftwareUpdateType Overview Loading PrepareForUpdate Installation PowerCycle Confirmation Parameters UpdateStatus VendorErrorCode DefaultInstanceBrowseName 8.4.2 SoftwareLoadingType Overview UpdateKey 8.4.3 PackageLoadingType Overview CurrentVersion FileTransfer Transfer to the device Transfer from the device ErrorMessage WriteBlockSize 8.4.4 DirectLoadingType Overview FileTransfer UpdateBehavior WriteTimeout 8.4.5 CachedLoadingType Overview FileTransfer PendingVersion FallbackVersion GetUpdateBehavior Method 8.4.6 FileSystemLoadingType Overview FileSystem GetUpdateBehavior Method ValidateFiles Method 8.4.7 SoftwareVersionType Overview Manufacturer ManufacturerUri SoftwareRevision PatchIdentifiers ReleaseDate ChangeLogReference Hash 8.4.8 PrepareForUpdateStateMachineType Overview PercentComplete Prepare Method Abort Method Resume Method 8.4.9 InstallationStateMachineType Overview PercentComplete InstallationDelay InstallSoftwarePackage Method InstallFiles Method Resume Method 8.4.10 PowerCycleStateMachineType 8.4.11 ConfirmationStateMachineType Overview ConfirmationTimeout Confirm Method 8.5 DataTypes 8.5.1 SoftwareVersionFileType 8.5.2 UpdateBehavior OptionSet 9 Specialized topology elements 9.1 General 9.2 Configurable components 9.2.1 General pattern 9.2.2 ConfigurableObjectType 9.3 Block Devices 9.4 Modular Devices 10 Profiles and ConformanceUnits 10.1 Conformance Units 10.2 Profiles 10.2.1 General 10.2.2 Profile list 10.2.3 Device Server Facets 10.2.4 Device Client Facets 11 Namespaces 11.1 Namespace Metadata 11.2 Handling of OPC UA namespaces Annex A (normative)Namespace and mappings Annex B (informative)Examples B.1 Functional Group Usages B.2 Identification Functional Group B.3 Software Update examples B.3.1 Factory Automation Example B.3.2 Update sequence using Direct-Loading B.3.3 Update sequence using Cached-Loading B.3.4 Update sequence using File System based Loading Annex C (informative)Guidelines for the usage of OPC UA for Devices as base for Companion Specifications C.1 Overview C.2 Guidelines to define Companion Specifications based on OPC UA for Devices C.3 Guidelines on how to combine different companion specifications based on OPC UA for Devices in one OPC UA application C.4 Guidelines to manage the same Variables defined in different places C.5 Guidelines on how to use functionality in companion specifications