Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

Support for Version 7​.20

  • Last UpdatedAug 04, 2025
  • 2 minute read

Active Alarm page can be used to display time stamped event data received from the event source. However, to display the time quality of a time stamped event on the Active Alarm page, a separate variable tag needs to be configured in addition to the time stamped digital variable tag. This new variable tag should be created with the address <item_ID>!Q and it represents the overall quality of the original digital variable tag, where:

<item_ID> refers to the original digital variable tag address.

The value of this tag will include time quality information: the low 8 bits represent the Quality, Substatus and Limit status according to the OPC specification; the high 8 bits represent time quality. Details of the time quality values can be found in the section on Time Quality.

In addition, a custom Cicode function will need to be written to return a string representation of time quality. To display time quality in the runtime environment this Cicode function can be placed in the "Alarm Desc" field when configuring the time stamped digital alarm in configuration time. This time quality will be displayed at runtime under the "Desc" column on the Active Alarm page.

The Cicode function should utilize the high 8 bits and translate this to a string representing the description of the time quality.

For example:

STRING

FUNCTION GetTimeQuality(INT iQuality)

INT iHighByte = HighByte(iQuality);

SELECT CASE iHighByte

CASE 2 TO 24

RETURN "Time Accuracy ("+IntToStr(iHighByte)+")";

CASE 27

RETURN "Clock In Sync ("+IntToStr(iHighByte)+")";

CASE 28

RETURN "TSInit ("+IntToStr(iHighByte)+")";

CASE 29

RETURN "IO Channel Error ("+IntToStr(iHighByte)+")";

CASE 30

RETURN "Invalid ("+IntToStr(iHighByte)+")";

CASE 31

RETURN "Unspecified ("+IntToStr(iHighByte)+")";

CASE 32 TO 63

RETURN "Clock Not Synchronized ("+IntToStr(iHighByte)+")";

CASE 64 TO 127

RETURN "Clock Failure ("+IntToStr(iHighByte)+")";

CASE 128 TO 255

RETURN "Leaps Seconds Known ("+IntToStr(iHighByte)+")";

CASE ELSE

RETURN "Unknown ("+IntToStr(iHighByte)+")";

END SELECT

END

For the alarm configuration, enter the following in the alarm's "Desc" field:

GetTimeQuality(Tag1_TSQuality),

where:

Tag1_TSQuality is the associated time quality tag.

Related Links
TitleResults for “How to create a CRG?”Also Available in