I am trying to interface radar water level with CR3000 using SDI12Recorder Instruction. SDI port of the sensor is connected to C1 but I tried C3,C5, and C7 ports as well also without any results, data columns shows NaN. Following instruction is used
SDI12Recorder (RLS(), 1, 0, "MC!",1.0,0)
Subsequently, Command line Terminal Emulator is tried out in transparent mode. Before entering into transparent mode below code is loaded into logger and logger is kept running with this code
Dim Dest(1)
BeginProg
SDI12Recorder (Dest,1,0,"M!",1.0,0)
EndProg
In transparent mode, results are:
CR3000>SDI12
Enter Cx Port 1, 3, 5, 7
1
Entering SDI12 Terminal
?!
SDI Failed
physical connections between logger,sensor, power,GND are checked several times. Data logger is couple of years old and sensor is new.
Any help is appreciated.
* Last updated by: vk on 12/1/2013 @ 1:00 AM *
Unfortunately, your test does not tell you if the sensor has an issue or if the datalogger has an issue. It would be good if you could repeat the tests with another datalogger and/or sensor.
Sam thanks for response. Following combinations were tried out.
1) old working sensor and old working CR3000 -- result, sensor neither communicate in transparent mode nor in programmed mode.
2) New sensor and old working CR3000. ---- result, sensor neither communicate in transparent mode nor in programmed mode.
3)New CR3000 and old sensor ---- result, sensor neither communicate in transparent mode nor in programmed mode.
4) new CR3000 and new sensor --- result, sensor neither communicate in transparent mode nor in programmed mode.
Since two sensors and two loggers are tested, and all are giving similar results, I guess problem may be somewhere else may be in some setting of CR3000. Sensor does not have any setting parameters except connection terminals.
As long as the program does not contain any instructions that might conflict with the use of a control port for SDI-12 there are no other settings in the logger that control SDI-12 use.
Perhaps you can tell us what sensor your are trying to use so others can share their experience of it with us.
Also, stop the program. Querying the sensor too fast can cause these symptoms.
http://www.youtube.com/playlist?list=PLR_Ted9kITyJ-15ODKLD5729zgYG-mAqz
Andew/Sam: I am testing OTT RLS sensors. I checked out SDI12 video in sniffer mode. But I do not see any actions from logger, sending/receiving messages. Procedures, I followed, are like this:
1) At power on following code is running.
Dim Dest(1)
BeginProg
SDI12Recorder (Dest,7,0,"M!",1.0,0)
EndProg
2) from loggernet: Main--> connect----> disconnect . --> file control --> stop programm
3)then again: Main--> connect----> connect. This shows logger is connected back.
3) selected data logger option on connect screen --->terminal emulator. on terminal emulator at few enter keys hit CR3000> prompt appears
4) At CR3000 prompts "W" was pressed. List of options appeared.
5) select: 12 -- SDI-12 or CWB100---> enter timeout (secs): 60---> ASCII--Y
hit ESC to exit, any other key to renew timeout
After this nothing is happening and it times out after 60 secs.
* Last updated by: vk on 12/3/2013 @ 10:47 PM *
There is some confusion here. You only need to stop the program if it is running very quickly as the program can interfere with talk-through mode.
If you do not run the program there will be nothing to "sniff" as the logger will not try to talk to the sensor at all. The sniff option will allow you to see what the logger is doing if you let the program run.
The OTT RLS sensor is sold by our Canadian company and I can find no trace of a report saying it will not work with our loggers (our US office sells their bubbler too).
The only thing I would note is that the M! command will normally return two values so the variable DEST in your program should be declared as an array of size 2.
There is some success after adding scan function to above code and I can see following string in terminal emulator. Below strings comes in one stretch (~700ms interval) and then next scan but I do not any see response from the sensor. I tried inserting a delay of 1000 ms before next scan in order to give sufficient time to sensor to respond.
Scan interval were tried from 5 sec to 20 sec.
T 11:17:10.02 0M!
T 11:17:10.09 0M!
T 11:17:10.17 0M!
T 11:17:10.27 0M!
T 11:17:10.34 0M!
T 11:17:10.42 0M!
T 11:17:10.52 0M!
T 11:17:10.59 0M!
T 11:17:10.67 0M!
Power (11.9V) is reaching to the sensor. Just to check I replaced the sensor under test with other sensor but result is same i.e. no response from sensor.
* Last updated by: vk on 12/3/2013 @ 11:32 PM *
What you are seeing implies the logger is working OK as it will retry three times automatically if it gets no response after the timeout defined by the SDI-12 protocol.
Having quickly studied the RLS manual I see there are two versions of the sensor only one of which (the -S version) uses the standard SDI-12 connection although it still talks the SDI-12 protocol, but over an RS485 interface (this is the -4 version I believe). One would work with the logger in the way it is connected the other would not.
Andrew: You are right. There are RS485 and 4-20mA interface terminal also in addition to SDI12. What I tried out now is used SDIRecorder (..) instruction and connected RS485 terminal to RS485 to RS232 converter to communicate with sensor. But I failed to talk with sensor. I am not sure if this way is right to use. I used Com1 in this case. Please suggest how do I talk with sensor in this configuration i.e. SDI,& RS485..
* Last updated by: vk on 12/4/2013 @ 5:08 AM *
IF this is the -S version then you should be able to connect it to the SDI-12 terminal and the single control port on the logger and use the SDI-12 recorder instruction.
If it is the -4 version then you would need to connect via RS485 and emulate the SDI-12 protocol in your program, sending and receiving the commands using serialin, serialout instructions etc. You would need to talk to OTT to check if they have implemented any equivalent of the "break" signal that is normally used to wake sensors on standard SDI-12 connections.
It you have the -4 version it might be easier to just record the 4-20 mA output which I think works with both versions!
Andew:It is -4 version and I connected RS485, however below code does not yield any result. I tried Com1 also for Tx, Rx & defining outstring1,2 as string also. Manual says after M! sensor takes 25 sec (25000ms) to response and response ends with CRLF. Please see code.
Public InString As String * 1000
Public SerialIndest As String * 100, NBytesReturned
Const OutString2 = "0D0!"
Const OutString1 = "0MC!"
Dim Dest(2)
BeginProg
SDI12Recorder (Dest(),7,0,"M!",1.0,0)
SerialOpen(Com1,1200,10,0,50) '10-RS232 logic; Even 'parity, one stop bit, 7 data, SDI 'protocol
Delay (0,15,mSec)
SerialOpen(Com2,1200,10,0,50)
Delay (0,15,mSec)
Scan (30,Sec,3,0)
SerialFlush(Com1)
SerialOut (Com1,(OutString1),"",0,100)
Delay(1,25000,msec)
SerialOut (Com1,(OutString2),"",0,100)
SerialIn (SerialIndest,Com2,100,&H0D0A,100)
NextScan
EndProg