7 ObjectTypes for the Vision System in General ToC Previous Next

7.10 ResultManagementType ToC Previous Next

7.10.2 ResultManagementType methods ToC Previous Next

7.10.2.1 GetResultById ToC

This method is used to retrieve a result from the vision system. Depending on the design of the vision system, the client may be informed by events of ResultReadyEventType that a new result is available. Then, the client might fetch this result using the information provided by events of ResultReadyEventType which is defined in Section 8.3.8.4.

Since the resultId is supposed to be system-wide unique, this method shall return only a single result. Since there may be additional result content to be retrieved by temporary file transfer, the server should keep result data available, resources permitting, until the client releases the handle ReleaseResult. However, the client cannot rely on the data to remain available until then.

Signature

GetResultById ([in]	ResultIdDataType	resultId[in]	Int32	timeout[out]	Handle	resultHandle[out]	ResultDataType	result[out]	Int32	error);

Table 66 – GetResultById Method Arguments

Argument Description
resultId System-wide unique identifier for the result.
timeout With this argument the client can give a hint to the server how long it will need access to the result data.
A value > 0 indicates an estimated maximum time for processing the data in milliseconds.
A value = 0 indicates that the client will not need anything besides the data returned by the method call.
A value < 0 indicates that the client cannot give an estimate.
The client cannot rely on the data being available during the indicated time period. The argument is merely a hint allowing the server to optimize its resource management.
resultHandle The server shall return to each client requesting result data a system-wide unique handle identifying the result set / client combination. This handle should be used by the client to indicate to the server that the result data is no longer needed, allowing the server to optimize its resource handling .
result The result including metadata.
error 0 – OK
Values > 0 are reserved for errors defined by this and future standards.
Values < 0 shall be used for application-specific errors.

Table 67 – GetResultById Method AddressSpace Definition

Attribute Value
BrowseName GetResultById
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable InputArguments Argument[] PropertyType Mandatory
HasProperty Variable OutputArguments Argument[] PropertyType Mandatory

7.10.2.2 GetResultComponentsById ToC

This method is used to retrieve a result from the vision system. It is basically identical to the GetResultById method described in Section 7.10.2.1, but it returns the result not in a single output argument of ResultDataType but in individual output arguments corresponding to the elements of the ResultDataType structure.

The reason for providing this method is to facilitate the use of subtypes to the structures nested inside of ResultDataType. Since the NodeIds of structured DataTypes nested within a structured DataType are not transferred together with the DataType, subtyping these nested structures would then also necessitate subtyping ResultDataType. This is of course possible, but in the absence of such a subtype, the individual components can still be requested by this method.

Signature

GetResultComponentsById ([in]	ResultIdDataType	resultId[in]	Int32	timeout[out]	Boolean	hasTransferableDataOnFile[out]	Handle	resultHandle[out]	Boolean	isPartial[out]	Boolean	isSimulated[out]	ResultStateDataType	resultState[out]	MeasIdDataType	measId[out]	PartIdDataType	partId[out]	RecipeIdExternalDataType	externalRecipeId[out]	RecipeIdInternalDataType	internalRecipeId[out]	ProductIdDataType	productId[out]	ConfigurationIdDataType	externalConfigurationId[out]	ConfigurationIdDataType	internalConfigurationId[out]	JobIdDataType	jobId[out]	UtcTime	creationTime[out]	ProcessingTimesDataType	processingTimes[out]	BaseDataType[]	resultContent[out]	Int32	error);

Table 68 – GetResultComponentsById Method Arguments

Argument Description
resultId System-wide unique identifier for the result
timeout With this argument the client can give a hint to the server how long it will need access to the result data.
A value > 0 indicates an estimated maximum time for processing the data in milliseconds.
A value = 0 indicates that the client will not need anything besides the data returned by the method call.
A value < 0 indicates that the client cannot give an estimate.
The client cannot rely on the data being available during the indicated time period. The argument is merely a hint allowing the server to optimize its resource management.
hasTransferableDataOnFile Indicates that TemporaryFileTransfer needs to be used to retrieve all data of the result content.
resultHandle The server shall return to each client requesting result data a system-wide unique handle identifying the result set / client combination. This handle should be used by the client to indicate to the server that the result data is no longer needed, allowing the server to optimize its resource handling.
isPartial Indicates whether the result is the partial result of a total result.
isSimulated Indicates whether the system was in simulation mode when the job generating this result was created.
resultState ResultState provides information about the current state of a result and the ResultStateDataType is defined in Section 12.19.
measId This identifier is given by the client when starting a single or continuous execution and transmitted to the vision system. It is used to identify the respective result data generated for this job. Although the system-wide unique JobId would be sufficient to identify the job which the result belongs to, this makes for easier filtering on the part of the client without keeping track of JobIds.
partId A PartId is given by the client when starting the job; although the system-wide unique JobId would be sufficient to identify the job which the result belongs to, this makes for easier filtering on the part of the client without keeping track of JobIds.
externalRecipeId External identifier of the recipe in use which produced the result. This is only managed by the environment.
internalRecipeId Internal identifier of the recipe in use which produced the result. This identifier is system-wide unique and it is assigned by the vision system.
productId Identifier of the product in use which produced the result. This is only managed by the environment.
externalConfigurationId External identifier of the configuration in use while the result was produced.
InternalConfigurationId Internal identifier of the configuration in use while the result was produced. This identifier is system-wide unique and it is assigned by the vision system.
jobId The identifier of the job, created by the transition from state Ready to state SingleExecution or to state ContinuousExecution which produced the result.
creationTime CreationTime indicates the time when the result was created.
processingTimes Collection of different processing times that were needed to create the result.
resultContent Abstract data type to be subtyped from to hold the actual result content created by the job.
error 0 – OK
Values > 0 are reserved for errors defined by this and future standards.
Values < 0 shall be used for application-specific errors.

Table 69 – GetResultComponentsById Method AddressSpace Definition

Attribute Value
BrowseName GetResultById
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable InputArguments Argument[] PropertyType Mandatory
HasProperty Variable OutputArguments Argument[] PropertyType Mandatory

7.10.2.3 GetResultListFiltered ToC

This method is used to get a list of results matching certain filter criteria.

Signature

GetResultListFiltered ([in]	ResultStateDataType	resultState[in]	MeasIdDataType	measId[in]	PartIdDataType	partId[in]	RecipeIdExternalDataType	externalRecipeId[in]	RecipeIdInternalDataType	internalRecipeId[in]	ConfigurationIdDataType	externalConfigurationId[in]	ConfigurationIdDataType	internalConfigurationId[in]	ProductIdDataType	productId[in]	JobIdDataType	jobId[in]	UInt32	maxResults[in]	UInt32	startIndex[in]	Int32	timeout[out]	Boolean	isComplete[out]	UInt32	resultCount[out]	Handle	resultHandle[out]	ResultDataType[]	resultList[out]	Int32	error);

Table 70 – GetResultListFiltered Method Arguments

Argument Description
resultState If not 0, only results having the specified state are returned.
measId If not empty, only results corresponding to the given measId are returned
partId If not empty, only results corresponding to the given partId are returned.
externalRecipeId If not empty, only results corresponding to the given externalRecipeId are returned.
internalRecipeId If not empty, only results corresponding to the given internalRecipeId are returned.
externalConfigurationId If not empty, only results corresponding to the given externalConfigurationId are returned.
internalConfigurationId If not empty, only results corresponding to the given internalConfigurationId are returned.
productId If not empty, only results corresponding to the given productId are returned.
jobId If not empty, only results corresponding to the given jobId are returned.
maxResults Maximum number of results to return in one call; by passing 0, the client indicates that it does not put a limit on the number of results.
startIndex Shall be 0 on the first call, multiples of maxResults on subsequent calls to retrieve portions of the entire list, if necessary.
timeout With this argument the client can give a hint to the server how long it will need access to the result data.
A value > 0 indicates an estimated maximum time for processing the data in milliseconds.
A value = 0 indicates that the client will not need anything besides the data returned by the method call.
A value < 0 indicates that the client cannot give an estimate.
The client cannot rely on the data being available during the indicated time period. The argument is merely a hint allowing the server to optimize its resource management.
isComplete Indicates whether there are more results in the entire list than retrieved according to startIndex and resultCount.
resultCount Gives the number of valid results in ResultList.
resultHandle The server shall return to each client requesting result data a system-wide unique handle identifying the result set / client combination. This handle has to be used by the client to release the result set.
resultList List of results matching the Filter.
error 0 – OK
Values > 0 are reserved for errors defined by this and future standards.
Values < 0 shall be used for application-specific errors.

Table 71 – GetResultListFiltered Method AddressSpace Definition

Attribute Value
BrowseName GetResultListFiltered
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable InputArguments Argument[] PropertyType Mandatory
HasProperty Variable OutputArguments Argument[] PropertyType Mandatory

There are the following cases with the respect to the number of results:

  • The number of results to be returned according to the filter is less or equal to MaxResults; the first call, with startIndex=0, returns isComplete=TRUE, so the client knows that no further calls are necessary. resultCount gives the number of valid elements in the resultList array.
  • The number of results to be returned is larger than maxResults; the first N calls (N > 0 with N ≤ (number of results) divisor MaxResults), with startIndex=(N-1)* maxResults, return isComplete=FALSE, so the client knows that further calls are necessary. The following call returns isComplete=TRUE, so the client knows, no further calls are necessary. resultCount gives the number of valid elements in the resultList array (on each call, so on the first N calls, this should be maxResults).

7.10.2.4 ReleaseResultHandle ToC

This method is used to inform the server that the client has finished processing a given result set allowing the server to free resources managing this result set.

The server should keep the data of the result set available for the client until the ReleaseResultHandle method is called or until a timeout given by the client has expired. However, the server is free to release the data at any time, depending on its internal resource management, so the client cannot rely on the data being available. ReleaseResultHandle is merely a hint allowing the server to optimize its internal resource management. For timeout usage see the description in Section 7.10.2.1.

Signature

ReleaseResultHandle ([in]	Handle	resultHandle[out]	Int32	error);

Table 72 – ReleaseResultHandle Method Arguments

Argument Description
resultHandle Handle returned by GetResultById or GetResultList, identifying the result set/client combination.
Error 0 – OK
Values > 0 are reserved for errors defined by this and future standards.
Values < 0 shall be used for application-specific errors.

Table 73 – ReleaseResultHandle Method AddressSpace Definition

Attribute Value
BrowseName ReleaseResultHandle
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable InputArguments Argument[] PropertyType Mandatory
HasProperty Variable OutputArguments Argument[] PropertyType Mandatory

Previous Next