This section defines Conformance Units that are specific to the OPC UA Machine Vision Information model. These Conformance Units are separated into Conformance Units that are Server specific and those that are Client specific.

Table 158 defines the server based Conformance Units.

Table 158 – Definition of Server Conformance Units

Category

Title

Description

Server

Vision System – Basic Vision System

The VisionSystemType with all mandatory sub nodes is implemented by the server.

Server

Vision System – Basic Result Management

The Result Management node with all mandatory sub nodes is implemented by the server.

Server

Vision System – Basic Configuration Management

The ConfigurationManagement node with all mandatory sub nodes is implemented by the server.

Server

Vision System – Basic Recipe Management

The RecipeManagement node with all mandatory sub nodes is implemented by the server.

Server

Vision System – Safety State Management

The SafetyStateManagement node is implemented and VisionSafetyEvents are generated by the server.

Server

Vision System – System State Information

The SystemState node is implemented and used by the server to publish its current state.

Server

Vision System – Diagnostic Events

The DiagnosticLevel node is implemented, used by the server to publish the current diagnostic level, and can be written by the Client to set the current diagnostic level. VisionDiagnosticInfoEvents are generated by the server.

Server

Vision System – Information Events

VisionInformationEvents are generated by the server.

Server

Vision System – Error Conditions

VisionWarningConditions, VisionErrorConditions and VisionPersistentErrorConditions are generated by the server.

Server

Vision State Machine – Automatic Mode

The AutomaticModeStateMachine node with all mandatory sub nodes and the SelectModeAutomatic method are implemented by the server.

Server

Vision State Machine – Easy Confirmation

The ConfirmAll method is implemented by the server.

Server

Vision State Machine – Error Events

ErrorEvents and ErrorResolvedEvents are generated by the server.

Server

Vision State Machine – StepModel Preoperational

The PreoperationalStepModel state machine is implemented by the server.

Server

Vision State Machine – StepModel Halted

The HaltedStepModel state machine is implemented by the server.

Server

Vision State Machine – StepModel Error

The ErrorStepModel state machine is implemented by the server.

Server

Automatic Mode – Simulation

The SimulationMode method is implemented by the server. The isSimulated sub nodes of ResultReadyEvents, ResultDataType and ResultType are implemented and reflect the state of the simulation mode during creation of the job generaring this result; likewise, the isSimulated output arguments of methods GetResultComponentsById and GetResultById reflect this state.

Server

Automatic Mode – StepModel Initialized

The InitializedStepModel state machine is implemented by the server.

Server

Automatic Mode – StepModel Ready

The ReadyStepModel state machine is implemented by the server.

Server

Automatic Mode – StepModel SingleExecution

The SingleExecutionStepModel state machine is implemented by the server.

Server

Automatic Mode – StepModel ContinuousExecution

The ContinuousExecutionStepModel state machine is implemented by the server.

Server

Meta Data Handling – Measurement ID

The measId argument of methods StartSingleJob and StartContinuous is associated to the jobs started by calling these methods. Results arising from these jobs include the given MeasId. Therefore the server implements the MeasId sub node of all occurrences of ResultDataType and ResultType as well as within ResultReadyEvents, and returns it in the output argument of methods GetResultComponentsById and GetResultById as well as observing it in the input argument of method GetResultListFiltered. The server may additionally implement the MeasId sub node of VisionDiagnosticInfoEvents , VisionInformationEvents , VisionWarningConditions, VisionErrorConditions and VisionPersistentErrorConditions.

Server

Meta Data Handling – Part ID

The partId argument of methods StartSingleJob and StartContinuous is associated to the jobs started by calling these methods. Results arising from these jobs include the PartId. Therefore the server implements the PartId sub node of all occurrences of the ResultDataType and ResultType as well as within ResultReadyEvents, and returns it in the output argument of methods GetResultComponentsById and GetResultById as well as observing it in the input argument of method GetResultListFiltered method. The server may additionally implement the PartId sub node of VisionDiagnosticInfoEvents , VisionInformationEvents , VisionWarningConditions, VisionErrorConditions and VisionPersistentErrorConditions

Server

Meta Data Handling – Recipe ID External

The externalRecipeId argument of methods StartSingleJob and StartContinuous is associated to the jobs started by calling these methods. All results arising from these jobs include the ExternalRecipeId. Therefore the server implements the ExternalRecipeId sub node of all occurrences of the ResultDataType and ResultType as well as within ResultReadyEvents, and returns it in the output argument of methods GetResultComponentsById and GetResultById as well as observing it in the input argument of method GetResultListFiltered. The server may additionally implement the ExternalRecipeId sub node of VisionDiagnosticInfoEvents , VisionInformationEvents , VisionWarningConditions, VisionErrorConditions and VisionPersistentErrorConditions

Server

Meta Data Handling – Recipe Versioning

To enforce the uniqueness of recipe IDs, the server implements the calculation and comparison of hash values of the binary object representing a recipe. All occurrences of the RecipeIdExternalDataType and RecipeIdInternalDataType implement the sub nodes version, hash and hashAlgorithm.

Server

Meta Data Handling – Product ID

The productId argument of methods StartSingleJob and StartContinuous is associated to the jobs started by calling these methods. All results arising from these jobs include the ProductId. Therefore the server implements the ProductId sub node of all occurrences of the ResultDataType, ResultType and RecipeType as well as within ResultReadyEvents, and returns it in the output argument of methods GetResultComponentsById and GetResultById as well as observing it in the intput argument of method GetResultListFiltered. The server may additionally implement the ProductId sub node of VisionDiagnosticInfoEvents , VisionInformationEvents , VisionWarningConditions, VisionErrorConditions and VisionPersistentErrorConditions

Server

Meta Data Handling – Configuration ID External

The externalConfigurationId argument of methods StartSingleJob and StartContinuous is associated to the jobs started by calling these methods. All results arising from these jobs include the ExternalConfigurationId. Therefore the server implements the ExternalConfigurationId sub node of all occurrences of the ResultDataType and ResultType as well as within ResultReadyEvents, and returns it in the output argument of methods GetResultComponentsById and GetResultById as well as observing it in the intput argument of method GetResultListFiltered. The server may additionally implement the ExternalConfigurationId sub node of VisionDiagnosticInfoEvents , VisionInformationEvents , VisionWarningConditions, VisionErrorConditions and VisionPersistentErrorConditions

Server

Meta Data Handling – Configuration Versioning

To enforce the uniqueness of configuration IDs, the server implements the calculation and comparison of hash values of the binary object representing a configuration. All occurrences of the ConfigurationIdDataType implement the sub nodes version, hash and hashAlgorithm.

Server

Meta Data Handling – Processing Times

The server implements the logging of the start and end times of a job and associates these with the results of this job. Therefore the server implements the processingTimes sub node of all occurrences of the ResultDataType and ResultType as well as within ResultReadyEvents, and returns it in the output argument of methods GetResultComponentsById and GetResultById().

Server

Meta Data Handling – Processing Times Extended

The server implements the logging of the start and end times of a job as well as the determination of the duration of acquisition and processing and associates these with the results of this job. Therefore the server implements the processingTimes sub node of all occurrences of the ResultDataType and ResultType as well as within ResultReadyEvents, and returns it in the output argument of methods GetResultComponentsById and GetResultById.

Server

Result Handling – Event Based Content

The server provides full or partial result content as sub node of ResultReadyEvents and provides a means for the client to interpret the application-specific structure of this node.

Server

Result Handling – Method Based Content

The server provides full or partial result content in the output argument of methods GetResultComponentsById GetResultById and provides a means for the client to interpret the application-specific structure of this argument.

Server

Result Handling – Result File

The server implements the ResultTransfer node to offer additional result content as a downloadable file. It implements the HasTransferableDataOnFile node within all occurrences of ResultDataType and ResultType and provides information about the existence of such content in these nodes and in the output argument of methods GetResultComponentsById and GetResultById.

Server

Result Handling – Result Folder

The server provides meta data and full or partial result content by implementing the Results folder node.

Server

Configuration Handling – Configuration File

The server allows upload and download of configuration objects. Therefore it implements the ConfigurationTransfer node as well as the AddConfiguration and RemoveConfiguration methods. Additionally it signals the availability of a local configuration object by using the hasTransferableDataOnFile node within all occurrences of the ConfigurationDataType.

Server

Configuration Handling – Configuration Folder

The server provides meta data on local configuration objects by implementing the Configurations folder node.

Server

Recipe Handling – Recipe File

The server allows upload and download of recipe objects. Therefore it implements the RecipeTransfer node as well as the AddRecipe and RemoveRecipe methods. Additionally it signals the availability of a local recipe object by using the Handle node within all occurrences of the RecipeType.

Server

Recipe Handling – Recipe Folder

The server provides meta data on local recipe objects by implementing the Recipes folder node. Additionally it returns the node id of the recipe object created in the folder by an AddRecipe method call.

Server

Recipe Handling – Product Folder

The server provides meta data on local product objects by implementing the Products folder node. Additionally it returns the node id of the product object created in the folder by an AddRecipe method call.

Table x defines the Client based Conformance Units.

Table 159 – Definition of Client Conformance Units

Category

Title

Description

Client

Vision System – System State Information Client

The Client is capable of monitoring the SystemState node if existing in the server including optional items.

Client

Vision System – Diagnostic Events Client

The Client is capable of reading and writing the DiagnosticLevel node if existing in the server and to monitor VisionDiagnosticInfoEvents generated by the server, including all possibly existing data elements of the events.

Client

Vision System – Information Events Client

The Client is capable of monitoring VisionInformationEvents generated by the server, including all possibly existing data elements of the events.

Client

Vision System – Error Conditions Client

The Client is capable of monitoring, acknowledging and confirming VisionWarningConditions, VisionErrorConditions and VisionPersistentErrorConditions generated by the server, including all possibly existing data elements of the conditions.

Client

Vision State Machine – State Machine Monitoring

The Client is capable of monitoring state and transitions of the mandatory VisionStateMachine.

Client

Vision State Machine – State Machine Events Monitoring

The Client is capable of monitoring the events generated by the mandatory VisionStateMachine.

Client

Vision State Machine – State Machine Control

The Client is capable of controlling the mandatory VisionStateMachine by calling its methods.

Client

Vision State Machine – StepModel Monitoring

The Client is capable of detecting the existence of StepModel state machines inside any state of any state machine in the server and monitor their states and transitions.

Client

Vision State Machine – StepModel Events Monitoring

The Client is capable of monitoring events generated by an active StepModel state machine in the server.

Client

Vision State Machine – StepModel Control

The Client is capable of controlling any StepModel state machine existing in the server by calling its Sync method.

Client

Vision Automatic Mode – Automatic Mode Selection

The Client is capable of calling the SelectAutomaticMode method and monitor the success of entering the VisionAutomaticModeStateMachine.

Client

Vision Automatic Mode – Safety Information Client

The Client is capable of monitoring VisionSafetyEvents and the SafetyStateManagement node and is capable of reporting safety information by using the ReportSafetyState method.

Client

Vision Automatic Mode – Easy Confirmation Client

The Client can call the ConfirmAll method if implemented by the server.

Client

Vision Automatic Mode – Simulation Mode Control

The Client is capable of calling the SimulationMode method. If the client processes vision system results, it takes appropriate action based on the value of the isSimulated flag included with the results.

Client

Vision Automatic Mode– Automatic Mode Monitoring

The Client is capable of monitoring state and transitions of the AutomaticModeStateMachine

Client

Vision Automatic Mode – Automatic Mode Events Monitoring

The Client is capable of monitoring the events generated by the AutomaticModeStateMachine.

Client

Vision Automatic Mode – Automatic Mode Control

The Client is capable of controlling the AutomaticModeStateMachine by calling its methods.

Client

Meta Data Handling – Client Job ID

The Client is capable of reading a jobId from methods providing one and to pass it to methods accepting one, provided the client implements the call of this method at all (as stated by other Conformance Units). The client is also capable of processing jobId information contained in vision system results.

Client

Meta Data Handling – Client Measurement ID

The Client is capable of providing a measId to all methods accepting one, provided the client implements the call of this method at all (as stated by other Conformance Units). The client is also capable of processing measId information contained in vision system results and events and returned by methods.

Client

Meta Data Handling – Client Part ID

The Client is capable of providing a partId to all methods accepting one, provided the client implements the call of this method at all (as stated by other Conformance Units). The client is also capable of processing partId information contained in vision system results and events and returned by methods.

Client

Meta Data Handling – Result IsSimulated

The client is capable of monitoring if the isSimulated flag included within ResultReadyEvents.

Client

Meta Data Handling – Client Recipe ID

The Client is capable of providing externalRecipeId or internalRecipeId arguments to methods requiring one (provided the client implements the call to that method at all, as stated by other Conformance Units) and of processing externalRecipeId and internalRecipeId information contained in vision system results and events and returned by methods.

Client

Meta Data Handling – Basic Client Recipe Versioning

The Client is capable of comparing version and hash information contained in externalRecipeId and internalRecipeId structures.

Client

Meta Data Handling – Full Client Recipe Versioning

The Client is capable of computing hash information on recipes based on the hashAlgorithm information optionally contained in externalRecipeId and internalRecipeId structures, provide the server with such information and process such information when returned from the server.

Client

Meta Data Handling – Client Product ID

The Client is capable of providing a productId to all methods accepting one, provided the client implements the call of this method at all (as stated by other Conformance Units). The client is also capable of processing productId information contained in vision system results and events and returned by methods.

Client

Meta Data Handling – Basic Client Configuration Versioning

The Client is capable of providing externalConfigurationId or internalConfigurationId arguments to methods requiring one (provided the client implements the call to that method at all, as stated by other Conformance Units) and of processing externalConfigurationId and internalConfigurationId information contained in vision system results and events and returned by methods.

Client

Meta Data Handling –Full Client Configuration Versioning

The Client is capable of comparing version information contained in externalConfigurationId and internalConfigurationId structures.

Client

Meta Data Handling – Client Processing Times

The Client is capable of processing basic ProcessingTimes information contained in vision systems results and events and returned by methods (provided the client implements calls to these methods at all, as stated by other Conformance Units).

Client

Meta Data Handling – Client Processing Times Extended

The Client is capable of processing extended ProcessingTimes information contained in vision systems results and events and returned by methods (provided the client implements calls to these methods at all, as stated by other Conformance Units).

Client

Result Handling – Client Event Based Content Basic

The Client is capable of monitoring ResultReady events generated by the server and extracting all provided meta data from the event.

Client

Result Handling – Client Event Based Content Extended

The Client is capable of monitoring ResultReady events generated by the server and extracting all provided meta data from the event, as well as extracting application-specific result content.

Client

Result Handling – Client Method Based Content Basic

The Client is capable of calling method GetResultListFiltered, GetResultById, GetResultComponentsById, ReleaseResultHandle. The client is further capable of processing the meta data for the returned results.

Client

Result Handling – Client Method Based Content Extended

The Client is capable of calling method GetResultListFiltered, GetResultById, GetResultComponentsById, ReleaseResultHandle. The client is further capable of processing the meta data for the returned results as well as extracting application-specific result content.

Client

Result Handling – Client Result File

The client is capable of using the ResultTransfer methods to obtain opaque result content based on resultId and hasTransferableDataOnFile information obtained from ResultReady events or method calls.

Client

Result Handling – Client Result Folder

The client is capable of obtaining result meta data from the Results folder node, if implemented by the server.

Client

Configuration Handling – Client Configuration Methods

The client is capable of calling the methods of the ConfigurationManagementType node to manage configuration information on the server.

Client

Configuration Handling – Client Configuration File

The client is capable of using the ConfigurationTransfer methods to upload and download opaque configuration content based on configurationId and hasTransferableDataOnFile information obtained from events or method calls.

Client

Configuration Handling – Client Configuration Folder

The client is capable of obtaining configuration meta data from the Configurations folder node if implemented by the server.

Client

Recipe Handling – Client Recipe Methods

The client is capable of calling the methods of the RecipeManagementType node to manage recipe and product information on the server.

Client

Recipe Handling – Client Recipe File

The client is capable of using the RecipeTransfer methods to upload and download opaque recipe content based on recipeId and hasTransferableDataOnFile information obtained from events or method calls.

Client

Recipe Handling – Client Recipe Folder

The client is capable of obtaining recipe meta data from the Recipes folder node if implemented by the server.

Client

Recipe Handling – Client Product Folder

The client is capable of obtaining product meta data from the Products folder node if implemented by the server.