Campbell Scientific CR1000KD CR1000 Measurement and Control System - Page 210
CRBasic Example 40., Receiving an RS, String
View all Campbell Scientific CR1000KD manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 210 highlights
Section 7. Installation • String declarations: String variables are memory intensive. Determine how large strings are and declare variables just large enough to hold the string. If the sensor sends multiple strings at once, consider declaring a single string variable and read incoming strings one at a time. The CR1000 adjusts the declared size of strings. One byte is always added to the declared length, which is then increased by up to another three bytes to make length divisible by four. Declared string length, not number of characters, determines the memory consumed when strings are written to memory. Consequently, large strings not filled with characters waste significant memory. 7.8.8.5.6 Demonstration Program CRBasic example Receiving an RS-232 String (p. 210) is provided as an exercise in serial input / output programming. The example only requires the CR1000 and a single wire jumper between COM1 Tx and COM2 Rx. The program simulates a temperature and relative humidity sensor transmitting RS-232 (simulated data comes out of COM1 as an alpha-numeric string). CRBasic Example 40. Receiving an RS‐232 String 'To demonstrate CR1000 Serial I/O features, this program simulates a serial sensor 'by transmitting a serial string via COM1 TX. The serial string is received at 'COM2 RX via jumper wire. Simulated air temperature = 27.435 F, relative humidity = '56.789%. 'Wiring: 'COM1 TX (C1) ----- COM2 RX (C4) 'Serial Out Declarations Public TempOut As Float Public RhOut As Float 'Declare a string variable large enough to hold the output string. Public SerialOutString As String * 25 'Serial In Declarations 'Declare a string variable large enough to hold the input string Public SerialInString As String * 25 'Declare strings to accept parsed data. 'array can be declared as Float or Long Public InStringSplit(2) As String Alias InStringSplit(1) = TempIn Alias InStringSplit(2) = RhIn If parsed data are strictly numeric, this 'Main Program BeginProg 'Simulate temperature and RH sensor TempOut = 27.435 RhOut = 56.789 'Set simulated temperature to transmit 'Set simulated relative humidity to transmit 210