C.2 final storage format – Campbell Scientific CR7 Measurement and Control System User Manual

Page 167

Advertising
background image

APPENDIX C. BINARY TELECOMMUNICATIONS

C-3

For loop count = 1 to 24 do the following:

If the MSB is one, then add Bit Value to the
Mantissa.

Shift the 24 bit binary value obtained from
Data bytes 2 to 4 one bit to the left.

Multiply Bit Value by 0.5.

End of loop.

Another method that can be used as an
estimate is to convert Data bytes 2 to 4 from a
long integer to floating point and dividing this
value by 16777216.

As an example of a negative value, the
datalogger returns BF 82 0C 49 HEX.

Data byte 1 = BF HEX.

Data byte 2 to 4 = 82 0C 49 HEX (or 8522825
decimal).

Data byte 1 is converted to binary to find the
Sign. BF HEX = 10111111 BINARY.

The most significant bit is 1 so the Sign is
NEGATIVE.

The exponent is found by subtracting 40 HEX
from the remaining least significant bits.
Converting the binary to hexadecimal, 111111
BINARY = 3F HEX (or 63 decimal).

3F - 40 HEX = FF FF FF FF FF HEX. Or in
decimal: 63 - 64 = -1.

Exponent is -1 decimal.

The binary representation of Data bytes 2 to 4
is: 10000010 00001100 01001001.

Summing all the fractional values: 2

-1

+ 2

-7

+

2

-13

+ 2

-14

+ 2

-18

+ 2

-21

+ 2

-24

= 0.50800.

Using the estimate method to find the Mantissa =
82 0C 49 HEX / 1 00 00 00 HEX (or 8522825 /
16777216) which is 0.50800 decimal.

The value is then (-)0.508*2

-1

which equals

-0.254.

As an example of a positive value, the
datalogger returns 44 D9 99 9A HEX.

Data byte 1 = 44 HEX.

Data byte 2 to 4 = D9 99 9A HEX (or 891290
decimal).

Data byte 1 is converted to binary to find the
Sign. 44 HEX = 01000100 BINARY.

NOTE: Don’t lose the leading zero!

The most significant bit is 0 so the Sign is
POSITIVE.

The exponent is found by subtracting 40 HEX
from the remaining least significant bits.
Converting the binary to hexadecimal, 1000100
BINARY = 44 HEX (or 68 decimal).

44 - 40 HEX = 4 HEX. Or in decimal:
68 - 64 = 4.

Exponent is 4 decimal.

The binary equivalent of Data bytes 2 to 4 is:
11011001 10011001 10011010.

Summing all the fractional values:

2

-1

+ 2

-2

+ 2

-4

+ 2

-5

+ 2

-8

+ 2

-9

+ 2

-12

+ 2

-13

+ 2

-16

+

2

-17

+ 2

-20

+ 2

-21

+ 2

-23

= 0.85000.

Using the estimate method to find the Mantissa =
D9 99 9A HEX / 1 00 00 00 HEX (or 14260634 /
16777216) which is 0.85000 decimal.

The value is then (+)0.85*2

4

which equals

13.60.

If appropriately requested by a J command,
Final Storage data, if any, will immediately
follow the input location data. Refer to the
datalogger manual for a description of how to
decode Final Storage data in Campbell
Scientific's binary data format. Final Storage
data will be limited to not more than 1024 bytes
per K command.

The K command data is terminated with 7F 00
HEX (a unique binary format code) followed by
two signature bytes. Refer to the datalogger
manual for the meaning and calculation of the
signature bytes. The signature in this case is a
function of the first time byte through the 7F 00
HEX bytes. Calculate the signature of the bytes
received and compare with the signature
received to determine the validity of the
transmission.

C.2 FINAL STORAGE FORMAT

CR7 data is formatted as either 2 byte LO
Resolution or 4 byte HI Resolution values. The
first two bytes of an output array contain a code
noting the start of the output array and the
output array ID, followed by the 2 or 4 byte data
values. At the end of the data sent in response

Advertising