OPC 10000-100: Devices


Released 1.04

2022-11-03

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 3.3.1.1 Node definitions 3.3.1.2 Additional References 3.3.1.3 Additional sub-components 3.3.1.4 Additional Attribute values 3.3.2 NodeIds and BrowseNames 3.3.2.1 NodeIds 3.3.2.2 BrowseNames 3.3.3 Common Attributes 3.3.3.1 General 3.3.3.2 Objects 3.3.3.3 Variables 3.3.3.4 VariableTypes 3.3.3.5 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 OperationCounter Interface 4.5.6 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 8.2.1.1 Software Update of constraint devices 8.2.1.2 Update Devices from different manufacturers with a Software Update Client 8.2.1.3 Update of underlying Devices (e.g., IO Link Devices) 8.2.1.4 Coordinated update of multiple Devices in a machine / plant 8.2.1.5 Partial update without stopping the software 8.2.1.6 Scheduled update 8.2.1.7 Central distribution for later installation 8.2.1.8 Update of individual parts of a software 8.2.1.9 Reliable update of Devices that are out of reach 8.2.1.10 Backup and restore parameters that are lost during the update 8.2.1.11 Selecting the correct version to install 8.2.1.12 Installation of additional software 8.2.2 Unsupported Use Cases 8.2.2.1 Finding devices that provide the SoftwareUpdate AddIn within a Server 8.2.2.2 Explicit Restarting the device 8.2.2.3 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 8.3.4.1 Overview 8.3.4.2 Prepare for update option 8.3.4.3 Direct-Loading option 8.3.4.4 Cached-Loading option 8.3.4.5 FileSystem option 8.3.4.6 Installation option 8.3.4.7 UpdateStatus option 8.3.4.8 Parameter backup / restore option 8.3.4.9 Confirmation option 8.3.4.10 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 8.4.1.1 Overview 8.4.1.2 Loading 8.4.1.3 PrepareForUpdate 8.4.1.4 Installation 8.4.1.5 PowerCycle 8.4.1.6 Confirmation 8.4.1.7 Parameters 8.4.1.8 UpdateStatus 8.4.1.9 VendorErrorCode 8.4.1.10 DefaultInstanceBrowseName 8.4.2 SoftwareLoadingType 8.4.2.1 Overview 8.4.2.2 UpdateKey 8.4.3 PackageLoadingType 8.4.3.1 Overview 8.4.3.2 CurrentVersion 8.4.3.3 FileTransfer 8.4.3.3.1 Transfer to the device 8.4.3.3.2 Transfer from the device 8.4.3.4 ErrorMessage 8.4.3.5 WriteBlockSize 8.4.4 DirectLoadingType 8.4.4.1 Overview 8.4.4.2 FileTransfer 8.4.4.3 UpdateBehavior 8.4.4.4 WriteTimeout 8.4.5 CachedLoadingType 8.4.5.1 Overview 8.4.5.2 FileTransfer 8.4.5.3 PendingVersion 8.4.5.4 FallbackVersion 8.4.5.5 GetUpdateBehavior Method 8.4.6 FileSystemLoadingType 8.4.6.1 Overview 8.4.6.2 FileSystem 8.4.6.3 GetUpdateBehavior Method 8.4.6.4 ValidateFiles Method 8.4.7 SoftwareVersionType 8.4.7.1 Overview 8.4.7.2 Manufacturer 8.4.7.3 ManufacturerUri 8.4.7.4 SoftwareRevision 8.4.7.5 PatchIdentifiers 8.4.7.6 ReleaseDate 8.4.7.7 ChangeLogReference 8.4.7.8 Hash 8.4.8 PrepareForUpdateStateMachineType 8.4.8.1 Overview 8.4.8.2 PercentComplete 8.4.8.3 Prepare Method 8.4.8.4 Abort Method 8.4.8.5 Resume Method 8.4.9 InstallationStateMachineType 8.4.9.1 Overview 8.4.9.2 PercentComplete 8.4.9.3 InstallationDelay 8.4.9.4 InstallSoftwarePackage Method 8.4.9.5 InstallFiles Method 8.4.9.6 Resume Method 8.4.10 PowerCycleStateMachineType 8.4.11 ConfirmationStateMachineType 8.4.11.1 Overview 8.4.11.2 ConfirmationTimeout 8.4.11.3 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 Lifetime model 10.1 General 10.2 LifetimeVariableType definition 10.2.1 Overview 10.2.2 VariableType definition 10.3 BaseLifetimeIndicationType definition 10.3.1 Overview 10.3.2 ObjectType definition 10.4 TimeIndicationType definition 10.4.1 Overview 10.4.2 ObjectType definition 10.5 NumberOfPartsIndicationType definition 10.5.1 Overview 10.5.2 ObjectType definition 10.6 NumberOfUsagesIndicationType definition 10.6.1 Overview 10.6.2 ObjectType definition 10.7 LengthIndicationType definition 10.7.1 Overview 10.7.2 ObjectType definition 10.8 DiameterIndicationType definition 10.8.1 Overview 10.8.2 ObjectType definition 10.9 SubstanceVolumeIndicationType definition 10.9.1 Overview 10.9.2 ObjectType definition 11 Profiles and ConformanceUnits 11.1 Conformance Units 11.2 Profiles 11.2.1 General 11.2.2 Profile list 11.2.3 Device Server Facets 11.2.4 Device Client Facets 12 Namespaces 12.1 Namespace Metadata 12.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