Citect Scada 2018 SA - Time Stamped Alarms Not showing correct time in Page

Hi,

Alarms setup as "Time Stamped Alarm" using Miilisecond Counter from the Controller. 

In the controller I have

Hr = 11

Min = 8

Sec = 39

Millisec = 619

Adding these together the time value sent as Integer to Citect Scada 2018 SA is 40119619 -this value I can display in Citect screen through a numeric value. 

The time stamp in the alarm page is 03:04:33

My Paramter config is set like:

FORMAT ->ALARM: {PriorityAndState,25}{OnDate,80}{OnTime,90}{Name,250}{State,40}{Equipment,220}{Item,160}{Category,60}

I see from help file that {OnMilli,n} might be used but dont know how to add it as the time format comes up like hh:mm:ss.mmm

When I add {OnMilli,n}  it comes as a new column in the alarm page. 

BIG Question! How to get correct time stamp in the alarm page? 

Thanks for any input,

Rune

  • You could replace {OnDate,80}{OnTime,90} in your format with {LocaltimeDate,170}
    To prevent this time-stamp from changing when acknowledging or resetting the alarm, you can add the following parameters to your project (or Citect.ini):
    [Alarm]SetTimeOnAck=0
    [Alarm]SetTimeOnOff=0
    Be aware that setting these parameters can affect alarm logging (summary and/or SOE) and alarm event queue handling also.

    It would be nice if AVEVA could implement {OnTimeDate}, {AckTimeDdate} and {OffTimeDate} fields as well! (Hint to developers...)

    Regards,

    Patrick
  • Thanks Patrick,

    Do you know how Citect convert an LONG Integer value to Time Stamp used in the Alarm Page?
    I use the 'Time Stamped Alarm' and have an variable tag (LONG Integer ) that represent the alarm time from the controller. This variable is set in the field ' Time Expr'.

    I have my suspicion that the integer value has to be set according to the format given for the LONGBCB timer.... but I dont have any confirmation yet on this.

    Rune
  • In the Timer Expr field you can use different types of numbers or even a cicode expression for your timer. Citect converts this timestamp to an internal time format and stores it in the Alarm Database as a property of the alarm (the "OnTime").
    For the different possibilities of this number, please search the Help of Citect for the topics "Add a Time Stamped Alarm" and parameter "[Alarm]HresType".
  • Thanks Again,
    Got it working with showng correct time down to millisec, using ALARM Hres is set to 7.
    However there are some funny stuff going on if I restart the Citect Runtime with active alarms in the alarm list. When Runtime is restarted the alarm list only show one alarm even if there are several active in the system.
    And if I create a new alarm this new alarm will replace the alarm present on the alarm list. The acknowledge for the new triggered alarm is not active as well, even though the .ack status is 0.
    The only way to get things back to normal is to stop RunTime once more and then compile the project and then start RunTime.

    This does not happen if I configure my alarms as Digital Alarms, only Time Stamped Alarms. (Not tried Time Stamped Digital Alarms).

    Any suggestions?
    It seems like there is an alarm buffer/databasse/cache or other that is not cleared when you Stop and Start the Runtime.
  • Actually this issue happens each time you restart the RunTime independent if there are any alarms active in the alarm page.
    Clearly the system must handle a RunTime ReStart without the need for a new compile?
  • Have you tried deleting the Alarm Database (while Citect RunTime is not running)?
    If you reconfigure alarms that have already triggered previously, then your changes will not reflect on those alarms.
    Deleting the database will correct this, but you will lose your alarm history.

    This default behaviour can be changed by setting [Alarm]UseConfigLimits=1, but please consult the Help on this parameter as it can have side effects.
  • Thanks a lot Patrick!
    Deleting the alarm database did the trick.