Totalflow Alarm Processing

Totalflow devices do not have a separate alarm archive; instead, alarm information is included with each log period record in the Totalflow device’s archive. Alarms that occur during the log period time (typically one hour) are “set” in the archive record. At the end of the hour, the log period record has alarm data that represents all the alarms that occurred during the period.

ACM keeps alarm information in memory for each meter. As it processes each log period record, the alarm data is compared with the previous log period. ACM will publish an alarm record for each type of alarm if its state changes between two log period records. ACM can publish alarm records for high, low, on, or off states.

When ACM is started, it has no previous log period data in memory to compare alarms to. On the first log period record retrieved for a meter, ACM will publish an alarm record for all alarms in an ‘on’ (or high/low) state.

 

Differences between ACM and WinCCU and PCCU Alarm Publishing

Some differences will be noticed when comparing ACM alarm publishing with WinCCU or PCCU alarm publishing. WinCCU and PCCU publish the states for every alarm in each log period record. For example, if a Static Pressure Low alarm occurs in the 1:00am log period and then clears at 4:00am, WinCCU and PCCU will publish the 1:00, 2:00, and 3:00 log period records showing the Static Pressure Low alarm in each. The 4:00 record will show that there is no longer a Static Pressure Low alarm.

Since each log period record retrieved from the Totalflow device has all alarm data that occurred during the period, ACM’s published log period records will include the alarm information in the “LogPerAlarm” column. However, unlike WinCCU and PCCU, ACM also publishes separate alarm records when the state of an alarm changes. Using the example above, ACM will publish a Static Pressure Low alarm record with a 1:00 timestamp and then a Static Pressure Off alarm record with a 4:00 timestamp. No Static Pressure alarm records will be published in between.

Explaining Alarm Indicators

The Totalflow device clears each alarm indicator at the start of the next period unless it is still in the alarm state when the period changes.

The alarm indicators are stored in three data bytes in the log period record. Bits within each byte are used to indicate whether an alarm occurred or cleared. The following table shows the series of bits and the alarms they represent.

Byte

Bit

Abbreviation

Description

1

1

AC

Auxiliary Contact

1

2

RS

Remove Sensor Error

1

3

BF

Backflow

1

4

ZF

Low Flow

1

5

DH / UH

Differential Pressure Low / Uncorrected Volume Low

1

6

DL / UL

Differential Pressure High / Uncorrected Volume High

1

7

AH

Static Pressure Low

1

8

AL

Static Pressure High

2

1

CE

AGA Calculation Error

2

2

MG

Methane / Gravity Error

2

3

AN

Alternate Analysis Used

2

4

LL

Low Lithium Battery

2

5

LC

Low Charger

2

6

DE / PE

Differential Pressure Error / Pulse Error

2

7

AE

Static Pressure Error

2

8

TE

Temperature Error

3

1

TL

Temperature Low

3

2

TH

Temperature High

3

3

FL

Flow Rate Low

3

4

FH

Flow Rate High

3

5

 

Not used

3

6

 

Not used

3

7

 

Not used

3

8

 

Not used

Interpreting the Alarm Data in a Log Period record

The table below shows the alarms and their binary position in the three data bytes of the log period record. You can use the Windows calculator in “Programmer” mode or an online converter to examine ACM’s published value for an alarm (in the “LogPerAlarm” column of a log period record) to see which alarm bits are ‘on’. ACM publishes a decimal value containing all three bytes together. That value can be converted to binary to see which bits, indicating which alarms, are on.

Byte

Bit

Binary Position

Byte 3 Byte 2 Byte 1

Abbreviation

Description

1

1

00000000 00000000 00000001

AC

Auxiliary Contact

1

2

00000000 00000000 00000010

RS

Remove Sensor Error

1

3

00000000 00000000 00000100

BF

Backflow

1

4

00000000 00000000 00001000

ZF

Low Flow

1

5

00000000 00000000 00010000

DH / UH

Differential Pressure Low / Uncorrected Volume Low

1

6

00000000 00000000 00100000

DL / UL

Differential Pressure High / Uncorrected Volume High

1

7

00000000 00000000 01000000

AH

Static Pressure Low

1

8

00000000 00000000 10000000

AL

Static Pressure High

2

1

00000000 00000001 00000000

CE

AGA Calculation Error

2

2

00000000 00000010 00000000

MG

Methane / Gravity Error

2

3

00000000 00000100 00000000

AN

Alternate Analysis Used

2

4

00000000 00001000 00000000

LL

Low Lithium Battery

2

5

00000000 00010000 00000000

LC

Low Charger

2

6

00000000 00100000 00000000

DE / PE

Differential Pressure Error / Pulse Error

2

7

00000000 01000000 00000000

AE

Static Pressure Error

2

8

00000000 10000000 00000000

TE

Temperature Error

3

1

00000001 00000000 00000000

TL

Temperature Low

3

2

00000010 00000000 00000000

TH

Temperature High

3

3

00000100 00000000 00000000

FL

Flow Rate Low

3

4

00001000 00000000 00000000

FH

Flow Rate High

3

5

 

 

Not used

3

6

 

 

Not used

3

7

 

 

Not used

3

8

 

 

Not used

Converting from decimal to hexidecimal to binary

The Windows calculator can be used in “Programmer” mode to assist in converting the LogPeriod decimal value to the necessary binary value.

image-20240610-203711.png

Be certain the DEC is selected before typing the decimal value and it will automatically convert.

image-20240610-203913.png

 

It is important to remember that binary data is read from right to left. The least significant bit, also known as the “first” bit, in a byte is the furthest to the right. The least significant byte, also known as the “first” byte, in a series of bytes is the eight bits furthest to the right.

Example 1:

The LogPerAlarm is 1066633 which is converted to Hex and binary in the image below:

Using the mapping table above, this translates to:

Byte

Hex Value

Binary Value

Translation

Byte

Hex Value

Binary Value

Translation

1

89

1000 1001

The first, fourth and eighth bits in the first byte are on indicating Auxiliary Contact, Low Flow and Static Pressure High

2

46

0100 0110

The second, third and seventh bits in the second byte are on indicating Methane / Gravity Error, Alternate Analysis Used and Static Pressure Error

3

10

0001 0000

The fifth bit in the third byte is on, but is unused.

Example 2:

The LogPerAlarm is 147,986 which is converted to Hex and binary in the image below:

Using the Hex Value and the table above:

Byte

Hex Value

Binary Value

Translation

Byte

Hex Value

Binary Value

Translation

1

02

0001 0010

The second and fifth bits are on indicating the Remove Sensor Error and Differential Pressure Low / Uncorrected Volume Low alarms.

2

42

0100 0010

The second and seventh bits of the second byte are on indicating Methane / Gravity Error and Static Pressure Error alarms.

3

12

0001 0010

The second bit is on indicating the Temperature High alarm. The fifth bit is still on, but is unused.

Example 3 - Comparing Examples 1 and 2:

If the LogPerAlarm was 1,066,633 at 10am and 147,986 at 11am, we can compare the binary values to determine which alarms turned off and which turned on in the last LogPeriod.

 

 

In Byte 1 we see that the Auxiliary Contact, Low Flow and Static Pressure High alarms turned all turned off, but the Remove Sensor Error and Differential Pressure Low / Uncorrected Volume Low alarms turned on.

In Byte 2 we see that the Methane / Gravity Error and Static Pressure Error alarms are still on, but the Alternate Analysis Used is off.

In Byte 3 that the Temperature High alarm turned on and the unused fifth bit is unchanged.

For assistance, please submit a ticket via our Support Portal, email autosol.support@autosoln.com or call 281.286.6017 to speak to a support team member.