beautypg.com

Sdi-12 command & response protocol – Xylem H-3311 User Manual

Page 12

background image

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.

” Are carriage return (0D) hex and line feed (0A) hex characters. They are the last two

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 characters.

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.

This manual is related to the following products: