
14
4.4.3 Cyclic Redundancy Check
A 16-bit CRC field is tagged on to the end of all messages. This filed is the result
of a CRC calculation performed on the message contents. The CRC field is used
by the host and receiving devices alike to determine the validity of the entire mes-
sage string. A receiving device recalculates the CRC and compares it to the value
contained in the message. A slave device ignores a message if the two values do
not match.
NOTE:
Use of the CRC is essential when communication in noisy environments
to reduce the effects of erroneous bit errors. The meter will not reply to
commands with a CRC in error and the host should retransmit the com-
mand after a predetermined time-out period. If the host receives a string
with a CRC in error, the transaction should be re-initiated.
The CRC is calculated no all bytes of a message from the address to the last data
byte inclusively. Each bit of the message is processed through the CRC calcula-
tion starting with the first bit of the address. The Modbus standard method of CRC
calculation requires reversal of the data bytes as they are fed serially through the
bit processing routines. A simpler method involves swapping the low and high
order bytes of the CRC integer at the end of the calculation. This is shown in the
following routine.
1
Load a 16-bit register (CRC Register) with FFFF Hex. (all1’s).
2
Exclusive-OR the first eight bits of the message with the low-order byte of the
CRC register. Put the result in the CRC register.
3
Shift the CRC register one bit to the right (divide by two), filling the MSB with
a zero.
4
If the bit shifted out in three is a one, Exclusive-OR the CRC register with the
value A001 Hex.
5
Repeat steps 3 and 4 until eight shifts have been performed and the bits
tested. A single byte has thus been processed.
6
Repeat steps 2 to 5 using the next eight-bit byte of the message until all bytes
have been processed.
7
The final contents of the CRC register are tagged on to the end of the mes-
sage with the most significant byte first.
8
Swap the low and high order bytes of the integer result.
19
4.5.3 Table 12 Additional Instantaneous Values
Notes:
4. Use “Power Scale” at address 2840 to convert to real W, VA or var.
4.5.4 Table 13 Peak Values
Notes:
5. Use “Amps Scale” at address 2837 to convert to real peak hold amps.
6. Use “Ph Volts Scale” at address 2838 to convert to real peak hold
volts.
7. Use “Power Scale” at address 2840 to convert to real peak W MD.
8. Peak kW MD & MD Period may not be written using Command 16.
4.5.4.1 Instantaneous/Peak Values
Instantaneous and peak measurements available for display on a GIMA are stored
in Modbus Table 11-13 as Signed Integers. Parameters not available on an indi-
vidual meter are returned as zero. Negative values are used for per phase/system
kvar and PF readings to represent capacitive loads. All other values will be re-
turned as positive integers.
t
e
s
ff
O
s
s
e
r
d
d
A
s
t
n
e
t
n
o
C
t
a
m
r
o
F
s
e
t
y
B
s
d
r
o
W
s
s
e
c
c
A
0
2
7
0
3
A
V
k
1
e
s
a
h
P
t
n
I
d
e
n
g
i
S
2
1
d
a
e
R
4
1
3
7
0
3
A
V
k
2
e
s
a
h
P
t
n
I
d
e
n
g
i
S
2
1
d
a
e
R
4
2
4
7
0
3
A
V
k
3
e
s
a
h
P
t
n
I
d
e
n
g
i
S
2
1
d
a
e
R
4
3
5
7
0
3
r
a
v
k
1
e
s
a
h
P
t
n
I
d
e
n
g
i
S
2
1
d
a
e
R
4
4
6
7
0
3
r
a
v
k
2
e
s
a
h
P
t
n
I
d
e
n
g
i
S
2
1
d
a
e
R
4
5
7
7
0
3
r
a
v
k
3
e
s
a
h
P
t
n
I
d
e
n
g
i
S
2
1
d
a
e
R
4
t
e
s
ff
O
s
s
e
r
d
d
A
s
t
n
e
t
n
o
C
t
a
m
r
o
F
s
e
t
y
B
s
d
r
o
W
s
s
e
c
c
A
0
8
2
3
3
1
l
d
l
o
H
K
P
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
5
1
9
2
3
3
2
l
d
l
o
H
K
P
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
5
2
0
3
3
3
3
l
d
l
o
H
K
P
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
5
3
1
3
3
3
1
V
d
l
o
H
K
P
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
6
4
2
3
3
3
2
V
d
l
o
H
K
P
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
6
5
3
3
3
3
3
V
d
l
o
H
K
P
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
6
6
4
3
3
3
D
M
W
k
k
a
e
P
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
8
,
7
7
5
3
3
3
d
o
ir
e
P
D
M
t
n
I
d
e
n
g
i
S
2
1
e
ti
r
W
/
d
a
e
R
8
8
6
3
3
3
D
M
W
k
t
n
I
d
e
n
g
i
S
2
1
y
l
n
O
d
a
e
R