command (note that the SDI-12 address is a separate instruction parameter), the data logger
issues the aM! and aD0! commands with proper elapsed time between the two. The data logger
automatically issues retries and performs other services that make the SDI-12 measurement work
as trouble free as possible.
For troubleshooting purposes, responses to SDI-12 commands can be captured in programmed
mode by placing a variable declared As String in the variable parameter. Variables not
declared As String will capture only numeric data.
See the CRBasic Editor help for detailed instruction information and program examples:
https://help.campbellsci.com/crbasic/cr300/ .
19.7.3 Programming the data logger to act as an SDI-12
sensor
The SDI12SensorSetup() / SDI12SensorResponse() instruction pair programs the data
logger to behave as an SDI-12 sensor. A common use of this feature is to copy data from the data
logger to other Campbell Scientific data loggers over a single data-wire interface (terminal
configured for SDI-12 to terminal configured for SDI-12), or to copy data to a third-party SDI-12
recorder.
See the CRBasic Editor help for detailed instruction information and program examples:
https://help.campbellsci.com/crbasic/cr300/ .
When programmed as an SDI-12 sensor, the data logger will respond to SDI-12 commands M, MC,
C, CC, R, RC, V, ?, and I.
When acting as a sensor, the data logger can be assigned only one SDI-12 address per SDI-12
port. For example, a data logger will not respond to both 0M! and 1M! on SDI-12 port C1.
However, different SDI-12 ports can have unique SDI-12 addresses.
19.7.4 SDI-12 power considerations
When a command is sent by the data logger to an SDI-12 probe, all probes on the same SDI-12
port will wake up. However, only the probe addressed by the data logger will respond. All other
probes will remain active until the timeout period expires.
Example:
Probe: Water Content
19. Communications protocols140