Campbell Hausfeld SDM-SIO4 manual CRC16-CCITT-IBM

Page 66

SDM-SIO4 User Guide

;use formatter string 102 and output datalogger location 1 as ASCII floating point ;to port 1 and then output the calculated ASCII hex CRC16

6:SDM-SIO4 (P113)

1: 1

Reps

2: 0

Address

3:

1

Send/Receive Port 1

4:

2304

Command

5:9102 1st Parameters

6:0 2nd Parameters

7:1 Values per Rep

8:0000 Loc [ _________ ]

9:

1

Mult

10:

0

Offset

*Table 2 Program

02: 0.0

Execution Interval (seconds)

*Table 3 Subroutines

End Program

The string transmitted from port one might be ‘some dataYZ+234.34FFFF’. where FFFF would be the hex CRC16 for the string ‘some dataYZ+234.34’.

NOTE FFFF is not the actual signature for the above string it is only an example.

When the Checksum, CRC or Signature calculation is used it will increase any delay required after initiating one P113 and before initiating the next. How much extra time required will be dependent on which algorithm is used. The timings for the algorithms are shown below. These timings are in addition to the normal formatter delay times:

a

Time to set up an algorithm using formatter ‘g’ is No. of Ports*0.0656ms.

b

The time using the different algorithms is shown below. Note that this is the time that is needed for each character that the formatter has to deal with, and so this time would be multiplied by the total number of characters you expect to transmit multiplied by the number of ports you are sending it to.

1,2 CRC16 and CRC16-CCITT

0.159ms/char.

3

CRC16-CCITT-IBM

0.159ms/char.

4

CRC32

0.369ms/char.

5

CSI Signature

0.077ms/char.

6

Checksum using modulo 256

0.066ms/char.

7

Checksum using modulo 8192

0.071ms/char.

c

The different data types are shown below. Note that this is the time needed to convert the calculated signature into the correct format and must be multiplied by the number of ports it is being sent to. The ASCII decimal conversion timing is for a number with ten digits – if the number is less than this the 1.125ms figure would reduce by 0.1ms per digit.

6-10

Image 66
Contents Issued Page Guarantee Page Contents Data Error Detection Appendix A. Ascii TableWhat is the SDM-SIO4? IntroductionDatalogger Command Control Serial Ports SpecificationsSDM-SIO4 Serial Port Pin Configuration Serial Port BuffersCase Power RequirementsSDM Port Environmental Operating RangeOther Key Features Page Address Settings Installation and Hardware Set-UpSetting the SDM Address Selector Block Settings SDM AddressSelecting RS232 or 5V Logic for Each Port Connections to the SDM-SIO4Transient Protection and Grounding Power-on Tests the Status LED Status LED Error CodesNo. of Flashes Description of error/status Page Understanding How the SDM-SIO4 Handles Data IntroductionMethod of Entering Special / Control Characters Input Filters Filter TypesSimple Filters Filter Strings Ibn8Ficn8F Predefined Filter Strings Output FormattingSimple Output Formatter Filter No Filter String UsedOutput Format Strings Fmtst 123 z261 f62 iBattery z257 f61z273 CR10X Program ExampleGet battery voltage Get panel temperatureCommand Line Operation and Structure Entering CommandsProgramming the SDM-SIO4 Basic Commands Advanced Commands Bytewr address byte ErrorresHexdump start address number of bytes WD n Wderr n Wdaddr nTestio test# Testio returnsPage Programming the Datalogger Instruction 113 ParametersParameter 8 Starting Input Location Commands and Options Parameters 4, 5Parameter 7 Values per Rep Parameters 9 and 10 Multiplier and OffsetCommand 1 Poll of Available Data Understanding Parameter Options and Returned ValuesCommand 4 Send Data to Datalogger Command 2 SignaturesCommand 3 Flush all Receive Buffers Command 5 StatusCommand 8 Poll Tx Buffers for Data Command 6 Flush Transmit BufferCommand 7 Activate Command Line Command 9 Flush Converted Data BufferCommand 321 Execute Command Line Command Command 67 Get Return CodeCommand 320 Send Byte Data to SDM-SIO4 Program Example for P113 CommandExecute the command line string Command 1026 Serial Port Status Command 1024 Send String to DeviceCommand 1025 Transmit a Byte First Value ReturnedThird Value Returned First Command Option Reset Error CountersSecond 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 SDM-SIO4 Configuration Examples Command 2305 Transmit BytesExample CR10X Program End of serial and filter setup Set flag one high so the above will only be done onceGet 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 dataTime stamp Sensors Which Send Data Out Without PromptingGet data from SDM-SIO4 and put into locations 1 Instantaneous sample form the sensorExample CR10X Program without Polling or Interrupts Fltst 200 tdataA5xffGet the two floating point values from the SDM-SIO4 Example CR10X Program using the Polling MethodEnd of set up Instantaneous values stored to final storageDo filter set-up only if flag one is clear Set up string filterDelay required by filter set-up command Set flag one high so the filter set-up is only done onceExample CR10X Program using Interrupts Get voltages into locations 3 and 4 if poll was trueInstantaneous value stored into final storage Do filter setup only if flag one is clear Delay required by filter setup commandSet control port 8 to i/p so it can be used as an interrupt Instantaneous readings stored into final storage Interrupt routine for control portGet voltages into locations 3 End of interrupt routineOutputting Datalogger Data Return Error Codes Flushing the Input and Output BuffersData Error Detection Error Detection with the SDM-SIO4Received Data SDM-SIO4 User Guide Example of Using Received Data Filters 2 CR10X Program ExampleFltst 100 TFrequency=xg2n10fCCG8 Minimum delay of 4ms is required by the above P113 End of filter setupTell 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 G8Minimum delay of 3.8ms is required after this command Use formatter string 100 to set up the CRC16 on portMinimum delay of 1ms 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 Stop Bits Appendix B. Serial Port Data Transfer ModesBaud rates Data LengthParity Bits Serial Handshake Modes