Section 5. Programming the Datalogger

Example CR10X Program without Polling or Interrupts

This simple program is an example for sensors that send data at random intervals. If no data was available when the datalogger asked for it then -99999 will be put into locations 1 and 2. An IF THEN structure could be used in the datalogger program to store only values that are not -99999.

A typical filter that could be used is:

fltst 200 "t[data]A5xff"

This filter works as follows:

t[data] – this filter waits for an exact string match before it starts the next filter. In this case it is waiting for the sensor to send the string ‘data’.

A5 – this filter sets up a 250ms filter time-out. This time-out should be long enough for the sensor to transmit all of its data.

x – this filter marks the start of the data set. In this case the data set is two floating point numbers.

f – this filter searches for the first ASCII floating point number to convert.

f – this filter searches for the second ASCII floating point number to convert.

*Table 1 Program

01: 2 Execution Interval (seconds)

;test flag one to see if set up is required.

1:If Flag/Port (P91)

1:21 Do if Flag 1 is Low

2: 30

Then Do

;set the filter up.

2:SDM-SIO4 (P113)

1: 1

Reps

2: 0

Address

3: 1

Send/Receive Port 1

4: 2054

Command

5: 9200

1st Parameters

6: 0

2nd Parameters

7: 0

Values per Rep

8:0000 Loc [ _________ ]

9:1.0 Mult

10:0.0 Offset

;filter set up requires a delay.

3:Excitation with Delay (P22)

1:1 Ex Channel

2:0 Delay W/Ex (units = 0.01 sec)

3:1 Delay After Ex (units = 0.01 sec)

4:0 mV Excitation

;set flag one so setup only happens once.

4:Do (P86)

1:11 Set Flag 1 High

5-19

Page 49
Image 49
Campbell Hausfeld SDM-SIO4 manual Example CR10X Program without Polling or Interrupts, Fltst 200 tdataA5xff