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.

SDI12 parallel measurments


heiko Sep 7, 2012 08:57 AM

hi,
I connected several FTS-DTS SDI12 Sensors to a CR1000 and of course lot´s of additional sensor.
The problem is: The measurment cycle of all the SDI12 Sensors is around 300sec. During that time no other measurment have happend. I tryed allready to take that measurement in a slowsequence, in the main program cycle, in a subscan. Anyway, if the SDI-measurement starts I got a lot of skipped scans!
The idea is, to start all the SDI-measurment with a little delay (~1/2sec-1sec) between each start. After Starting all the measurements the logger will wait for the response of the SDI12 sensors. So I can reduce the time of measurement from 300sec to 25sec plus few seconds of the delay time that occurs due to the delayed sensor start?!
As you can see in the SDI12-log the delay between the start of the measurement and the last response of each Sensor is 25sec.
A lot of time and no other measurement will taken during that time of waiting!
It would be great if I can get any hint or a solution!
Thanks
Heiko

If use the D0! command I get a response very quick. But I am not sure wether the sensor realy take a measurment or just send the stored value taken from the last measurment issued by the command M1!

----Log sensor communication at SDI12 port - talk thru ----

T 08:42:03.59 FM2!
R 08:42:03.69 F0288..
R 08:42:27.60 F..
T 08:42:27.61 FD0!
R 08:42:27.95 F+1.90+3.1946+1.38+1.45+0.75+11.94..
T 08:42:27.97 FD1!
R 08:42:28.09 F+11.9+0..
T 08:42:28.21 GM2!
R 08:42:28.31 G0288..
R 08:42:52.16 G..
T 08:42:52.17 GD0!
R 08:42:52.50 G+1.05+0.5255+0.75+0.85+0.23+3.20..
T 08:42:52.52 GD1!
R 08:42:52.63 G+8.8+0..
-------
The program is like

BeginProg
Scan(5,Min,0,0)
SDI12Recorder(DTS_1(),7,"A","M1!",1,0)
SDI12Recorder(DTS_2(),7,"B","M1!",1,0)
SDI12Recorder(DTS_3(),7,"C","M1!",1,0)
SDI12Recorder(DTS_4(),7,"D","M1!",1,0)
SDI12Recorder(DTS_5(),7,"E","M1!",1,0)
SDI12Recorder(DTS_6(),7,"F","M1!",1,0)
SDI12Recorder(DTS_7(),7,"G","M1!",1,0)
SDI12Recorder(DTS_8(),7,"H","M1!",1,0)
SDI12Recorder(DTS_9(),7,"I","M1!",1,0)
SDI12Recorder(DTS_10(),7,"J","M1!",1,0)
SDI12Recorder(DTS_11(),7,"K","M1!",1,0)
CallTable(DTS_B2)
NextScan
EndProg

* Last updated by: heiko on 9/7/2012 @ 3:54 AM *


JDavis Sep 7, 2012 05:18 PM

If a sensor receives the 'D0!' command before it finishes its measurement, it will abort the current measurement and report the previous result.

It is wise to have the SDI12 measurements in a slowsequence like you have. The slowsequence scan will skip of course if the interval is shorter than the time needed for the measurements and processing.

Check the documentation of the sensor to see if they support the 'C!' concurrent command(different than 'MC!'). The concurrent command will allow the other sensors to start their measurements while still waiting for the data from the first sensor. Also check if the sensor supports the 'R!' command which is the continuous measurement mode.

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