Campbell Hausfeld SDM-SIO4 manual Example CR10X Program without Polling or Interrupts

Page 49

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

Image 49
Contents Issued Page Guarantee Page Contents Appendix A. Ascii Table Data Error DetectionIntroduction What is the SDM-SIO4?Datalogger Command Control SDM-SIO4 Serial Port Pin Configuration SpecificationsSerial Ports Serial Port BuffersSDM Port Power RequirementsCase Environmental Operating RangeOther Key Features Page Setting the SDM Address Installation and Hardware Set-UpAddress Settings Selector Block Settings SDM AddressConnections to the SDM-SIO4 Selecting RS232 or 5V Logic for Each PortTransient Protection and Grounding Status LED Error Codes Power-on Tests the Status LEDNo. of Flashes Description of error/status Page Introduction Understanding How the SDM-SIO4 Handles DataMethod of Entering Special / Control Characters Filter Types Input FiltersSimple Filters Filter Strings Ibn8Ficn8F Simple Output Formatter Output FormattingPredefined Filter Strings Filter No Filter String UsedOutput Format Strings CR10X Program Example Fmtst 123 z261 f62 iBattery z257 f61z273Get panel temperature Get battery voltageEntering Commands Command Line Operation and StructureProgramming the SDM-SIO4 Basic Commands Advanced Commands Hexdump start address number of bytes ErrorresBytewr address byte WD n Wderr n Wdaddr nTestio returns Testio test#Page Instruction 113 Parameters Programming the DataloggerParameter 7 Values per Rep Commands and Options Parameters 4, 5Parameter 8 Starting Input Location Parameters 9 and 10 Multiplier and OffsetUnderstanding Parameter Options and Returned Values Command 1 Poll of Available DataCommand 3 Flush all Receive Buffers Command 2 SignaturesCommand 4 Send Data to Datalogger Command 5 StatusCommand 7 Activate Command Line Command 6 Flush Transmit BufferCommand 8 Poll Tx Buffers for Data Command 9 Flush Converted Data BufferCommand 320 Send Byte Data to SDM-SIO4 Command 67 Get Return CodeCommand 321 Execute Command Line Command Program Example for P113 CommandExecute the command line string Command 1025 Transmit a Byte Command 1024 Send String to DeviceCommand 1026 Serial Port Status First Value ReturnedSecond Value Returned First Command Option Reset Error CountersThird Value Returned Fourth Value ReturnedCommand 2049 Set Communications Parameters Command 1027 ‘Manual’ Handshake ModeSecond Command Option Parameter First Command Option ParameterCommand 2054 Set Up Receive Filter String Number or Character Code Command 2305 Transmit Bytes SDM-SIO4 Configuration ExamplesExample CR10X Program Set flag one high so the above will only be done once End of serial and filter setupGet two floating point numbers into locations 1 Strst 101 Send DataJM Example CR10X Program Using Instruction P113 CommandWait long enough for sensor to send data Set up the filter and then send stringGet data from SDM-SIO4 and put into locations 1 Sensors Which Send Data Out Without PromptingTime stamp Instantaneous sample form the sensorFltst 200 tdataA5xff Example CR10X Program without Polling or InterruptsEnd of set up Example CR10X Program using the Polling MethodGet the two floating point values from the SDM-SIO4 Instantaneous values stored to final storageDelay required by filter set-up command Set up string filterDo filter set-up only if flag one is clear Set flag one high so the filter set-up is only done onceGet voltages into locations 3 and 4 if poll was true Example CR10X Program using InterruptsInstantaneous value stored into final storage Delay required by filter setup command Do filter setup only if flag one is clearSet control port 8 to i/p so it can be used as an interrupt Get voltages into locations 3 Interrupt routine for control portInstantaneous readings stored into final storage End of interrupt routineOutputting Datalogger Data Flushing the Input and Output Buffers Return Error CodesError Detection with the SDM-SIO4 Data Error DetectionReceived Data SDM-SIO4 User Guide 2 CR10X Program Example Example of Using Received Data FiltersFltst 100 TFrequency=xg2n10fCCG8 End of filter setup Minimum delay of 4ms is required by the above P113Tell the SDM-SIO4 to use filter string End of get data CRC32 Transmitted DataFmtst 100 g1i123456789G8 Example of Using Transmitted Data FiltersFmtst 100 g1 Fmtst 101 isome data Fmtst 102 f62 G8 Alternative CR10X ProgramMinimum delay of 1ms is required after this command Use formatter string 100 to set up the CRC16 on portMinimum delay of 3.8ms is required after this command Send the Ascii characters ‘Y’ and ‘Z’ to portCRC16-CCITT-IBM Data Error Detection Page Dec Char Appendix A. Ascii TablePage Baud rates Appendix B. Serial Port Data Transfer ModesStop Bits Data LengthSerial Handshake Modes Parity Bits