How to read Alarm flags in modbus poll or Modscan

yogesh@1997

Hello,

We have an energy meter which I want to read alarm flags but I really don't know how to read can you please help?

Thanks

jschulze

In Modbus Poll, go to Display->Binary and click Binary. If you want Modbus Poll to decode individual bit flags, select the value of interest in the table and click Display->Binary->Show Binary Names. Note that this only works for standard 16-bit registers, so for the 64-bit flags, you will need to look at all 4 registers individually. Assuming the the word ordering is big-endian, the first register's bits 15...0 would be bits 63...48, the second register's bits 15...0 would be bits 47...32, the third 31...16, and the fourth 15...0.

For example, the Alarm flags spanning registers 0x8A25 to 0x8A28 (35,365 to 35,368 decimal) would be as follows:
Register 0x8A25 bits 15...0 = Alarm flags bits 63...48
Register 0x8A26 bits 15...0 = Alarm flags bits 47...32
Register 0x8A27 bits 15...0 = Alarm flags bits 31...16
Register 0x8A28 bits 15...0 = Alarm flags bits 15...0

yogesh@1997

Dear
In Modbus Poll, go to Display->Binary and click Binary. If you want Modbus Poll to decode individual bit flags, select the value of interest in the table and click Display->Binary->Show Binary Names. Note that this only works for standard 16-bit registers, so for the 64-bit flags, you will need to look at all 4 registers individually. Assuming the the word ordering is big-endian, the first register's bits 15...0 would be bits 63...48, the second register's bits 15...0 would be bits 47...32, the third 31...16, and the fourth 15...0.

For example, the Alarm flags spanning registers 0x8A25 to 0x8A28 (35,365 to 35,368 decimal) would be as follows:
Register 0x8A25 bits 15...0 = Alarm flags bits 63...48
Register 0x8A26 bits 15...0 = Alarm flags bits 47...32
Register 0x8A27 bits 15...0 = Alarm flags bits 31...16
Register 0x8A28 bits 15...0 = Alarm flags bits 15...0
Hello,

I tried without success I have configured event for alarm 2 when its trigger in meter it show as 2014 ,How can read this ?I have also attached the manual it has register mapping too Please help to identify<thanks in advance

Attachments

• 1.8 MB Views: 1

jschulze

Previously you were asking about reading the Alarm flags, which is a 64-bit unsigned bit flag register at address 0x8A25 (35,365 decimal). This is different from the event codes that you are now asking about.

If you look right above the table from your picture in the manual, it states:
The following table describes the event codes that may occur in the System log, the Event log and the Net Quality log.

Therefore, you need to read the System log, Event log, or Net Quality log to see event codes. Event logs are described in section 9.4 Event logs of the manual you attached.

From the manual, it seems to be a complicated process to read event logs. So if you are only looking for which alarm flags are currently active, I suggest just reading the Alarm flags register 0x8A25 (35,365 decimal). This is what your Read/Write Definition would look like in Modbus Poll:

And this is what the main window would look like after selecting all rows and columns then clicking Display->Binary->Binary.

To view the bit flags at 0x8A28, select row 8 (I believe Alarm 2 would correspond to bit 1 in this register) and click Display->Binary->Show Binary Names.

yogesh@1997

Previously you were asking about reading the Alarm flags, which is a 64-bit unsigned bit flag register at address 0x8A25 (35,365 decimal). This is different from the event codes that you are now asking about.

If you look right above the table from your picture in the manual, it states:
The following table describes the event codes that may occur in the System log, the Event log and the Net Quality log.

Therefore, you need to read the System log, Event log, or Net Quality log to see event codes. Event logs are described in section 9.4 Event logs of the manual you attached.

From the manual, it seems to be a complicated process to read event logs. So if you are only looking for which alarm flags are currently active, I suggest just reading the Alarm flags register 0x8A25 (35,365 decimal). This is what your Read/Write Definition would look like in Modbus Poll:
View attachment 3571

And this is what the main window would look like after selecting all rows and columns then clicking Display->Binary->Binary.
View attachment 3572

To view the bit flags at 0x8A28, select row 8 (I believe Alarm 2 would correspond to bit 1 in this register) and click Display->Binary->Show Binary Names.
View attachment 3574
Thank you so much it works now, but if I want to integrate with any BMS or SCADA how to do it?

jschulze

That's going to depend on the specific BMS or SCADA system. You should be able to extract bit flags from Modbus registers using any BMS or SCADA system that supports Modbus. Typically, the bit flags would be extracted and mapped to boolean tags (one flag per bit flag).

Note that your energy meter uses 64-bit integers for some values and not all BMS or SCADA systems support 64-bit data types. However, there are workarounds, such as only using the lower 32-bits of the value (which limits the value range) or splitting the value into two values, an upper 32-bit value and a lower 32-bit value (which may require math calculations elsewhere to reconstitute the 64-bit value).