Campbell Hausfeld SDM-SIO4 manual Flushing the Input and Output Buffers, Return Error Codes

Page 56

SDM-SIO4 User Guide

*Table 2 Program

02:0.0000 Execution Interval (seconds)

*Table 3 Subroutines

End Program

5.5Flushing the Input and Output Buffers

One important aspect of the SDM-SIO4 is that it will continue to collect data and store it in its buffers even if the datalogger program stops running. Care must be taken to ensure that data does not build up in the buffers and as a result either a buffer overflows, or data is collected which relates to a different time than anticipated.

To prevent this, the instruction set includes instructions which either allow the buffers to be erased or special filter options which allow buffers to be flushed and data collection to be stopped and started. Please refer to these instructions for more details.

Unless the filters used specifically flush the input buffer it is advisable to include instructions to flush the buffers within the configuration section of the program.

5.6 Return Error Codes

These return error codes are used by the command line and by the datalogger command 67.

0= No error.

1= String not enclosed in double quotes 2= String > 255 characters long

3= Out of string memory 4= Unknown error

5= String not allocated 6= String pointer corrupt 7= Command not recognised 8= Command index error 9= Bad parameters

10= String > 255 characters long or Out of string memory 11= Filter definition error

12= Filter definition error - number too big 13= Formatter definition error

14= Formatter definition error - number too big 15= No ‘:’ separator between numbers

16= COMMAND LINE is now on port number 1 17= COMMAND LINE is now on port number 2 18= COMMAND LINE is now on port number 3 19= COMMAND LINE is now on port number 4 20= System RAM failure

21= System RAM good 22= SDM-SIO4 busy 23= Command successful

5-26

Image 56
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 AddressTransient Protection and Grounding Selecting RS232 or 5V Logic for Each PortConnections to the SDM-SIO4 No. of Flashes Description of error/status Power-on Tests the Status LEDStatus LED Error Codes Page Method of Entering Special / Control Characters Understanding How the SDM-SIO4 Handles DataIntroduction Simple Filters Input FiltersFilter Types 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 temperatureProgramming the SDM-SIO4 Command Line Operation and StructureEntering Commands 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 Example CR10X Program SDM-SIO4 Configuration ExamplesCommand 2305 Transmit Bytes Get two floating point numbers into locations 1 End of serial and filter setupSet flag one high so the above will only be done once 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 onceInstantaneous value stored into final storage Example CR10X Program using InterruptsGet voltages into locations 3 and 4 if poll was true Set control port 8 to i/p so it can be used as an interrupt Do filter setup only if flag one is clearDelay required by filter setup command 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 BuffersReceived Data Data Error DetectionError Detection with the SDM-SIO4 SDM-SIO4 User Guide Fltst 100 TFrequency=xg2n10fCCG8 Example of Using Received Data Filters2 CR10X Program Example Tell the SDM-SIO4 to use filter string Minimum delay of 4ms is required by the above P113End of filter setup 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