13.2 Conformance Units

13.2.1 Overview

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.

13.2.2 Server

Table 158 defines the server based Conformance Units.

Table 158 – Definition of Server Conformance Units
Category Title Description
ServerVision System – Basic Vision SystemThe VisionSystemType with all mandatory sub nodes is implemented by the server.
ServerVision System – Basic Result ManagementThe Result Management node with all mandatory sub nodes is implemented by the server.
ServerVision System – Basic Configuration ManagementThe ConfigurationManagement node with all mandatory sub nodes is implemented by the server.
ServerVision System – Basic Recipe ManagementThe RecipeManagement node with all mandatory sub nodes is implemented by the server.
ServerVision System – Safety State ManagementThe SafetyStateManagement node is implemented and VisionSafetyEvents are generated by the server.
ServerVision System – System State InformationThe SystemState node is implemented and used by the server to publish its current state.
ServerVision System – Diagnostic EventsThe 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.
ServerVision System – Information Events VisionInformationEvents are generated by the server.
ServerVision System – Error Conditions VisionWarningConditions , VisionErrorConditions and VisionPersistentErrorConditions are generated by the server.
ServerVision State Machine – Automatic ModeThe AutomaticModeStateMachine node with all mandatory sub nodes and the SelectModeAutomatic method are implemented by the server.
ServerVision State Machine – Easy ConfirmationThe ConfirmAll method is implemented by the server.
ServerVision State Machine – Error Events ErrorEvents and ErrorResolvedEvents are generated by the server.
ServerVision State Machine – StepModel PreoperationalThe PreoperationalStepModel state machine is implemented by the server.
ServerVision State Machine – StepModel HaltedThe HaltedStepModel state machine is implemented by the server.
ServerVision State Machine – StepModel ErrorThe ErrorStepModel state machine is implemented by the server.
ServerAutomatic Mode – SimulationThe 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.
ServerAutomatic Mode – StepModel InitializedThe InitializedStepModel state machine is implemented by the server.
ServerAutomatic Mode – StepModel ReadyThe ReadyStepModel state machine is implemented by the server.
ServerAutomatic Mode – StepModel SingleExecutionThe SingleExecutionStepModel state machine is implemented by the server.
ServerAutomatic Mode – StepModel ContinuousExecutionThe ContinuousExecutionStepModel state machine is implemented by the server.
ServerMeta Data Handling – Measurement IDThe 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.
ServerMeta Data Handling – Part IDThe 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
ServerMeta Data Handling – Recipe ID ExternalThe 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
ServerMeta Data Handling – Recipe VersioningTo 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.
ServerMeta Data Handling – Product IDThe 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
ServerMeta Data Handling – Configuration ID ExternalThe 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
ServerMeta Data Handling – Configuration VersioningTo 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.
ServerMeta Data Handling – Processing TimesThe 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().
ServerMeta Data Handling – Processing Times ExtendedThe 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.
ServerResult Handling – Event Based ContentThe 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.
ServerResult Handling – Method Based ContentThe 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.
ServerResult Handling – Result FileThe 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.
ServerResult Handling – Result FolderThe server provides meta data and full or partial result content by implementing the Results folder node.
ServerConfiguration Handling – Configuration FileThe 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.
ServerConfiguration Handling – Configuration FolderThe server provides meta data on local configuration objects by implementing the Configurations folder node.
ServerRecipe Handling – Recipe FileThe 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.
ServerRecipe Handling – Recipe FolderThe 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.
ServerRecipe Handling – Product FolderThe 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.

13.2.3 Client

Table x defines the Client based Conformance Units.

Table 159 – Definition of Client Conformance Units
Category Title Description
ClientVision System – System State Information ClientThe Client is capable of monitoring the SystemState node if existing in the server including optional items.
ClientVision System – Diagnostic Events ClientThe 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.
ClientVision System – Information Events ClientThe Client is capable of monitoring VisionInformationEvents generated by the server, including all possibly existing data elements of the events.
ClientVision System – Error Conditions ClientThe 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.
ClientVision State Machine – State Machine MonitoringThe Client is capable of monitoring state and transitions of the mandatory VisionStateMachine.
ClientVision State Machine – State Machine Events MonitoringThe Client is capable of monitoring the events generated by the mandatory VisionStateMachine.
ClientVision State Machine – State Machine ControlThe Client is capable of controlling the mandatory VisionStateMachine by calling its methods.
ClientVision State Machine – StepModel MonitoringThe 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.
ClientVision State Machine – StepModel Events MonitoringThe Client is capable of monitoring events generated by an active StepModel state machine in the server.
ClientVision State Machine – StepModel ControlThe Client is capable of controlling any StepModel state machine existing in the server by calling its Sync method.
ClientVision Automatic Mode – Automatic Mode SelectionThe Client is capable of calling the SelectAutomaticMode method and monitor the success of entering the VisionAutomaticModeStateMachine.
ClientVision Automatic Mode – Safety Information ClientThe Client is capable of monitoring VisionSafetyEvents and the SafetyStateManagement node and is capable of reporting safety information by using the ReportSafetyState method.
ClientVision Automatic Mode – Easy Confirmation ClientThe Client can call the ConfirmAll method if implemented by the server.
ClientVision Automatic Mode – Simulation Mode ControlThe 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.
ClientVision Automatic Mode– Automatic Mode MonitoringThe Client is capable of monitoring state and transitions of the AutomaticModeStateMachine
ClientVision Automatic Mode – Automatic Mode Events MonitoringThe Client is capable of monitoring the events generated by the AutomaticModeStateMachine.
ClientVision Automatic Mode – Automatic Mode ControlThe Client is capable of controlling the AutomaticModeStateMachine by calling its methods.
ClientMeta Data Handling – Client Job IDThe 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.
ClientMeta Data Handling – Client Measurement IDThe 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.
ClientMeta Data Handling – Client Part IDThe 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.
ClientMeta Data Handling – Result IsSimulatedThe client is capable of monitoring if the isSimulated flag included within ResultReadyEvents.
ClientMeta 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.
ClientMeta Data Handling – Basic Client Recipe VersioningThe Client is capable of comparing version and hash information contained in externalRecipeId and internalRecipeId structures.
ClientMeta Data Handling – Full Client Recipe VersioningThe 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.
ClientMeta Data Handling – Client Product IDThe 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.
ClientMeta Data Handling – Basic Client Configuration VersioningThe 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.
ClientMeta Data Handling –Full Client Configuration VersioningThe Client is capable of comparing version information contained in externalConfigurationId and internalConfigurationId structures.
ClientMeta Data Handling – Client Processing TimesThe 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).
ClientMeta Data Handling – Client Processing Times ExtendedThe 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).
ClientResult Handling – Client Event Based Content BasicThe Client is capable of monitoring ResultReady events generated by the server and extracting all provided meta data from the event.
ClientResult Handling – Client Event Based Content ExtendedThe 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.
ClientResult Handling – Client Method Based Content BasicThe Client is capable of calling method GetResultListFiltered, GetResultById, GetResultComponentsById, ReleaseResultHandle. The client is further capable of processing the meta data for the returned results.
ClientResult Handling – Client Method Based Content ExtendedThe 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.
ClientResult Handling – Client Result FileThe 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.
ClientResult Handling – Client Result FolderThe client is capable of obtaining result meta data from the Results folder node, if implemented by the server.
ClientConfiguration Handling – Client Configuration MethodsThe client is capable of calling the methods of the ConfigurationManagementType node to manage configuration information on the server.
ClientConfiguration Handling – Client Configuration FileThe 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.
ClientConfiguration Handling – Client Configuration FolderThe client is capable of obtaining configuration meta data from the Configurations folder node if implemented by the server.
ClientRecipe Handling – Client Recipe MethodsThe client is capable of calling the methods of the RecipeManagementType node to manage recipe and product information on the server.
ClientRecipe Handling – Client Recipe FileThe 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.
ClientRecipe Handling – Client Recipe FolderThe client is capable of obtaining recipe meta data from the Recipes folder node if implemented by the server.
ClientRecipe Handling – Client Product FolderThe client is capable of obtaining product meta data from the Products folder node if implemented by the server.