beautypg.com

3 output programming basics – Campbell Scientific CR800 and CR850 Measurement and Control Systems User Manual

Page 208

background image

Section 7. Installation

208 

 

 

• Will the sensor be sending multiple data strings? Multiple strings usually

require filtering before parsing.

• How fast will data be sent to the CR800?
• Is power consumption critical?
• Does the sensor compute a checksum? Which type? A checksum is useful to

test for data corruption.

2. Open a serial port (SerialOpen() instruction).

• Example:

SerialOpen

(Com1,9600,0,0,10000)

• Designate the correct port in CRBasic.
• Correctly wire the device to the CR800.
• Match the port's baud rate to the baud rate of the device in CRBasic.

o Use a fixed baud rate (rather than autobaud) when possible.

3. Receive serial data as a string (CRBasic SerialIn() or SerialInRecord()

command).

• Example:

SerialInRecord

(Com2,SerialInString,42,0,35,"",01)

• Declare the string variable large enough to accept the string.

o Example:

Public

SerialInString

As String

* 25

• Observe the input string in the input string variable in software numeric

monitor.

Note SerialIn() and SerialInRecord() receive the same data. SerialInRecord()
is generally used for data streaming into the CR800, while SerialIn() is used for
data that is received in discrete blocks.

4. Parse (split up) the serial string (CRBasic SplitStr() command).

• Separates string into numeric and / or string variables.
• Example:

SplitStr

(InStringSplit,SerialInString,"",2,0)

• Declare an array to accept the parsed data.

o Example:

Public

InStringSplit(2)

As String

o Example:

Public

SplitResult(2)

As Float

7.8.8.5.3 Output Programming Basics

Applications with the purpose of transmitting data to another device usually
include the following procedures. Other procedures may be required depending on
the application.