Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

SDI12Recorder: troubles with C! command


NadiaV May 16, 2014 02:40 PM

Dear all,

I am using the SDI12Recorder instruction to retrieve the measurements from 4 Decagon 5TM sensors. The instructions are part of the Slowsequence Scan (5 sec), which is after a quite fast and busy main scan. I decided to use the C! command to retrieve the 5TM values instead of the M! command, because the CR3000 was not able to carry out the instructions.
I used the SDI12Recorder instruction in a loop changing the sensor address (1-4), but only the first sensor was called and then the cycle stopped. Furthermore, the data collected were not correct.
I wrote the SDI12Recorder instructions for each sensor out of the loop. In this way, the sensors 2,3 and 4 were called and the retrieved values were correct, but for the first sensor the problem remains the same as before (bad data).
I tried to change the address of the first sensor called and I had the same response.
The solution that I found was to call twice the sensor 1, to overwrite the bad values with the second SDI12Recorder instruction.

Do you know why only the first SDI12Recorder instruction give me bad values back?(Doesn't matter which sensor I call)

The program lines to read the 5TM sensors are below:

Const N_5TM = 4
Public D(N_5TM, 2)

Scan (5, sec, 10, 0)

SDI12Recorder (D(1, 1), 7, 1, "C!", 1.0, 0.0)
SDI12Recorder (D(1, 1), 7, 1, "C!", 1.0, 0.0)
SDI12Recorder (D(2, 1), 7, 2, "C!", 1.0, 0.0)
SDI12Recorder (D(3, 1), 7, 3, "C!", 1.0, 0.0)
SDI12Recorder (D(4, 1), 7, 4, "C!", 1.0, 0.0)

NextScan


EarlyBird May 17, 2014 07:35 AM

C! command tells the sensor to take a concurrent measurement. A concurrent measurement is one which occurs while other SDI-12 sensors on the bus are also taking measurements. The sensor does not, however, return the measurement to the data recorder after this command. It returns the time until all measurements will be ready and the number of measurement that it will make. The send data (D0!) command must be issued to collect the measurements(s).

Having read the Decagon 5TM manual the C! command does not look to be supported.

* Last updated by: EarlyBird on 5/17/2014 @ 3:08 PM *

Log in or register to post/reply in the forum.