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 signature of this Method is specified below; the arguments are defined in Table 41.

Signature

Verify (

[in] 2:NodeIdValuePair[] ExpectedVerificationVariables,

[out] 2:FunctionalEntityVerificationResultEnumVerificationResult,

[out] 0:StatusCode[] VerificationVariablesErrors

);

Table 41 – Verify Method arguments

Argument

Description

ExpectedVerificationVariables

An array of NodeIdValuePair containing verification variables. NodeId shall be the NodeId of the variable to verify and Value 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.20 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:

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 43.

The Method result codes are formally defined in Table 42.

Table 42 – 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 43.

Table 43 – 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 address space.

Bad_OutOfRange

The value supplied for the Variable is not equal to the actual value of the Variable (if non-null).

Bad_NothingToDo

The operation was skipped.

Verification of this variable was skipped because verification of preceding variables already resulted in VerificationResult to be set to Mismatch.

Good

The verification for this Variable succeeded.

The Verify Method representation in the AddressSpace is formally defined in Table 44.

Table 44 – 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