A & C Exclusive Deviation

Supports Exclusive Deviation Alarm type.


Questions? Contact us
Generated: 21/11/2021 at 17:21:20 p.m.
A & C Exclusive Deviation - 5 Test Cases
Test Case Id Test Type Keywords Test Case Description Test Requirements Expected Result

000

CTT Unavailable  Browse()  Read()  Walk through the address space checking the type definition of ExclusiveDeviationAlarmType.
Step #
Action
Expected Result(s)

1

The type definition matches the UA Specifications (Part 9, Tables 48, 43, 40, 30, 23, and 7)

2

Walk through the address space looking for Instances of ExclusiveDeviationAlarmType types and verify they comply to the type definition. Note: CTT Settings to specify where these instances are.

Instances are typed correctly.

3

Check the instances of ExclusiveDeviationAlarmType that contains the property "SetpointNode".

Value contains a NodeId that exists, or containts NULL. See Part 9, Paragraph below Table 48.

001

CTT Unavailable  Call()  Prepare a list of ALL fields (including inherited) that can be filtered (in a SELECT clause). In a loop, add the ""next"" field to a SELECT clause in a MonitoredItem.Filter. This should include the SetPointNode property.
Note: A single WHERE clause to receive this type of Alarm only.
The fields list array (to be tested) should start with the EventId. Note: the loop should jump 3 or 4 at a time (not 1 at a time).
Step #
Action
Expected Result(s)

1

Server accepts the subscription/monitoring request.

2

Invoke the event by writing to the trigger node and then call Publish.

The event is received in the Publish response and contains the list of fields requested only.

3

Repeat the loop by adding the "next" field until the last iteration where all fields are selected.

002

CTT Unavailable  Call()  Trigger an occurrence of this event by writing a value where the difference of the ProcessValue and SetPointValue exceeds the DeviationValue; exceed the HighLimit value. Obtain the value of the SetPointNode property to get the deviation allowed.
Step #
Action
Expected Result(s)

1

The event is received in the Publish response.

2

Acknowledge and RTN.

Event notifications are received indicating the changed state.

3

Repeat step #1 now using the HighHighLimit.

The event is received in the Publish response.

4

Acknowledge and RTN.

Event notifications are received indicating the changed state.

5

Repeat step #1 now using the LowLimit.

The event is received in the Publish response.

6

Acknowledge and RTN.

Event notifications are received indicating the changed state.

7

Repeat step #1 now using the LowLowLimit.

The event is received in the Publish response.

8

Acknowledge and RTN.

Event notifications are received indicating the changed state.

003

CTT Unavailable  Call()  Trigger an occurrence of this event by writing a value where the difference of the ProcessValue and SetPointValue exceeds the DeviationValue; exceed a limit value, e.g. HighLimit. Check the availability of Limit properties (hi, hihi etc.) as they are optional, but one is required. Two are required for this test. Obtain the value of the SetPointNode property to get the deviation allowed.
Step #
Action
Expected Result(s)

1

The event is received in the Publish response.

2

Acknowledge the event, and Confirm, if supported.

3

Repeat step #1 now using another limit, e.g. HighHighLimit.

The event is received in the Publish response.

4

Invoke a ConditionRefresh.

Only one alarm is received and its in the HighHigh state (whatever the last transition was).

004

CTT Unavailable  Call()  Trigger an occurrence of this event by writing a value where the difference of the ProcessValue and SetPointValue exceeds the DeviationValue; exceed the a value, e.g. LowLimit . Check the availability of Limit properties (hi, hihi etc.) as they are optional, but one is required. Two are required for this test. Obtain the value of the SetPointNode property to get the deviation allowed.
Step #
Action
Expected Result(s)

1

The event is received in the Publish response.

2

Acknowledge the event, and Confirm, if supported.

3

Repeat step #1 now using another limit, e.g. LowLowLimit.

The event is received in the Publish response.

4

Invoke a ConditionRefresh.

Only one alarm is received and its in the HighHigh state (whatever the last transition was).