OPC 10000-100: Devices
Released 1.05.0
2025-11-24
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 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 Well-Known 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.5.7 AssetLocationIndication Interface
4.5.7.1 StartLocationIndication Method
4.5.7.2 StopLocationIndication Method
4.5.8 LocationIndicationType OptionSet
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 General
8.2.2 Supported Use Cases
8.2.2.1 Software Update of constrained devices
8.2.2.2 Update Devices from different manufacturers with a Software Update Client
8.2.2.3 Update of underlying Devices (e.g., IO Link Devices)
8.2.2.4 Coordinated update of multiple Devices in a machine / plant
8.2.2.5 Partial update without stopping the software
8.2.2.6 Scheduled update
8.2.2.7 Central distribution for later installation
8.2.2.8 Update of individual parts of a software
8.2.2.9 Reliable update of Devices that are out of reach
8.2.2.10 Backup and restore parameters that are lost during the update
8.2.2.11 Selecting the correct version to install
8.2.2.12 Installation of additional software
8.2.2.13 Pack software for distribution
8.2.2.14 Standard package format for transfer to the device
8.2.2.15 Standard package format for transfer from the device (prototype / backup)
8.2.2.16 Select Software Packages for the SoftwareUpdate AddIn on the device
8.2.2.17 Check package compatibility before transfer
8.2.2.18 Validate dependencies to hardware, firmware, other software
8.2.2.19 Support supplementary files in a Software Package
8.2.2.20 Prove integrity and authenticity of a Software Package
8.2.2.21 Support approval by plant operator
8.2.2.22 Combine Software Packages for a solution
8.2.3 Unsupported Use Cases
8.2.3.1 Finding devices that provide the SoftwareUpdate AddIn within a Server
8.2.3.2 Explicit Restarting the device
8.2.3.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 SoftwareClass
8.4.1.10 SoftwareSubclass
8.4.1.11 SoftwareName
8.4.1.12 UnsignedPackagesAllowed
8.4.1.13 VendorErrorCode
8.4.1.14 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 General
8.4.3.3.2 Transfer to the device
8.4.3.3.3 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.7.9 Clear
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 Uninstall Method
8.4.9.7 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.4.12 SoftwareFolderType
8.4.12.1 Add Method
8.4.12.2 Delete Method
8.5 DataTypes
8.5.1 SoftwareVersionFileType enumeration
8.5.2 UpdateBehavior OptionSet
8.5.3 SoftwareClass enumeration
8.6 ReferenceTypes
8.6.1 UpdateParent ReferenceType
8.6.2 CanUpdate ReferenceType
8.7 Software Package file format
8.7.1 Overview
8.7.2 Folder structure
8.7.3 Package metadata
8.7.4 Package signature
8.7.5 Solution packages
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.3 BaseLifetimeIndicationType definition
10.4 TimeIndicationType definition
10.5 NumberOfPartsIndicationType definition
10.6 NumberOfUsagesIndicationType definition
10.7 LengthIndicationType definition
10.8 DiameterIndicationType definition
10.9 SubstanceVolumeIndicationType definition
11 Profiles and ConformanceUnits
12 Namespaces
12.1 Namespace Metadata
12.2 Handling of OPC UA namespaces
Annex A (normative)Namespace and mappings
A.1 NodeSet and Supplementary Files for DI Information Model
Annex B (informative)Examples
B.1 Functional Group usages
B.2 Identification Functional Group
B.3 Software Update examples
B.3.1 Simple example using Cached-Loading
B.3.2 Factory Automation example
B.3.3 Update sequence using Direct-Loading
B.3.4 Update sequence using Cached-Loading
B.3.5 Update sequence using File System based Loading
B.3.6 Update Sequence for optimized system/bulk firmware update for modular devices and machines
B.3.6.1 Update Sequence for Single Device – where solution package is created 'on the fly'
B.3.6.2 Update Sequence for Modular Device – when getting a solution package from a 3rd instance.
B.3.6.3 Managing a situation of an unsigned solution package
B.3.6.4 Extension for Signed Packages are Mandotory
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