
Section 7. Installation
210
17889 ppmV pw=17.81 hPa pws 29.43 hPa h= 52.3 kJ/kg dT=
8.1 °C"
•
Hex Pairs
: Bytes are translated to hex pairs, consisting of digits 0 - 9 and
letters a - f. Each pair describes a hexadecimal ASCII / ANSI code. Some
codes translate to alpha-numeric values, others to symbols or non-printable
control characters.
Example (temperature sensor):
SerialInString
= "23 30 31 38 34 0D",
which
translates
to:
#01 84 cr
•
Binary
: Bytes are processed on a bit-by-bit basis. Character 0 (Null, &b00) is
a valid part of binary data streams. However, the CR800 uses Null
terminated strings, so anytime a Null is received, a string is terminated. The
termination is usually premature when reading binary data. To remedy this
problem, the
SerialInBlock()
or
SerialInRecord()
instruction is required
when reading binary data from the serial port buffer to a variable. The
variable must be an array set
As Long
data type, as in,
Dim
SerialInString
As Long
7.8.8.5.5 Memory Considerations
Several points regarding memory should be considered when receiving and
processing serial data.
•
Serial buffer:
The serial port buffer, which is declared in the
SerialOpen()
instruction, must be large enough to hold all the data a device will send. The
buffer holds the data for subsequent transfer to variables. Allocate extra
memory to the buffer when needed, but recognize that added memory to the
buffer reduces memory available for long term data storage.
Note
SerialInRecord()
running in pipeline mode, with the number of bytes
parameter = 0. For the digital measurement sequence to know how much room to
allocate in the
Scan()
instruction
buffers
(default of 3),
SerialInRecord()
has to
allocate itself the buffer size specified by
SerialOpen()
(default 10,000, an
overkill), or default 3*10,000 = 30 kB of buffer space. So, while making sure
enough bytes are allocated in
SerialOpen()
(the number of bytes per record *
((records/Scan)+1) + at least one extra byte), there is reason not to make the
buffer size too large. (Note that if the
NumberOfBytes
parameter is non-zero, then
SerialInRecord()
needs to allocate itself only this many bytes instead of the
number of bytes specified by
SerialOpen()
).
•
Variable declarations:
Variables used to receive data from the serial buffer
can be declared as
Public
or
Dim
. Declaring variables as
Dim
has the effect
of consuming less telecommunications bandwidth. When public variables are
viewed in software, the entire
Public
table is transferred at the update
interval. If the
Public
table is large, telecommunications bandwidth can be
taxed such that other data tables are not collected.
•
String declarations:
String variables are memory intensive. Determine how
large strings are and declare variables just large enough to hold the string. If
Summary of Contents for CR850
Page 2: ......
Page 4: ......
Page 6: ......
Page 26: ...Table of Contents 26...
Page 30: ...Section 2 Cautionary Statements 30...
Page 32: ...Section 3 Initial Inspection 32...
Page 35: ...Section 4 Quickstart Tutorial 35 Figure 2 Wiring panel...
Page 55: ...Section 4 Quickstart Tutorial 55 Figure 24 PC200W View data utility...
Page 78: ...Section 5 System Overview 78...
Page 80: ...Section 6 CR800 Specifications 80...
Page 267: ...Section 7 Installation 267 Figure 84 Running average signal attenuation...
Page 268: ...Section 7 Installation 268...
Page 384: ...Section 8 Operation 384 Figure 113 Using the keyboard display...
Page 387: ...Section 8 Operation 387 Figure 116 Real time custom...
Page 388: ...Section 8 Operation 388 8 8 1 3 Final Storage Tables Figure 117 Final storage tables...
Page 389: ...Section 8 Operation 389 8 8 2 Run Stop Program Figure 118 Run Stop Program...
Page 390: ...Section 8 Operation 390 8 8 3 File Display Figure 119 File display...
Page 396: ...Section 8 Operation 396...
Page 402: ...Section 9 Maintenance 402...
Page 450: ...Section 11 Glossary 450...
Page 504: ...Appendix A CRBasic Programming Instructions 504...
Page 526: ...Appendix B Status Table and Settings 526...
Page 530: ...Appendix C Serial Port Pinouts 530...
Page 536: ...Appendix E FP2 Data Format 536...
Page 550: ...Appendix F Other Campbell Scientific Products 550...
Page 565: ......