OPC 10000-100: OPC Unified Architecture

Part 100: Devices

Release 1.03.1
2021-12-07

Copyright (c) 2022 OPC Foundation
Generated on 1/15/2022 3:32:39 AM.

This document is subject to the license terms described here.

This document is a copy of the original which can be found here.

Table of Contents

1 Scope

2 Reference documents

3 Terms, definitions, abbreviated terms, and conventions
    3.1 Terms and definitions
    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 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 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