Section 7. Installation
366
protocol to translate since the encode and translation are identical.
Normally, the CR6 is programmed to parse (split) the string and place
values in variables.
Example string from humidity, temperature, and pressure sensor:
SerialInString
= "RH= 60.5 %RH T= 23.7 °C Tdf= 15.6 °C Td= 15.6
°C a= 13.0 g/m3 x= 11.1 g/kg Tw= 18.5 °C H2O= 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 to 9
and letters a to 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 sting from 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 CR6 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, use
SerialInBlock()
or
SerialInRecord()
when reading binary data. The input string variable
must be an array set
As Long
data type, for example:
Dim
SerialInString
As Long
7.7.18.5.5 Serial I/O 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
SerialOpen()
,
must be large enough to hold all 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 memory added to
the buffer reduces
final-data memory
(p. 583).
Note
Concerning
SerialInRecord()
running in pipeline mode with
NBytes
(number of bytes) parameter = 0:
For the digital measurement sequence to know how much room to allocate
in
Scan()
buffers
(default of 3),
SerialInRecord()
allocates 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
Содержание CR6 Series
Страница 2: ......
Страница 4: ......
Страница 6: ......
Страница 32: ......
Страница 36: ......
Страница 38: ......
Страница 76: ...Section 5 Overview 76 FIGURE 20 Half Bridge Wiring Example Wind Vane Potentiometer ...
Страница 80: ...Section 5 Overview 80 FIGURE 23 Pulse Input Wiring Example Anemometer ...
Страница 136: ......
Страница 251: ...Section 7 Installation 251 FIGURE 46 Running Average Frequency Response FIGURE 47 Running Average Signal Attenuation ...
Страница 454: ...Section 8 Operation 454 FIGURE 104 Narrow Sweep High Noise ...
Страница 459: ...Section 8 Operation 459 FIGURE 106 Vibrating Wire Sensor Calibration Report ...
Страница 535: ...Section 8 Operation 535 8 11 2 Data Display FIGURE 121 CR1000KD Displaying Data ...
Страница 537: ...Section 8 Operation 537 FIGURE 123 CR1000KD Real Time Custom ...
Страница 538: ...Section 8 Operation 538 8 11 2 3 Final Storage Data FIGURE 124 CR1000KD Final Storage Data ...
Страница 539: ...Section 8 Operation 539 8 11 3 Run Stop Program FIGURE 125 CR1000KD Run Stop Program ...
Страница 541: ...Section 8 Operation 541 FIGURE 127 CR1000KD File Edit ...
Страница 542: ...Section 8 Operation 542 8 11 5 PCCard Memory Card Management FIGURE 128 CR1000KD PCCard Memory Card Management ...
Страница 546: ......
Страница 549: ...Section 9 Maintenance Details 549 FIGURE 133 Separate Back Shell from Module FIGURE 134 Disconnect Battery Connector ...
Страница 552: ......
Страница 610: ...Section 11 Glossary 610 FIGURE 137 Relationships of Accuracy Precision and Resolution ...
Страница 612: ......
Страница 648: ......
Страница 650: ......
Страница 688: ......
Страница 689: ......