Applies To:
  • CitectSCADA 3.40, 4.20, 5.01

Summary:
The usage of AlarmSumGet() Cicode function may cause summary entries to not be updated. The problem will occur when you are using AlarmSumGet() while traversing the alarm summary list in reverse using AlarmSumLast() then repeatedly calling AlarmSumPrev() AND there are multiple summary entries for an alarm. The problem is that once you have called AlarmSumGet() in this way the current summary entry will not change when the alarm goes off or is acknowledged.

Solution:
The reason why this happens is that internal linkages of summary entries and alarms are incorrectly misaligned. A simple work-around for this problem is to force Citect to correct the internal linkages. This can be done by calling AlarmSumLast() AND AlarmSumGet() at the end of the code which is calling AlarmSumGet()

So if you had code such as

nIndex = AlarmSumLast();
WHILE nIndex <> -1
   AlarmSumGet(nIndex, "Tag");
   AlarmSumGet........
   ...
   nIndex = AlarmSumPrev(nIndex);
END;

then add the following two lines as shown below

nIndex = AlarmSumLast();
WHILE nIndex <> -1
   sTag = AlarmSumGet(nIndex, "Tag");
   ...
   nIndex = AlarmSumPrev(nIndex);
END;
--> nIndex = AlarmSumLast();
--> sDummy = AlarmSumGet(nIndex, "Tag");

CIT has confirmed this to be a problem in Citect for Windows versions 5.01. This problem has been fixed in versions 3.40/4.20 Service Pack K and 5.01 Service Pack A. 


Keywords:
 

Attachments