OPC 40100-1: OPC UA for Machine Vision

Part 1: Control, configuration management, recipe management and result management

Copyright (c) 2019 OPC Foundation
Generated on 2019-09-17 12:38:42 PM.

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 Normative references

3 Terms, definitions and conventions
    3.1 Terms
    3.2 Abbreviations
    3.3 Conventions used in this document
        3.3.1 Conventions for Node descriptions
        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 General information on Machine Vision and OPC UA
    4.1 Introduction to Machine Vision systems
    4.2 Introduction to OPC Unified Architecture
        4.2.1 What is OPC UA?
        4.2.2 Basics of OPC UA
        4.2.3 Information modelling in OPC UA
            4.2.3.1 Concepts
            4.2.3.2 Namespaces
            4.2.3.3 Companion Specifications

5 Use cases

6 OPC Machine Vision information model overview

7 ObjectTypes for the Vision System in General
    7.1 VisionSystemType
    7.2 ConfigurationManagementType
        7.2.1 Overview
        7.2.2 ConfigurationManagementType methods
            7.2.2.1 AddConfiguration
                7.2.2.1.1 Overview
                7.2.2.1.2 New ExternalId
                7.2.2.1.3 Identically Existing ExternalId with identical configuration
                7.2.2.1.4 Identically Existing ExternalId with different configuration
                7.2.2.1.5 Local creation or editing of configurations
            7.2.2.2 GetConfigurationById
            7.2.2.3 GetConfigurationList
            7.2.2.4 ReleaseConfigurationHandle
            7.2.2.5 RemoveConfiguration
            7.2.2.6 ActivateConfiguration
    7.3 ConfigurationFolderType
    7.4 ConfigurationTransferType
        7.4.1 Overview
        7.4.2 ConfigurationTransferType methods
            7.4.2.1 GenerateFileForRead
            7.4.2.2 GenerateFileForWrite
    7.5 RecipeManagementType
        7.5.1 Overview
        7.5.2 RecipeManagementType Methods
            7.5.2.1 AddRecipe
                7.5.2.1.1 Overview
                7.5.2.1.2 New ExternalId
                7.5.2.1.3 Identically Existing ExternalId with identical recipe
                7.5.2.1.4 Identically Existing ExternalId with different recipe
                7.5.2.1.5 Local creation or editing of recipes
            7.5.2.2 PrepareRecipe
            7.5.2.3 UnprepareRecipe
            7.5.2.4 GetRecipeListFiltered
            7.5.2.5 ReleaseRecipeHandle
            7.5.2.6 RemoveRecipe
            7.5.2.7 PrepareProduct
            7.5.2.8 UnprepareProduct
            7.5.2.9 UnlinkProduct
    7.6 RecipeTransferType
        7.6.1 Overview
        7.6.2 RecipeTransferType Methods
            7.6.2.1 GenerateFileForRead
            7.6.2.2 GenerateFileForWrite
    7.7 RecipeType
        7.7.1 Overview
        7.7.2 RecipeType Methods
            7.7.2.1 Overview
            7.7.2.2 LinkProduct
            7.7.2.3 UnlinkProduct
            7.7.2.4 Prepare
            7.7.2.5 Unprepare
            7.7.2.6 Recipe transfer
    7.8 RecipeFolderType
    7.9 ProductFolderType
    7.10 ResultManagementType
        7.10.1 Overview
        7.10.2 ResultManagementType methods
            7.10.2.1 GetResultById
            7.10.2.2 GetResultComponentsById
            7.10.2.3 GetResultListFiltered
            7.10.2.4 ReleaseResultHandle
    7.11 ResultFolderType
    7.12 ResultTransferType
        7.12.1 Overview
        7.12.2 ResultTransferType methods
            7.12.2.1 GenerateFileForRead
    7.13 SafetyStateManagementType
        7.13.1 Overview
        7.13.2 SafetyStateManagementType methods
            7.13.2.1 ReportSafetyState

8 ObjectTypes for Vision System State Handling
    8.1 State Machine overview
        8.1.1 Introduction
        8.1.2 Hierarchical state machines
            8.1.2.1 Entering a SubStateMachine
            8.1.2.2 Leaving a SubStateMachine
        8.1.3 Automatic and triggered transitions and events
        8.1.4 Preventing transitions
    8.2 VisionStateMachineType
        8.2.1 Introduction
        8.2.2 Operation of the VisionStateMachineType
            8.2.2.1 Basic operation
            8.2.2.2 Resetting the system
            8.2.2.3 Halting the system
            8.2.2.4 Error handling
        8.2.3 VisionStateMachineType Overview
        8.2.4 Modes of operation
        8.2.5 VisionStateMachineType Definition
        8.2.6 VisionStateMachineType States
            8.2.6.1 Introduction
            8.2.6.2 Preoperational State
            8.2.6.3 Halted State
            8.2.6.4 Error State
            8.2.6.5 Operational State
        8.2.7 VisionStateMachineType Transitions
        8.2.8 VisionStateMachineType Methods
            8.2.8.1 Halt method
            8.2.8.2 Reset method
            8.2.8.3 SelectModeAutomatic method
            8.2.8.4 ConfirmAll method
        8.2.9 VisionStateMachineType EventTypes
            8.2.9.1 StateChangedEventType
            8.2.9.2 ErrorEventType
            8.2.9.3 ErrorResolvedEventType
    8.3 VisionAutomaticModeStateMachineType
        8.3.1 Introduction
        8.3.2 Operation of the “AutomaticMode” state machine
            8.3.2.1 Introduction
            8.3.2.2 Single job operation
            8.3.2.3 Continuous operation
            8.3.2.4 General remarks on Stop and Abort methods
            8.3.2.5 Entering the “AutomaticMode” state machine
        8.3.3 VisionAutomaticModeStateMachineType Overview
        8.3.4 VisionAutomaticModeStateMachineType Definition
        8.3.5 VisionAutomaticModeStateMachineType States
            8.3.5.1 Introduction
            8.3.5.2 Initialized State
            8.3.5.3 Ready State
            8.3.5.4 SingleExecution State
            8.3.5.5 ContinuousExecution State
        8.3.6 VisionAutomaticModeStateMachineType Transitions
        8.3.7 VisionAutomaticModeStateMachineType Methods
            8.3.7.1 StartSingleJob method
            8.3.7.2 StartContinuous method
            8.3.7.3 Abort method
            8.3.7.4 Stop method
            8.3.7.5 SimulationMode method
        8.3.8 VisionAutomaticModeStateMachineType Events
            8.3.8.1 RecipePreparedEventType
            8.3.8.2 JobStartedEventType
            8.3.8.3 ReadyEventType
            8.3.8.4 ResultReadyEventType
            8.3.8.5 AcquisitionDoneEventType
        8.3.9 Adding an operation mode
    8.4 VisionStepModelStateMachineType
        8.4.1 Operation of the VisionStepModelStateMachine
            8.4.1.1 Entering the step model SubStateMachine
            8.4.1.2 Executing a step sequence
            8.4.1.3 Completing the SubStateMachine
            8.4.1.4 Leaving the superior state
        8.4.2 VisionStepModelStateMachineType Overview
        8.4.3 VisionStepModelStateMachineType Definition
        8.4.4 VisionStepModelStateMachineType States
        8.4.5 VisionStepModelStateMachineType Transitions
        8.4.6 VisionStepModelStateMachineType Methods
            8.4.6.1 Sync method
        8.4.7 VisionStepModelStateMachine Events
            8.4.7.1 EnterStepSequenceEventType
            8.4.7.2 NextStepEventType
            8.4.7.3 LeaveStepSequenceEventType

9 VariableTypes for the Vision System
    9.1 ResultType

10 EventTypes for the Vision System
    10.1 VisionStateMachineType EventTypes
    10.2 VisionAutomaticModeStateMachineType EventTypes
    10.3 VisionStepModelStateMachineType EventTypes
    10.4 Vision System State EventTypes and ConditionTypes

11 System States and Conditions for the Vision System
    11.1 Introduction
    11.2 Client interaction
        11.2.1 Introduction
        11.2.2 No Interaction
        11.2.3 Acknowledgement
        11.2.4 Confirmation
        11.2.5 Confirm All
    11.3 Classes of Informational Elements
        11.3.1 Overview
        11.3.2 Diagnostic Information
        11.3.3 Information
        11.3.4 Warning
        11.3.5 Error
        11.3.6 Persistent Error
    11.4 EventTypes for Informational Elements
        11.4.1 VisionEventType
            11.4.1.1 Overview
            11.4.1.2 Usage of inherited properties
            11.4.1.3 Usage of additional properties
        11.4.2 VisionDiagnosticInfoEventType
        11.4.3 VisionInformationEventType
        11.4.4 VisionConditionType
            11.4.4.1 Overview
            11.4.4.2 Usage of properties in common with VisionEventType
            11.4.4.3 Usage of additional properties
        11.4.5 VisionWarningConditionType
        11.4.6 VisionErrorConditionType
        11.4.7 VisionPersistentErrorConditionType
        11.4.8 VisionSafetyEventType
    11.5 Interaction between Messages, State Machine, and Vision System
    11.6 Structuring of Vision System State information
        11.6.1 Overview
        11.6.2 Production (PRD)
        11.6.3 Standby (SBY)
        11.6.4 Engineering (ENG)
        11.6.5 Scheduled Downtime (SDT)
        11.6.6 Unscheduled Downtime (UDT)
        11.6.7 Nonscheduled Time (NST)

12 DataTypes for the Vision System
    12.1 Handle
    12.2 TrimmedString
    12.3 TriStateBooleanDataType
    12.4 ProcessingTimesDataType
    12.5 MeasIdDataType
    12.6 PartIdDataType
    12.7 JobIdDataType
    12.8 BinaryIdBaseDataType
    12.9 RecipeIdExternalDataType
    12.10 RecipeIdInternalDataType
    12.11 RecipeTransferOptions
    12.12 ConfigurationDataType
    12.13 ConfigurationIdDataType
    12.14 ConfigurationTransferOptions
    12.15 ProductDataType
    12.16 ProductIdDataType
    12.17 ResultDataType
    12.18 ResultIdDataType
    12.19 ResultStateDataType
    12.20 ResultTransferOptions
    12.21 SystemStateDataType
    12.22 SystemStateDescriptionDataType

13 Profiles and Namespaces
    13.1 Namespace Metadata
    13.2 Conformance Units
        13.2.1 Overview
        13.2.2 Server
        13.2.3 Client
    13.3 Facets and Profiles
        13.3.1 Overview
        13.3.2 Server
            13.3.2.1 Overview
            13.3.2.2 Facets
                13.3.2.2.1 Basic Vision System Server Facet
                13.3.2.2.2 Inline Vision System Server Facet
                13.3.2.2.3 Automatic Mode Server Facet
                13.3.2.2.4 Processing Times Server Facet
                13.3.2.2.5 File Transfer Server Facet
                13.3.2.2.6 Basic Result Handling Server Facet
                13.3.2.2.7 Inline Result Handling Server Facet
                13.3.2.2.8 Full Result Handling Server Facet
                13.3.2.2.9 Standard Configuration Handling Server Facet
                13.3.2.2.10 Full Configuration Handling Server Facet
                13.3.2.2.11 Standard Recipe Handling Server Facet
                13.3.2.2.12 Full Recipe Handling Server Facet
            13.3.2.3 Profiles
                13.3.2.3.1 Basic Vision System Server Profile
                13.3.2.3.2 Basic Vision System Server Profile without OPC UA Security
                13.3.2.3.3 Simple Inline Vision System Server Profile
                13.3.2.3.4 Simple Inline Vision System with File Transfer Profile
                13.3.2.3.5 Simple Inline Vision System with File Revisioning Server Profile
                13.3.2.3.6 Inline Vision System with File Transfer Server Profile
                13.3.2.3.7 Inline Vision System with File Revisioning Server Profile
                13.3.2.3.8 Full Vision System Server Profile
        13.3.3 Client
            13.3.3.1 Overview
            13.3.3.2 Facets
                13.3.3.2.1 Basic Control Client Facet
                13.3.3.2.2 Full Control Client Facet
                13.3.3.2.3 Basic Result Content Client Facet
                13.3.3.2.4 Simple Result Content Client Facet
                13.3.3.2.5 Full Result Content Client Facet
                13.3.3.2.6 Result Meta Data Client Facet
                13.3.3.2.7 Configuration Handling Client Facet
                13.3.3.2.8 Recipe Handling Client Facet
                13.3.3.2.9 Vision State Monitoring Client Facet
                13.3.3.2.10 Production Quality Monitoring Client Facet
                13.3.3.2.11 Data Backup Client Facet
            13.3.3.3 Profiles
                13.3.3.3.1 Basic Control Client Profile
                13.3.3.3.2 Simple Control Client Profile
                13.3.3.3.3 Full Control Client Profile
                13.3.3.3.4 Result Content Client Profile
                13.3.3.3.5 Monitoring Client Profile
                13.3.3.3.6 Configuration Management Client Profile
    13.4 Handling of OPC UA Namespaces

Annex A (normative) Machine Vision Namespace and mappings
    A.1 Namespace and identifiers for Machine Vision Information Model
    A.2 Profile URIs for Machine Vision Information Model

Annex B (informative) Conceptual Model
    B.1 Recipe management
        B.1.1 Terms used in recipe management
        B.1.2 Recipes in general
            B.1.2.1 Definition
            B.1.2.2 Structure and management
            B.1.2.3 Identification
        B.1.3 Recipes on the vision system
            B.1.3.1 Existing and prepared recipes
            B.1.3.2 Recipe identification
            B.1.3.3 Recipes in the Address Space
            B.1.3.4 Client-side recipe handling
        B.1.4 Example for a recipe life cycle
        B.1.5 Recipes and the state of the vision system
            B.1.5.1 Types of recipe management
            B.1.5.2 State handling for recipe management
            B.1.5.3 Availability of recipe management methods
        B.1.6 Recipe-product relation
        B.1.7 Recipe transfer
            B.1.7.1 Introduction
            B.1.7.2 Method-based recipe management
            B.1.7.3 Address Space-based recipe management