ResultManagementType TOC Previous Next Specification

The ResultManagementType provides mechanism to access results generated by the underlying system. Results can be managed in a local result store of the Server. Methods and Objects with Variables as well as Events and external file stores can be used to provide the results to the Client.

The representation of the ResultManagementType ObjectType in the address space is shown in the following table:

Name Attribute
NodeId ns=1;i=1017
NamespaceUri http://opcfoundation.org/UA/IJT/
BrowseName ResultManagementType
NodeClass ObjectType
IsAbstract False
SubtypeOf BaseObjectType

The references from the ResultManagementType ObjectType Node are shown in the following table:

Reference NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable DefaultInstanceBrowseName QualifiedName PropertyType  
HasComponent Method GetLatestResult     Optional
HasComponent Method GetResultById     Optional
HasComponent Method GetResultListFiltered     Optional
HasComponent Method ReleaseResultHandle     Optional
GeneratesEvent ObjectType ResultReadyEventType      
HasComponent Object Results   FolderType Optional

GetLatestResult

Signature

    GetLatestResult(
        [in]  Int32 ResourceTimeout
        [out] UInt32 ResultHandle
        [out] ResultDataType Result
        [out] Int32 Error
    );

|Argument|Description| |—|—| |ResourceTimeout|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.

Note: If the error != 0, the server is allowed to return NULL values for Result and 0 for ResultHandle but server might still return some data which is application specific.

GetResultById

Signature

    GetResultById(
        [in]  Guid ResultId
        [in]  Int32 ResourceTimeout
        [out] UInt32 ResultHandle
        [out] ResultDataType Result
        [out] Int32 Error
    );

|Argument|Description| |—|—| |ResultId|System-wide unique identifier for the result.| |ResourceTimeout|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.

Note: If the error != 0, the server is allowed to return NULL values for Result and 0 for ResultHandle but server might still return some data which is application specific.

GetResultListFiltered

Signature

    GetResultListFiltered(
        [in]  UtcTime FromTime
        [in]  UtcTime ToTime
        [in]  ResultEvaluation ResultEvaluation
        [in]  Int32 SequenceNumbers
        [in]  UInt32 MaxResults
        [in]  UInt32 StartIndex
        [in]  Guid ReporterAssetId
        [in]  Guid GeneratorAssetId
        [in]  Boolean IncludeStepResults
        [in]  Boolean IncludeErrors
        [in]  Boolean IncludeTraces
        [in]  Int32 ResourceTimeout
        [out] Boolean IsComplete
        [out] UInt32 ResultCount
        [out] UInt32 TotalAvailableResults
        [out] UInt32 ResultHandle
        [out] ResultDataType ResultList
        [out] Int32 Error
    );

|Argument|Description| |—|—| |FromTime|If not null, results from the given FromTime are returned in the ResultList. Any set of results whose StartTime is greater or equal to FromTime will be returned in the ResultList.| |ToTime|If not null, results till the given toTime are returned in the ResultList. Any set of results whose EndTime is less than or equal to ToTime will be returned in the ResultList.| |ResultEvaluation|Input to return results based on OK or NOT_OK count. The results based on the evaluation are returned in the ResultList.| |SequenceNumbers|If not an empty array, the list of sequence numbers requested from the client.| |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.| |ReporterAssetId|If not null, System wide unique identifier of the asset which reports the results.| |GeneratorAssetId|If not null, System wide unique identifier of the asset which generates the results.| |IncludeStepResults|A Boolean flag to notify the application to include list of step results in the ResultList. By default, it is set to false.| |IncludeErrors|A Boolean flag to notify the application to include list of errors in the ResultList. By default, it is set to false.| |IncludeTraces|A Boolean flag to notify the application to include list of traces in the ResultList. By default, it is set to false.| |ResourceTimeout|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|Provides the number of results returned in ResultList in the specific method call.| |TotalAvailableResults|This is the total number of results available based on the filtering criteria. This value will be same till the IsComplete is set to true if it is based on filter criteria. If filter criteria is not provided, then it is the total number of results available in the server.| |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.| |ResultList|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.| |Error|0 – OK Values > 0 are reserved for errors defined by this and future standards. Values < 0 shall be used for application-specific errors. Note: If the error != 0, the server is allowed to return NULL values for ResultList and 0 for ResultHandle but server might still return some data which is application specific.|

ReleaseResultHandle

Signature

    ReleaseResultHandle(
        [in]  UInt32 ResultHandle
        [out] Int32 Error
    );

|Argument|Description| |—|—| |ResultHandle|Handle returned by GetResultById or GetResultListFiltered or GetLatestResult, 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.|