Sutron Corporation X-Link Operations & Maintenance Manual, Rev 1.63 5/24/2016 pg. 168
When setting up multiple SDI-12 sensors, connect one sensor at a time. Once a
new sensor is connected, you must give it a unique address. To do so, either use
LinkComm or the command line. Type SDI-12 FIND to detect new sensors. Once a
sensor is found, change its address by typing SDI xAy!, where x is the old address,
A is A, and y the new address. For example, SDI 0A1! will change the address
from 0 to 1.
When getting more than one parameter from a single sensor, be sure to set the
measurement schedules the same. When X-Link finds multiple parameters from
a single sensor (same address), it will only issue a measurement of the sensor
once, then read each of the parameters from the one measurement. This is
important to ensure that data from one sensor is gathered at the same time and
for sensors that have multiple parameters that take a long time to process.
17.5.
Useful SDI commands
Resetting the address by software (some sensors) is normally done by sending
the aAb! command. (a A b !, where a is the current address of the sensor you
want to change and b is the address you want to change to, e.g. 0A5! changes
the address of sensor 0 to address 5.)
Another useful SDI-12 command is the aI! (where a is the address of the sensor,
e.g. 3I! for sensor at address 3) command. 4I! will return an identification string
from the sensor at address 4, which includes the SDI version number, vendor's
name, sensor model number, sensor version number, and serial number. This is
a quick way to see if the sensor is responding properly.
A way to verify data collection (manual data collection) is to issue the aM!
command. For example 7M! would collect data from the sensor at address 7.
The sensor will respond with a 5-digit code -- the first digit is the address, the
next 3 digits are the required time for measurement in seconds, and the last digit
is the number of data values returned. Wait for the number of seconds. Then
issue the aD0! (address, D, zero, !) the sensor should respond with one or more
data values. You may issue further aD1! … aDn! till you get all of the data.
If the SDI sensor is version 1.3 (version number can be found out by sending the
?I! command; the version is returned as the second and third characters of the
response), then make sure to use the CRC measurement commands. These
commands work just like normal measurement commands, except that they use
an error checking mechanism that minimizes errors. So, instead of 0M!, use
0MC!. Instead of 0M1!, use 0MC1!. This will ensure reliable SDI communication.