Reference

This article outlines the communication protocols and data frame formats essential for sensor operations, with detailed calibration instructions and maintenance tips to ensure optimal performance in measuring dissolved oxygen and other parameters.

Communication Protocol Description

1. Basic communication parameters

Interface Encoding Data bits Parity bits Stop bits Error checking Baud rate
RS485 8-bit binary 8 None 1 CRC 2400bit/s, 4800bit/s, 9600bit/s, 19200bit/s, 38400bit/s, 57600bit/s, 115200bit/s configurable, default 4800bit/s

2. Data frame format definition

Using Modbus-RTU communication protocol, the format is as follows:

Initial structure ≥4 bytes of time

Address code = 1 byte

Function code = 1 byte

Data area = N bytes

Error check = 16-bit CRC code

End structure ≥4 bytes of time

Address code: The address of the sensor, which is unique in the communication network (factory default 0x01).

Function code: The function indication of the command sent by the host. This sensor reads the register function code 0x03/0x04 and writes the register function code 0x06/0x10

Data area: The data area is the specific communication data. Note that the high byte of 16-bit data is in front!

CRC code: A two-byte check code.

Register address

Register Address Content Supported Function Code Definition
0000H, 0001H Dissolved Oxygen Saturation 0x03/0x04 1 = 100%; floating point number, big endian
0002H, 0003H Dissolved Oxygen Concentration 0x03/0x04 mg/L; floating point number, big endian
0004H, 0005H Temperature 0x03/0x04 °C; floating point number, big endian
1010H Calibration 0x06/0x10 Write 0x0001 to calibrate the zero point, write 0x0002 to calibrate the 100% saturation point
1020H Salinity 0x03/0x04/0x06/0x10 %; Seawater version defaults to 30%
1022H Atmospheric pressure 0x03/0x04/0x06/0x10 kPa; Default is 101.33, 100 times the actual value
07D0H Device address 0x03/0x04/0x06/0x10 1 to 254 (factory default 1)
07D1H Device baud rate 0x03/0x04/0x06/0x10 0 represents 2400, 1 represents 4800, 2 represents 9600, 3 represents 19200, 4 represents 38400, 5 represents 57600, and 6 represents 115200

3. Communication Protocol Example and Explanation

3.1. Reading Dissolved Oxygen Saturation (%), Dissolved Oxygen Concentration (mg/L), and Temperature

Inquiry Frame:

Address Code Function Code Register Starting Address Register Length Check Code Low Bit Check Code High Bit
0x01 0x03 0x00 0x00 0x00 0x06 0xC5 0xC8

Response Frame:

Address Code Function Code Return Valid Bytes Dissolved oxygen concentration, saturation, and temperature values Value Check Code Low Bit Check Code High Bit
0x01 0x03 0x0C 0x3F 0x6A 0xEB 0x52 0x40 0xE2 0x48 0xB0 0x41 0xE5 0x85 0xC5 0xA7 0x49

Floating point number big-endian 3F 6A EB 52 is 0.917653, dissolved oxygen saturation is 91.8%
Floating point number big-endian 40 E2 48 B0 is 7.071373, dissolved oxygen concentration is 7.07 mg/L
Floating point number big-endian 41 E5 85 C5 is 28.690317, temperature is 28.7°C

3.2. Write atmospheric pressure 101.35 kPa

Query frame:

Address code Function code Register address Modified value Checksum low bit Check Code High Bit
0x01 0x06 0x10 0x22 0x27 0x97 0x77 0x5E

Response Frame:

Address Code Function Code Register Address Modified Value Check Code Low Bit Check Code High Bit
0x01 0x06 0x10 0x22 0x27 0x97 0x77 0x5E

3.3. Zero Calibration

Inquiry Frame: After the sensor's value stabilizes in oxygen-free water, write to register 1010H. 0x0001

Address Code Function Code Register Address Modified Value Check Code Low Bit Check Code High Bit
0x01 0x06 0x10 0x10 0x00 0x01 0x4D 0x0F

Response Frame:

Address Code Function Code Register Address Modified Value Check Code Low Bit Check Code High Bit
0x01 0x06 0x10 0x10 0x00 0x01 0x4D 0x0F

3.4. Change the current address to 0x02

Inquiry frame:

Address code Function code Register address Modified value Check code low bit Check code high bit
0x01 0x06 0x07 0xD0 0x00 0x02 0x08 0x86

Response frame:

Address code Function code Register address Modified value Check code low bit Check code high bit
0x01 0x06 0x07 0xD0 0x00 0x02 0x08 0x86

3.5. Change the current baud rate to 9600

Inquiry frame:

Address code Function code Register address Modify value Check code low bit Check code high bit
0x01 0x06 0x07 0xD1 0x00 0x02 0x59 0x46

Response frame:

Address code Function code Register address Modify value Check code low bit Check code high bit
0x01 0x06 0x07 0xD1 0x00 0x02 0x59 0x46

Dissolved Oxygen Saturation Concentration Temperature Comparison Table

Temperature (°C) Dissolved Oxygen (mg/L) Temperature (°C) Dissolved Oxygen (mg/L)
0 14.64 18 9.46
1 14.22 19 9.27
2 13.82 20 9.08
3 13.44 21 8.90
4 13.09 22 8.73
5 12.74 23 8.57
6 12.42 24 8.41
7 12.11 25 8.25
8 11.81 26 8.11
9 11.53 27 7.96
10 11.26 28 7.82
11 11.01 29 7.69
12 10.77 30 7.56
13 10.53 31 7.43
14 10.30 32 7.30
15 10.08 33 7.18
16 9.86 34 7.07
17 9.66 35 6.95

Principle

Fluorescence measurement:
Fluorescence measurement is based on the principle of fluorescence quenching. Blue light strikes a fluorescent substance, exciting it and causing it to emit red light. Because oxygen molecules can absorb this energy (a quenching effect), the duration and intensity of the excited red light are inversely proportional to the oxygen concentration. By measuring the phase difference between the excited red light and reference light and comparing it with an internal calibration value, the oxygen concentration can be calculated.

Other Supplementary Information

Calibration Instructions

1. Calibration Preparation

Zero Oxygen Standard Solution Preparation: In a windless, sun-proof location, take enough pure water (distilled or deionized) to cover the stainless steel parts of the device. Add 5g of anhydrous sodium sulfite to every 95g of water and stir thoroughly to dissolve to create a 5% sodium sulfite solution. Let stand for 1 hour to ensure that the oxygen in the solution is completely consumed. If possible, add a trace amount of cobalt chloride as a catalyst.

100% Oxygen Environment Preparation: In a windless, sun-proof location, take enough pure water (distilled or deionized) to cover the stainless steel parts of the device. Using an air pump, continuously introduce air into the water for 1 hour. Then, let it stand for 30 minutes to create air-saturated water. Alternatively, in a windless, sun-proof location, take a small amount of water in a sealed container and shake vigorously for 30 seconds to create water-saturated air. During calibration, keep the device's fluorescent film approximately 1cm above the water surface to ensure it is moist but free of water droplets.

2. Start Calibration

Place the sensor in a 100% oxygen environment. After the dissolved oxygen value stabilizes, send the 100% saturation calibration command to complete the 100% oxygen saturation calibration.
Then place the sensor in zero oxygen standard solution, gently stir to accelerate the response, and let it sit. After the dissolved oxygen value stabilizes, send the zero oxygen calibration command to complete the zero oxygen calibration.
Note: The sensor should be allowed to sit for a sufficient period of time in each calibration environment to ensure that the sensor temperature is consistent with the ambient temperature.

Installation

The sensor should be installed below the liquid surface. Avoid bumping or scratching the fluorescent membrane during installation and use. Keep the fluorescent membrane away from sediment. Remove the rubber protective cover before use.

Precautions and Maintenance

◆ If the device exhibits obvious malfunctions, do not open it and attempt to repair it yourself. Contact us immediately!
◆ Avoid bumping or scratching the fluorescent membrane on the front of the device. Any damage will reduce measurement accuracy or even render it unusable.
◆ Avoid using organic solvents and avoid using organic solvents to clean the fluorescent cap.
◆ When installing the device, avoid excessive tension or stress on the cables.
◆ Device Cleaning:
The exterior surface of the device can be cleaned with tap water and a damp soft cloth. Stubborn dirt can be removed by adding some household detergent to the tap water.
For the exterior surface of the fluorescent cap, rinse any dirt from the sensor's optical window with clean water. If wiping is necessary, wipe gently with a soft cloth and avoid scratching vigorously to prevent damage to the fluorescent film, which can lead to inaccurate measurements or inability to measure. If dust or moisture enters the fluorescent cap, remove the cap and rinse the interior surface and the device's optical glass window with tap water. If there is grease or oil, rinse with tap water mixed with household detergent. Rinse off the detergent and wipe all cleaned surfaces dry with a lint-free soft cloth. Place in a dry place to allow the moisture to evaporate completely. Cleaning every 30 days is recommended.
◆ Before measuring, remove the black rubber protective cover.
◆ During long-term storage, add water to the sponge in the protective case and squeeze out any excess water to keep the phosphor film moist. Keep the temperature above 0°C to prevent freezing and damage. For dry storage, the lowest temperature can be -10°C. Before use, soak the device in water for 48 hours to restore the phosphor film's response.
◆ It is recommended to replace the phosphor film annually.
◆ Calibrate the device before each measurement. For long-term use, calibrate every three months. The calibration frequency should be adjusted based on application conditions (such as the degree of dirt and chemical deposits).

Was this article helpful?

TOP