Issue
In BAS or Sigma, users may attempt to totalise multiple alarm points using the + add function in programmable points, such as:
10 XFlo = POINT 0|14 ALARM + POINT 0|15 ALARM + POINT 0|16 ALARM
20 YFlo = POINT 0|17 ALARM + POINT 0|18 ALARM + POINT 0|19 ALARM
30 RETURN VIA TEXT 91 VALUE XFlo + YFlo
While this compiles in the programmable point editor, it does not function correctly in the BAS or Sigma controller.
Product Line
Satchwell BAS & SigmaEnvironment
Satchwell BAS & Sigma
Cause
The Sigma controller does not support direct arithmetic operations on alarm points using the + operator. This limitation leads to compilation success but runtime failure.
Resolution
To correctly totalise alarms, rewrite the programmable point using conditional logic. Here's a working example:
10 XFLO = 0.0
20 IF POINT 0|14 ALARM THEN XFLO = XFLO + 1.0
30 IF POINT 0|15 ALARM THEN XFLO = XFLO + 1.0
40 IF POINT 0|16 ALARM THEN XFLO = XFLO + 1.0
50 IF POINT 0|17 ALARM THEN XFLO = XFLO + 1.0
60 IF POINT 0|18 ALARM THEN XFLO = XFLO + 1.0
70 IF POINT 0|19 ALARM THEN XFLO = XFLO + 1.0
80 RETURN VIA TEXT 91 VALUE XFLO
10 XFLO = (POINT 0|a + POINT 0|b + ...)
20 RETURN VIA TEXT 91 VALUE XFLO