The VerifyAsset Method allows a Client to verify whether an Asset’s identity and functionality meet the expectations of system engineering.
Three different modes are available for Asset verification (see VerificationMode). Each mode depends on a set of mandatory and optional Variables (see definition of AssetVerificationModeEnum in 10.4) to be present for verification. The VerifyAsset Method also accepts additional Variables for verification.
An Asset implementing the VerifyAsset Method shall at least support the VerificationMode AssetCompatibility and expose the corresponding mandatory and implemented optional Variables in its Information Model. If at least one of the optional Variables, SerialNumber and/or ProductInstanceUri, are provided, then the VerificationModes AssetIdentity and AssetIdentityAndCompatibility shall be supported.
The signature of this Method is specified below; the arguments are defined in Table 30.
Signature
VerifyAsset (
[in] 2:AssetVerificationModeEnumVerificationMode,
[in] 0:KeyValuePair[] ExpectedVerificationVariables,
[in] 2:NodeIdValuePair[] ExpectedAdditionalVerificationVariables,
[out] 2:AssetVerificationResultEnumVerificationResult,
[out] 0:StatusCode[] VerificationVariablesErrors,
[out] 0:StatusCode[] VerificationAdditionalVariablesErrors
);
Table 30 – VerifyAsset Method arguments
Argument |
Description |
VerificationMode |
Mode for Asset verification: see 10.4 for a definition of the AssetVerificationModeEnum. |
ExpectedVerificationVariables |
An array of KeyValuePair containing verification Variables. Key shall be the BrowseName of the Variable to verify (relative to the Asset this Method is being called on), and Value is its expected value. A Client shall pass all mandatory and implemented optional Variables depending on VerificationMode: IVendorNameplateType ManufacturerUri (M), IVendorNameplateType ProductCode (M), IAssetRevisionType MajorAssetVersion (M), IAssetRevisionType MinorAssetVersion (M), IAssetRevisionType BuildAssetNumber (O), IAssetRevisionType SubBuildAssetNumber (O), IVendorNameplateType HardwareRevision (O), IVendorNameplateType SoftwareRevision (O) IVendorNameplateType ManufacturerUri (M), IVendorNameplateType ProductCode (M), At least one of: IVendorNameplateType SerialNumber, IVendorNameplateType ProductInstanceUri AssetIdentityAndCompatibility: All mandatory Variables of both AssetCompatibility and AssetIdentity are mandatory for top-level Assets (those directly in the Assets Folder in the AutomationComponent). All optional Variables of AssetCompatibility are optional. |
ExpectedAdditionalVerificationVariables |
An array of NodeIdValuePair containing additional verification Variables. NodeId shall be the NodeId of the Variable to verify, and Value shall be its expected value. This array may be null or empty if no additional Variables are to be verified. The following rules shall apply to the usage of NodeIdValuePair:
If Value is null, it shall be verified that NodeId exists. The Node may be a of any NodeClass, but only the NodeClass of Variable or VariableType can have a non-null value. |
VerificationResult |
The result of Asset verification is determined by the Method implementation; see 10.7 for a definition of the AssetVerificationResultEnum. The following general rule applies to determine VerificationResult:
The following specific rules apply to determine AssetCompatibility:
If this value is set, VerificationVariablesErrors and/or VerificationAdditionalVariablesErrors shall be populated. The following specific rules apply to determine AssetIdentity:
The following specific rules apply to determine AssetIdentityAndCompatibility:
Mismatch: Shall be returned if verification of AssetCompatibility or AssetIdentity or both result in Mismatch. |
VerificationVariablesErrors |
An array of StatusCode corresponding to the ExpectedVerificationVariables input argument that indicates any errors that occurred during the processing of ExpectedVerificationVariables. If this array is populated, the length of this array shall match the length of ExpectedVerificationVariables. For possible values in this array, see Table 32. |
VerificationAdditionalVariablesErrors |
An array of StatusCode corresponding to the ExpectedAdditionalVerificationVariables input argument that indicates any errors that occurred during the processing of ExpectedAdditionalVerificationVariables. If this array is populated, the length of this array shall match the length of ExpectedAdditionalVerificationVariables. For possible values in this array, see Table 33. |
The possible Method result codes are formally defined in Table 31.
Table 31 – VerifyAsset Method result codes
Result Code |
Description |
Bad_InvalidArgument |
One or more arguments are invalid, or ExpectedVerificationVariables is missing Variables that are mandatory for the chosen VerificationMode (or optional, and the implementation of this Method expects them because they are implemented). |
Bad_NotSupported |
The Client specified a VerificationMode that is not supported by this Method implementation. |
Uncertain |
At least one element in ExpectedVerificationVariables and/or ExpectedAdditionalVerificationVariables is invalid or failed verification. VerificationVariablesErrors and/or VerificationAdditionalVariablesErrors will contain additional information. |
The VerificationVariablesErrors StatusCodes are formally defined in Table 32.
Table 32 – VerificationVariablesErrors StatusCodes
Result Code |
Description |
Bad_BrowseNameInvalid |
The BrowseName for the verification Variable is invalid or was passed more than once. |
Bad_TypeMismatch |
The value supplied for the verification Variable (if non-null) is not of the same type as the implemented verification Variable. |
Bad_OutOfRange |
The value supplied for the Variable is not equal to the actual value of the Variable (if non-null). |
Good |
The verification for this Variable succeeded. |
The VerificationAdditionalVariablesErrors StatusCodes are formally defined in Table 33.
Table 33 – VerificationAdditionalVariablesErrors StatusCodes
Result Code |
Description |
Bad_OutOfRange |
The value supplied for the Variable is not equal to the actual value of the Variable (if non-null). |
Good |
The verification for this Variable succeeded. |
The VerifyAsset Method representation in the AddressSpace is formally defined in Table 34.
Table 34 – VerifyAsset Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
3:VerifyAsset |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
M |
0:HasProperty |
Variable |
0:OutputArguments |
0:Argument[] |
0:PropertyType |
M |
ConformanceUnits |
|||||
UAFX IAssetRevision VerifyAsset Base |