6.4.3 Verify method
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:FunctionalEntityVerificationResultEnum VerificationResult,
[out] 0:StatusCode[] VerificationVariablesErrors
);| 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: If NodeId refers to variables of type array, it shall be verified that Value is a matching array unless ArrayIndex is provided. If the ArrayIndex is provided, then a non-array Value is provided and shall be checked against the corresponding index. If Value is null, it shall be verified that NodeId exists. If the NodeId references a FunctionalEntity ApplicationIdentifier, then its Name sub-element shall always be ignored; only its UniqueIdentifier shall be used. 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: All string-type variables shall be stripped of leading and trailing whitespaces before processing. The following specific rules shall apply to determine VerificationResult: NotSet: Shall be returned if verification is not possible due to invalid elements in ExpectedVerificationVariables. An element is invalid if a non-null Value in NodeIdValuePair is not of the same type as the implemented verification variable. If this value is set, VerificationVariablesErrors shall be populated. Match: Shall be returned if all variables in ExpectedVerificationVariables exist in the Server and their actual values are identical to the expected values (where Value in NodeIdValuePair is not null). Mismatch: Shall be returned if one or more variables in ExpectedVerificationVariables either do not exist in the Server or do not have the expected value (where Value in NodeIdValuePair is not null). If this value is set, VerificationVariablesErrors shall be populated. |
| 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.
| 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.
| 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.
| 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 |