Communication protocol of NH232, NH485xxx humidity and temperature transmitters
1. General syntaxCommunication protocol is compatible with the Advantech standard ADAM:
[delimiter character][device address][command][data][checksum][carriage return]
There are following valid delimiter characters towards device: $, #, %
Device address contains 2 ascii byte v hexadecimal code (upper case letters)
representing one byte binary address
Checksum is optionally enabled/disabled
carriage return cr ... 1 byte (0Dh)
2. Configuration of the transducer
Syntax of command: %AANNTTCCFF cr
Description of symbols:
AA .... actual probe address 00...FF (hexadecimal)
NN ... new probe address 00 .. FF (hexadecimal)
TT ... the type (input range) code of the probe
2Ch relative humidity and temperature transducer
(real range depends on the transducer model)
| Code | speed [Bd] |
| 03 | 1200 |
| 04 | 2400 |
| 05 | 4800 |
| 06 | 9600 |
| 07 | 19200 |
FF data format and checksum status:
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
xxxxxx11 format "float" (IEEE754)
x0xxxxxx checksum disabled
x1xxxxxx checksum enabled
Notes:
1. Communication speed and checksum it is possible to change only if the jumper INIT was applied before connecting transducer to power (located side from interconnection terminals).
2. Change of communication speed and checksum can only be altered when transducer is switched OFF (power is disconnected), jumper INIT is disconnected and power is switched ON again..
3. If changing address and jumper INIT is connected, transducer responds again with address00h
4. If jumper INIT is not connected while changing address or output data format, parameters are modified immediately.
5. If an trial to send non-correct data to the probe(even syntax is correct), transducer
responds by an error message.
Response of the transducer:
1. If syntax of the command is not correct, transducer does not respond at all (e.g. no checksum occurred although it is enabled, checksum is not correct, character string is not complete or includes invalid character)
2. If syntax is correct, but required operation is not correct, transducer returns
error message in format
? AA cr
This status occurs, if a trial to change communication speed or checksum was encountered and jumper INIT was not connected. Also if other than enabled data format is required.
3. when command is performed, transducer responds:
! AA cr
Jumper INIT:
Jumper INIT is located next to interconnection terminals. If jumper is connected while power is applied, transducer communicates with following parameters: communication speed = 9600 Bd, no checksum, address 00h. In case modifications in configuration are performed to change the setting, new setting will be active after switching OFF the power, disconnection the jumper INIT and applying power again. Manipulation with the jumper should be performed when transducer is switched OFF.
Note: After switching ON the power, up to 3 second delay can occur, till transducer starts to communicate and measure!
Example: Command: %23242C0600 cr
Response: !24 cr
Transducer with former address 23h will be modified to address 24h, probe Nickel 1000, speed 9600 Bd, technical data format, no checksum.
Default setting from the manufacturer: 9600 Bd, address 0, no checksum.
Checksum :
Checksum is the sum of all characters preceding checksum.
Example: no checksum
Command: #000 cr
Response: > +20.5 cr
with checksum:
Command: #000 B3 cr
e.g.: 23 30 30 30 38 33 0D hexadecimal
23h+30h+30h+30h = B3h, e.g. CRC=B3h
Response: >+20.5 2E cr
e.g.: 3E 2B 32 30 2E 35 02 45 0D
3Eh+2Bh+32h+30h+2Eh+35h=12Eh tedy CRC = 2E
3. Reading data from transducer
3.1 Reading of temperature Syntax of command: #AA0 cr
Response: > (temperature) cr (e.g. >-12.3 cr for format "Engineering units")
3.2 Reading of relative humidity Syntax of command: #AA1 cr
Response: > (relative humidity) cr (e.g. >+44.3 cr for format "Engineering units")
Valid data formats:
1. Fixed decimal point (Engineering units)
both temperature and relative humidity is measured for 1 digit following the decimal point
Example: >-050.0 cr >+000.0 cr >+025.0 cr >+249.8 cr
error messages: >-0000 cr temperature lower limit, relative humidity error
>+9999 cr temperature upper limit, relative humidity error
2. Floating decimal point in accordance with IEEE754
Example: >0000803F cr (1.0000)
4. Calibration of the transducer
Before calibration it is necessary to switch OFF the power, connect jumper INIT and switch ON the transducer power again.
Temperature and relative humidity is calibrated in two separate steps.
1. Calibration of temperature
Calibration is being performed in two temperature points.
Syntax of command for point 1: $AAC0L (temperature 1) cr
temperature 1(2): real ambient temperature in "Engineering units" format
Send this command after temperature is settled on required temperature.
response: !AA cr
Syntax of command for point 2: $AAC0H (temperature 2) cr
Send this command after temperature is settled on required temperature.
response: !AA cr
2. Calibration of relative humidity
Calibration is being performed in two RH points.
Syntax of command for point 1: $AAC1L (relative humidity 1) cr
relative humidity 1(2): real ambient relative humidity in "Engineering units" format
Send this command after relative humidity is settled on required relative humidity.
response: !AA cr
Syntax of command for point 2: $AAC1H (relative humidity 2) cr
Send this command after relative humidity is settled on required relative humidity.
response: !AA cr
Notes: 1. Do not switch OFF the transducer and do not send other command than expected during calibration in process.
2. Switch OFF and ON again the transducer after calibration is completed
3. Type all digits preceding and following the decimal point
e.g. $00C0L+000.0 cr (not $00C0L+0.0 cr)
5. Request for information on actual configuration
Syntax of command: $AA2 cr
Response: !AATTCCFF cr
Symbols correspond with point 2 "Configuration of the transducer"
6. Reading module name
Syntax of command: $AAM cr
Response: !AANH232 cr (for NH232model) or
!AANH485 cr (for NH485 model)
7. Reading firmware version
Syntax of command: $AAF cr
Response: !AA(version) cr
reads actual version of transducer firmware

