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.
This document defines nodes in the following nodesets:
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