Register Functions - Badger Meter Impeller ModHopper R9120-5 User Manual

Wireless modbus/pulse transceiver
Table of Contents

Advertisement

Modbus Features

Register Functions

Pulse Count
The pulse count is stored as an unsigned 32 bit integer This allows for 2^32 pulses (4 2 billion) to be counted before rollover
On Modbus systems that do not allow you to read 32 bit values, you can calculate the pulse count as follows:
count = (MSW * 65536) + LSW
or
count = (MSW << 16) | LSW [bit shift high order word by 16 bits and xor against low order word ]
Pulse count registers accumulate a total number of pulses received on each pulse input The pulse count totals always
increment and cannot be cleared or set to an arbitrary value to prevent tampering All pulse count totals are stored in
non- volatile memory to preserve counts during power failure The unsigned 32 bit counter values can accumulate up to
4 29 billion (2^32) pulses before rollover
All 32 bit data point values are encoded in 2 Modbus registers (16 bits each) Modbus master systems should always query
the A8332-8F2D using a single query to read an entire block of registers Never use two queries to read one register and then
combine the two results into a single 32 bit value Doing so will allow the pulse count to increment in the middle of the two
Modbus queries, and will cause intermittent data readings that are incorrect
For example, a pulse input has a count of 65534 This is represented as a 32 bit hex number 0x0000FFFE The first 4 digits are
the MSW register, the second 4 digits are the LSW register The Modbus Master reads the first (MSW) register and gets 0x0000
In between the two readings, the pulse input counts 2 more pulses, making the total 65536 or 0×00010000 in hex Next the
Master reads the second (LSW) register and gets 0x0000 When the two registers are combined, the result is 0×00000000 The
proper way to handle this situation is to simply read both registers in a single Modbus query
Instantaneous Pulse Rate
The pulse rate values for instantaneous, minimum and maximum rates are calculated based on the time between arriving
pulses For example, if InstPulse1 = 30, and inst pulse count size is 5, then the average rate for the last 5 pulses is 6 seconds per
pulse To convert the register values (in seconds) to a rate value, use the following formula
RatePerHour = (N * 60 * 60 / Inst_Register)
Where InstRegister is any of the 6 register values 4 through 9 N is the instantaneous pulse count size at offset 10
Min/Max Pulse Rate
These 4 registers are calculated from the instantaneous pulse rate These latching registers are updated whenever the
minimum or maximum rate fields are exceeded by the instantaneous rate These 4 registers may be cleared by writing a zero
to the register Writing to one min/max register clears all four min/max registers
Page 12
XMT-UM-02107-EN-01
June 2016

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Impeller ModHopper R9120-5 and is the answer not in the manual?

Table of Contents