User's Manual

CHAPTER 3
Advanced Functions
30
8110010075021905641002361509DECAF8000056AA800F18004F
02AA800F010055021905641011361509D8C1F8000056AA7D0F16
004D02AA7E0F010055021905641020361509D2BBF8000056A87F
0F13004002A8800F01004602190564102F361509DBB2F8000056
A97E0F19005102A97F0F010059021905641102361509CAB9F800
0056A97C0F1E004501A97C0F01004E021905641111361509C6B1
F8000055A6840F1A001F01A6840F010020011905641120361509
D7C3F8000055A4870F11001101A4870F01001101190564112F36
1509D1C1F8000055A4870F13001601A4870F0000170119056412
02361509DAC3F8000055A5860F12001A01A5860F01001C011905
641211361509DBC8F8000055A6830F13002C01A6840F01003201
1905641220361509D7C5F8000055A5841014001E01A5840F0100
2001190564122F361509DBC0F8000055A4840F14001701A4850F
010016011905641302361509DFCFF8000055A3860F13001501A3
8610000015010F
OK
To help you understand how the block must be interpreted, the
first two frames and the last frame in the block are displayed below
(notice the extra carriage returns inserted to help you see the indi-
vidual frames):
1905640F11361509DFC9F8000057AB7F0F1A006702AB7F0F0100
6F02
1905640F20361509D7C4F8000056A9830F19005B02A9830F0100
6002
...
1905641302361509DFCFF8000055A3860F13001501A386100000
1501
0F
The last byte on the last line is the checksum of the whole block
(modulo 255). It is the sum of all the bytes, ignoring the overflows.
Note: The dates for years greater than 1999 are returned in a
three-digit format, that is, 100 for 2000, 101 for 2001, and so
on.
The data portion of the frame is frame-type dependent, which in
turn depends on the RTU that generated it (see “Frame Types” on
page 39 for a description of all frame types currently in use). How-
ever, separating individual frames from a GETBLOCK string is easy
if you consider the following:
Each frame has a header and a data portion.
Whatever the data portion is, the header has a constant
structure and known length (date/time and number of bytes in
the data segment).
Thus, to identify the beginning of the next frame you need only
parse the date/time and the frame size and then jump to the next
frame based on the size of the data portion (adding the frame size
to the current position points in effect to the beginning of the next
frame).