Communication over UMB-ASCII 2.0
Snow depth sensor SHM 31, V2.1 29
8. Communication over UMB-ASCII 2.0
This section describes the communication and output of measured values of the SHM 31 over the UMB-
ASCII 2.0 data protocol. Communication is available over the RS232 and RS485 interfaces.
8.1. Syntax
The parts in the square brackets are optional:
Request <Add>:<No>:<Payload><CR><LF>
Response <STX><Add>:<No>:<Payload>:< UMB Status>:<Checksum><CR><LF><EOT>
Payload <Cmd>[;<Param0>;…;ParamN][=<Value0>;…;<ValueN>]
The individual blocks of the protocol are separated by a colon. This block separator is adjustable. <Add> is
the sensor’s UMB address, 4 hex characters, with leading zeros, in the range 0001 – FFFF. Messages with
an incorrect address are ignored by the sensor. The <No> field can be set to any two hex characters by the
sender during the request. The sensor adopts these characters and includes them in its response. <No> can
be used as a time reference, for example, if there is a possibility of the request and the response not arriving
directly one after the other.
<Payload> is the telegram’s actual payload. It contains the command with its parameters and values. The
<Status> field consists of two hex characters, with leading zeros. If a command is unknown or incorrect, the
payload contains the command and the status contains the corresponding error code. Requests and
responses end with the characters <CR><LF> (adjustable). A sensor’s response is additionally framed by the
control characters <STX> and <EOT>.
The payload contains the command along with its information. Commands can have one or more
parameters, separated by a semicolon. This parameter separator is adjustable. If a request’s payload
contains an equals sign, it is a write command. The <Value> value can be one of the supported data types,
including strings, depending on the command. Several values can be transferred here too, separated by
semicolons. A point is used as the decimal separator (adjustable).
The length of a request should not exceed 128 characters; the length of a response should
not exceed 512 characters.
8.
2. Checksum
Replies from the sensor include a checksum <Checksum> to ensure the integrity of the
transmitted data. The checksum is a complement on two of the 8-bit sum of all characters,
including control characters but without the checksum itself. The checksum consists of two hex
symbols with leading zero.
8.3. Examples
For the following examples it is used: <Add> = B001, <Nr> =4E (default: 00)
Reset: B001:4E:RST<CR><LF>
<STX>B001:4E:RST:00:<CheckSum><CR><LF><EOT>
Auto Transmit Interval (Evaluation interval):
B001:4E:ATI=60<CR><LF>
<STX>B001:4E:ATI=60:<CheckSum><CR><LF><EOT>
P
olling (Request of the data telegram):
B001:4E:SS;1<CR><LF>
<STX>B001:4E:SS;1=085;003.0117;+02.1253;185;+15;17.8;00:00:94
<CR><LF><EOT>
R
ead Channel (Read a UMB measurement channel):
B
001:4E:CHN;100<CR><LF>
<STX>B001:4E:CHN;100=+23.45:00:<CheckSum><CR><LF><EOT>
B
001:4E:CHN;110<CR><LF>
<STX>7001:4E:CHN;110:28:<CheckSum><CR><LF><EOT>