Campbell Hausfeld SDM-SIO4 manual Example CR10X Program using Interrupts

Page 52

SDM-SIO4 User Guide

;if value returned from poll is >=1 then data must be available.

7:IF (X<=>F) (P89)

1: 2

X Loc [ poll

]

2: 3

>=

 

3:

1

F

 

4:

30

Then Do

 

;get voltages into locations 3 and 4 if poll was true.

8:SDM-SIO4 (P113)

1: 1

Reps

2: 0

Address

3: 1

Send/Receive Port 1

4: 4

Command

5: 0

1st Parameters

6: 0

2nd Parameters

7: 2

Values per Rep

8:3 Loc [ voltage1 ]

9:1.0 Mult

10:0.0 Offset

;set the output flag so the data can be store to final storage.

9:Do (P86)

1:10 Set Output Flag High (Flag 0)

;time stamp.

10:Real Time (P77)

1: 1111 Year,Day,Hour/Minute,Seconds

;Instantaneous value stored into final storage.

11:Sample (P70)

1:

2

Reps

2:

3

Loc [ voltage1 ]

;end of IF.

12:End (P95)

*Table 2 Program

02: 0.0000 Execution Interval (seconds)

*Table 3 Subroutines

End Program

Example CR10X Program using Interrupts

Sensors with fast data output or where very close time stamping is required would need to be read using the hardware interrupt output from the SDM-SIO4 in combination with an interrupt-driven subroutine in the datalogger (only the CR10/10X currently support this mode). This output on the SDM-SIO4 pulses high when there is data available from one of the serial ports.

This program will deal with sensors that send data at random intervals. It uses the IO line to cause an interrupt to the datalogger program if data is available. The IO line is always automatically pulsed by the SDM-SIO4 when data is available

5-22

Image 52
Contents Issued Page Guarantee Page Contents Data Error Detection Appendix A. Ascii TableWhat is the SDM-SIO4? IntroductionDatalogger Command Control Specifications SDM-SIO4 Serial Port Pin ConfigurationSerial Ports Serial Port BuffersPower Requirements SDM PortCase Environmental Operating RangeOther Key Features Page Installation and Hardware Set-Up Setting the SDM AddressAddress 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 Output Formatting Simple Output FormatterPredefined Filter Strings Filter No Filter String UsedOutput Format Strings Fmtst 123 z261 f62 iBattery z257 f61z273 CR10X Program ExampleGet battery voltage Get panel temperatureEntering Commands Command Line Operation and StructureProgramming the SDM-SIO4 Basic Commands Advanced Commands Errorres Hexdump start address number of bytesBytewr address byte WD n Wderr n Wdaddr nTestio test# Testio returnsPage Programming the Datalogger Instruction 113 ParametersCommands and Options Parameters 4, 5 Parameter 7 Values per RepParameter 8 Starting Input Location Parameters 9 and 10 Multiplier and OffsetCommand 1 Poll of Available Data Understanding Parameter Options and Returned ValuesCommand 2 Signatures Command 3 Flush all Receive BuffersCommand 4 Send Data to Datalogger Command 5 StatusCommand 6 Flush Transmit Buffer Command 7 Activate Command LineCommand 8 Poll Tx Buffers for Data Command 9 Flush Converted Data BufferCommand 67 Get Return Code Command 320 Send Byte Data to SDM-SIO4Command 321 Execute Command Line Command Program Example for P113 CommandExecute the command line string Command 1024 Send String to Device Command 1025 Transmit a ByteCommand 1026 Serial Port Status First Value ReturnedFirst Command Option Reset Error Counters Second Value ReturnedThird Value Returned Fourth Value ReturnedCommand 1027 ‘Manual’ Handshake Mode Command 2049 Set Communications ParametersFirst Command Option Parameter Second 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 Example CR10X Program Using Instruction P113 Command Strst 101 Send DataJMSet up the filter and then send string Wait long enough for sensor to send dataSensors Which Send Data Out Without Prompting Get data from SDM-SIO4 and put into locations 1Time stamp Instantaneous sample form the sensorExample CR10X Program without Polling or Interrupts Fltst 200 tdataA5xffExample CR10X Program using the Polling Method End of set upGet the two floating point values from the SDM-SIO4 Instantaneous values stored to final storageSet up string filter Delay required by filter set-up commandDo 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 Interrupt routine for control port Get voltages into locations 3Instantaneous readings stored into final storage End of interrupt routineOutputting Datalogger Data Return Error Codes Flushing the Input and Output BuffersError 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 Transmitted Data CRC32Example of Using Transmitted Data Filters Fmtst 100 g1i123456789G8Alternative CR10X Program Fmtst 100 g1 Fmtst 101 isome data Fmtst 102 f62 G8Use formatter string 100 to set up the CRC16 on port Minimum delay of 1ms is required after this commandMinimum delay of 3.8ms is required after this command Send the Ascii characters ‘Y’ and ‘Z’ to portCRC16-CCITT-IBM Data Error Detection Page Appendix A. Ascii Table Dec CharPage Appendix B. Serial Port Data Transfer Modes Baud ratesStop Bits Data LengthParity Bits Serial Handshake Modes