Sdi-12 command & response protocol – Xylem H-3311 User Manual
Page 12
10
SDI-12 COMMAND &
RESPONSE PROTOCOL
This is a brief description of the Serial Digital Interface (SDI-12) Command and Response
protocol used by the WATERLOG® Series Model H-3301/3311 sensor. Included is a description
of the commands and data format supported by the H-3301/3311.
Refer to the document “A SERIAL DIGITAL INTERFACE STANDARD FOR HYDROLOGIC AND
ENVIRONMENTAL SENSORS”. Version 1.3 January 12, 2009 Coordinated by the SDI-12 Support
Group.
During normal communication, the data recorder sends an address together with a command to
the H-3301/3311 sensor. The H-3301/3311 then replies with a “response”. In the following
descriptions, SDI-12 commands and responses are enclosed in quotes. The SDI-12 address and
the command/response terminators are defined as follows:
“a”
Is the sensor address. The following ASCII Characters are valid addresses: “0-9”, “A-Z”,
“a-z”, “*”, “?”. Sensors will be initially programmed at the factory with the address of
“0” for use in single sensor systems. Addresses “1 to 9” and “A to Z” or “a to z” can be
used for additional sensors connected to the same SDI-12 bus. Address “*” and “?” are
“wild card” addresses which select any sensor, regardless of its actual address.
“!”
Is the last character of a command block.
“
characters of a response block.
Notes:
•
All commands/responses are upper-case printable ASCII characters.
•
Commands must be terminated with a “!” character.
•
Responses are terminated with
•
The command string must be transmitted in a contiguous block with no gaps of more than 1.66
milliseconds between characters.
To enhance the error detection capability in SDI-12 data collection systems, a variation of the Start
Measurement Commands (M!, M1! ... M9!), Start Concurrent Measurement Commands (C!, C1! ...
C9!), and Continuous Measurement Commands (aR0! ... aR9!) request that the data be returned
with a 16 bit Cyclic Redundancy Check (CRC) appended to it. These commands use the existing
command letters with a C appended, namely: aMC!, aMC1! ... aMC9!, aCC!, aCC1! ... aCC9!, and
aRC0! ... aRC9!. When these commands are used, the data returned in response to the D commands,
or R commands, have a CRC code appended to it.