SDI-12 measurements
The SDI-12 protocol supports the SDI-12 commands listed in SDI-12 commands.
The SnowVue 10 needs to be powered for at least 1.5 s before it can receive an SDI‑12 command.
The different commands are entered as options in the SDI-12 recorder instruction. If the SnowVue 10 is unable to detect a proper echo for a measurement, the sensor will return a 0 for the distance-to-target value.
| SDI-121 command | Values returned or function (units) |
Response |
|---|---|---|
aM!, aC! |
Distance (m) | 5 s typical, 20 s maximum |
aM1!, aC1! |
|
5 s typical, 20 s maximum |
aM2!, aC2! |
|
5 s typical, 20 s maximum |
aM3!, aC3! |
|
5 s typical, 20 s maximum |
aM4!, aC4! |
|
5 s typical, 20 s maximum |
aM9!, aC9! |
|
3 s maximum |
aR3!
|
Returns the CPU temperature (° C) |
|
aI! |
|
|
|
a |
|
|
?!
|
SDI-12 address | |
aAb!
where b = new address |
Change address command | |
aXRM!
|
Returns the distance to ground setting, in meters; it returns four decimal places | |
|
where D.DD = distance in meters |
Extended
command
that sets the distance-to-ground parameter, in meters, in the SnowVue 10; the distance must be no more than |
|
aXRT!
|
Returns the reference temperature (° C)2, which is a value that remains the same unless power is cycled or a new temperature value is sent; the default value on power up is 0 °C. | |
|
a where CC.C = temperature in °C |
Sets reference temperature (° C)2, when having the SnowVue 10 apply temperature compensation internally. | |
|
a where rrrrr= baud rate SNOWVUE_nnn.xobj = OS name |
Sends the new OS to the sensor; refer to Updating the operation system (OS) using XLOADOS SDI-12 command |
|
The Campbell Scientific data logger follows the SDI-12 protocol and pauses its operation after sending the M! command then waits until either it receives a response from the sensor, or the sensor timeout expires. Because of the datalogger functionality for this command, it is recommended in measurement scans of 20 seconds or more.
The C! command follows the same pattern as the M! command with the exception that it does not require the data logger to pause its operation until the values are ready. Rather, the data logger picks up the data with the D! command on the next pass through the program. Another measurement request is then sent so data is ready on the next scan.