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. |