The Verify Method allows a Client to verify whether a FunctionalEntity meets the expectation of system engineering (e.g., whether it is of the expected author, but also if it implements any optional Variables required by a Client application). It also supports verifying any Variables defined by the application. The Verify Method should process all provided NodeIdValuePairs, but it is also acceptable to stop processing on the first NodeIdValuePair that results in a Mismatch or NotSet.
The signature of this Method is specified below; the arguments are defined in Table 43.
Signature
Verify (
[in] 2:NodeIdValuePair[] ExpectedVerificationVariables,
[out] 2:FunctionalEntityVerificationResultEnumVerificationResult,
[out] 0:StatusCode[] VerificationVariablesErrors
);
Table 43 – Verify Method arguments
Argument |
Description |
ExpectedVerificationVariables |
An array of NodeIdValuePair containing verification variables. NodeId shall be the NodeId of the node to verify, and for variables, the Value is its expected value. The following rules shall apply to the usage of NodeIdValuePair:
A Client may pass in any NodeId with a null Value to verify if the Node exists in the Server. The Node may be of any NodeClass, but only the NodeClass of Variable or VariableType can have a non-null value. |
VerificationResult |
The result of the verification; see 10.22 for a definition of the FunctionalEntityVerificationResultEnum. The following general rules apply to determine VerificationResult:
The following specific rules shall apply to determine VerificationResult:
|
VerificationVariablesErrors |
An array of StatusCode corresponding to the ExpectedVerificationVariables input argument that indicates any errors (if VerificationResult equals NotSet) or detailed verification results (if VerificationResult equals Mismatch). If this array is populated, the length of this array shall match the length of ExpectedVerificationVariables. For possible values in this array, see Table 45. |
The Method result codes are formally defined in Table 44.
Table 44 – Verify Method result codes
Result Code |
Description |
Bad_InvalidArgument |
ExpectedVerificationVariables is empty. |
Uncertain |
There was at least one error or warning for one of the Variables to be verified. VerificationVariablesErrors will contain additional information. |
The VerificationVariablesErrors StatusCodes are formally defined in Table 45.
Table 45 – VerificationVariablesErrors StatusCodes
Result Code |
Description |
Bad_TypeMismatch |
The value supplied for the verification variable (if non-null) is not of the same type as the implemented verification variable. |
Bad_NodeIdInvalid |
The NodeIdValuePair contains a NodeId with an invalid syntax in its key field. |
Bad_NodeIdUnknown |
The NodeIdValuePair contains a NodeId in its key field that does not exist in the Server. |
Bad_OutOfRange |
The value supplied for the verification variable is not equal to the actual value of the Variable (if non-null). This includes if an array index is provided and the supplied value is not a scalar, or if an index was provided that is out of bounds of the array. This also includes if the node type is not a Variable or VariableType and a value is provided. In all cases, the value does not match. |
Bad_NothingToDo |
The operation was skipped. Verification of this Variable was skipped because verification of preceding Variables already resulted in VerificationResult being set to Mismatch or NotSet. |
Good |
The verification for this Variable succeeded. |
The Verify Method representation in the AddressSpace is formally defined in Table 46.
Table 46 – Verify Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
3:Verify |
||||
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 IFunctionalEntity Verify |