Changes for page Water Quality Sensors
Last modified by Karry Zhuang on 2025/02/18 15:43
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -11,19 +11,28 @@ 11 11 12 12 13 13 * **Power Input**: DC7~~30 14 + 14 14 * **Power Consumption** : < 0.5W 16 + 15 15 * **Interface**: RS485. 9600 Baud Rate 18 + 16 16 * **EC Range & Resolution:** 17 17 ** **ECK0.01** : 0.02 ~~ 20 μS/cm 18 18 ** **ECK0.1**: 0.2 ~~ 200.0 μS/cm 19 19 ** **ECK1.0** : 2 ~~ 2,000 μS/cm Resolution: 1 μS/cm 20 20 ** **ECK10.0** : 20 ~~ 20,000 μS/cm Resolution: 10 μS/cm 24 + 21 21 * **EC Accuracy**: ±1% FS 26 + 22 22 * **Temperature Measure Range**: -20 ~~ 60 °C 28 + 23 23 * **Temperature Accuracy: **±0.5 °C 30 + 24 24 * **IP Rated**: IP68 32 + 25 25 * **Max Pressure**: 0.6MPa 26 26 35 + 27 27 == 1.2 Application for Different Range == 28 28 29 29 ... ... @@ -84,10 +84,14 @@ 84 84 85 85 86 86 * The equipment itself generally does not require daily maintenance. When an obvious fault occurs, please do not open it and repair it yourself, and contact us as soon as possible. 96 + 87 87 * If the electrode is not used for a long time, it can generally be stored in a dry place, but it must be placed (stored) in distilled water for several hours before use to activate the electrode. Electrodes that are frequently used can be placed (stored) in distilled water. 98 + 88 88 * Cleaning of conductivity electrodes: Organic stains on the electrode can be cleaned with warm water containing detergent, or with alcohol. Calcium and magnesium precipitates are best cleaned with 10% citric acid. The electrode plate or pole can only be cleaned by chemical methods or by shaking in water. Wiping the electrode plate will damage the coating (platinum black) on the electrode surface. 100 + 89 89 * The equipment should be calibrated before each use. It is recommended to calibrate it every 3 months for long-term use. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). 90 90 103 + 91 91 == 1.7 RS485 Commands == 92 92 93 93 ... ... @@ -113,6 +113,7 @@ 113 113 |=(% style="width: 100px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 110px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 106px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 93px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 104px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 114 114 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 115 115 129 + 116 116 === 1.7.2 Change address === 117 117 118 118 ... ... @@ -150,6 +150,7 @@ 150 150 0X8F 151 151 ))) 152 152 167 + 153 153 === 1.7.4 Query data === 154 154 155 155 ... ... @@ -196,7 +196,8 @@ 196 196 197 197 This device uses one-point calibration, and you need to prepare a known E standard solution. When mileage K=1, 1~~2000 uses 1413μS/cm standard solution, and when mileage K=10, 10~~20000 uses 12.88mS/cm standard solution. 198 198 199 -**The calibration steps are as follows:** 214 +(% style="color:blue" %)**The calibration steps are as follows:** 215 + 200 200 (1) Place the electrode in distilled water and clean it. When mileage 1~~2000 uses 1413μS/cm standard solution, enter the following calibration command after the data is stable. 201 201 202 202 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) ... ... @@ -235,6 +235,7 @@ 235 235 |=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 high 236 236 |(% style="width:99px" %)0X11|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X26|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0XEB|(% style="width:1px" %)0X50 237 237 254 + 238 238 = 2. DR-PH01 Water PH Sensor = 239 239 240 240 == 2.1 Specification == ... ... @@ -241,18 +241,30 @@ 241 241 242 242 243 243 * **Power Input**: DC7~~30 261 + 244 244 * **Power Consumption** : < 0.5W 263 + 245 245 * **Interface**: RS485. 9600 Baud Rate 265 + 246 246 * **pH measurement range**: 0~~14.00pH; resolution: 0.01pH 247 -* **pH measurement error**:±0.15pH 248 -* **Repeatability error**:±0.02pH 249 -* **Temperature measurement range**:0~~60℃; resolution: 0.1℃ (set temperature for manual temperature compensation, default 25℃) 250 -* **Temperature measurement error**: ±0.5℃ 267 + 268 +* **pH measurement error**: ±0.15pH 269 + 270 +* **Repeatability error**: ±0.02pH 271 + 272 +* **Temperature measurement range**:0~~60°C; resolution: 0.1°C (set temperature for manual temperature compensation, default 25°C) 273 + 274 +* **Temperature measurement error**: ±0.5°C 275 + 251 251 * **Temperature Measure Range**: -20 ~~ 60 °C 277 + 252 252 * **Temperature Accuracy: **±0.5 °C 279 + 253 253 * **IP Rated**: IP68 281 + 254 254 * **Max Pressure**: 0.6MPa 255 255 284 + 256 256 == 2.2 Wiring == 257 257 258 258 ... ... @@ -259,7 +259,7 @@ 259 259 [[image:image-20240720172548-2.png||height="348" width="571"]] 260 260 261 261 262 -== (% style="color:inherit; font-family:inherit" %)2.3(% style="color:inherit; font-family:inherit; font-size:26px" %)Mechinical Drawing(%%)==291 +== 2.3 Mechinical Drawing == 263 263 264 264 265 265 [[image:image-20240714174241-2.png]] ... ... @@ -297,17 +297,24 @@ 297 297 298 298 299 299 * The equipment itself generally does not require daily maintenance. When an obvious fault occurs, please do not open it and repair it yourself. Contact us as soon as possible! 329 + 300 300 * There is an appropriate amount of soaking solution in the protective bottle at the front end of the electrode. The electrode head is soaked in it to keep the glass bulb and the liquid junction activated. When measuring, loosen the bottle cap, pull out the electrode, and rinse it with pure water before use. 331 + 301 301 * Preparation of electrode soaking solution: Take a packet of PH4.00 buffer, dissolve it in 250 ml of pure water, and soak it in 3M potassium chloride solution. The preparation is as follows: Take 25 grams of analytical pure potassium chloride and dissolve it in 100 ml of pure water. 333 + 302 302 * The glass bulb at the front end of the electrode cannot come into contact with hard objects. Any damage and scratches will make the electrode ineffective. 335 + 303 303 * Before measurement, the bubbles in the electrode glass bulb should be shaken off, otherwise it will affect the measurement. When measuring, the electrode should be stirred in the measured solution and then placed still to accelerate the response. 337 + 304 304 * The electrode should be cleaned with deionized water before and after measurement to ensure accuracy. 339 + 305 305 * After long-term use, the pH electrode will become passivated, which is characterized by a decrease in sensitivity gradient, slow response, and inaccurate readings. At this time, the bulb at the bottom of the electrode can be soaked in 0.1M dilute hydrochloric acid for 24 hours (0.1M dilute hydrochloric acid preparation: 9 ml of hydrochloric acid is diluted to 1000 ml with distilled water), and then soaked in 3.3M potassium chloride solution for 24 hours. If the pH electrode is seriously passivated and soaking in 0.1M hydrochloric acid has no effect, the pH electrode bulb can be soaked in 4% HF (hydrofluoric acid) for 3-5 seconds, washed with pure water, and then soaked in 3.3M potassium chloride solution for 24 hours to restore its performance. 341 + 306 306 * Glass bulb contamination or liquid junction blockage can also cause electrode passivation. At this time, it should be cleaned with an appropriate solution according to the nature of the contaminant. 307 -* ((( 308 -The equipment should be calibrated before each use. For long-term use, it is recommended to calibrate once every 3 months. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). After aging, the electrodes should be replaced in time. 309 -))) 310 310 344 +* The equipment should be calibrated before each use. For long-term use, it is recommended to calibrate once every 3 months. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). After aging, the electrodes should be replaced in time. 345 + 346 + 311 311 == 2.6 RS485 Commands == 312 312 313 313 ... ... @@ -378,7 +378,7 @@ 378 378 379 379 If the sensor receives correctly, the following data will be returned, slave → host 380 380 381 -(% border="1" cellspacing="3" style="background-color:#f2f2f2;width:518px" %) 417 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 382 382 |=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 383 383 |(% style="width:99px" %)0X10|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0XC4|(% style="width:56px" %)0X9B 384 384 ... ... @@ -393,11 +393,13 @@ 393 393 394 394 395 395 This device uses three-point calibration, and three known pH standard solutions need to be prepared. 396 -**The calibration steps are as follows:** 432 + 433 +(% style="color:blue" %)**The calibration steps are as follows:** 434 + 397 397 (1) Place the electrode in distilled water to clean it, and then place it in 9.18 standard buffer solution. After the data stabilizes, enter the following calibration command, and the 9.18 calibration is completed. 398 398 399 399 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 400 -|=(% style="width: 6 4px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high438 +|=(% style="width: 61px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 401 401 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 402 402 0X00 403 403 )))|(% style="width:68px" %)0X20|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X8A|(% style="width:55px" %)((( ... ... @@ -407,7 +407,7 @@ 407 407 (2) Wash the electrode in distilled water and place it in 6.86 standard buffer. After the data stabilizes, enter the following calibration command. The 6.86 calibration is completed. 408 408 409 409 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 410 -|=(% style="width: 6 4px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high448 +|=(% style="width: 61px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 411 411 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 412 412 0X00 413 413 )))|(% style="width:68px" %)0X21|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XDB|(% style="width:55px" %)((( ... ... @@ -417,7 +417,7 @@ 417 417 (3) Wash the electrode in distilled water and place it in 4.01 standard buffer. After the data stabilizes, enter the following calibration command, and the 4.00 calibration is completed. 418 418 419 419 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 420 -|=(% style="width: 6 4px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high458 +|=(% style="width: 61px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 421 421 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 422 422 0X00 423 423 )))|(% style="width:68px" %)0X22|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X2B|(% style="width:55px" %)((( ... ... @@ -431,38 +431,52 @@ 431 431 432 432 == 3.1 Specification == 433 433 472 + 434 434 * **Power Input**: DC7~~30 474 + 435 435 * **Measuring range**:** **-1999~~1999mV 436 -**Resolution**: 1mV 476 + 477 +* **Resolution**: 1mV 478 + 437 437 * **Interface**: RS485. 9600 Baud Rate 480 + 438 438 * **Measurement error**: ±3mV 482 + 439 439 * **Stability**: ≤2mv/24 hours 440 -* **Equipment working conditions**: Ambient temperature: 0-60℃ Relative humidity: <85%RH 484 + 485 +* **Equipment working conditions**: Ambient temperature: 0-60°C Relative humidity: <85%RH 486 + 441 441 * **IP Rated**: IP68 488 + 442 442 * **Max Pressure**: 0.6MPa 443 443 491 + 444 444 == 3.2 Wiring == 445 445 494 + 446 446 [[image:image-20240720172620-3.png||height="378" width="620"]] 447 447 448 448 449 449 == 3.3 Mechinical Drawing == 450 450 500 + 451 451 [[image:image-20240714174241-2.png]] 452 452 503 + 453 453 == 3.4 Installation Notice == 454 454 506 + 455 455 Do not power on while connect the cables. Double check the wiring before power on. 456 456 457 -Installation Photo as reference: 509 +**Installation Photo as reference:** 458 458 459 -** ~Submerged installation:**511 +(% style="color:blue" %)** Submerged installation:** 460 460 461 461 The lead wire of the equipment passes through the waterproof pipe, and the 3/4 thread on the top of the equipment is connected to the 3/4 thread of the waterproof pipe with raw tape. Ensure that the top of the equipment and the equipment wire are not flooded. 462 462 463 463 [[image:image-20240718191348-6.png]] 464 464 465 -** ~Pipeline installation:**517 +(% style="color:blue" %)** Pipeline installation:** 466 466 467 467 Connect the equipment to the pipeline through the 3/4 thread. 468 468 ... ... @@ -490,6 +490,7 @@ 490 490 491 491 (9) The equipment should be calibrated before each use. It is recommended to calibrate once every 3 months for long-term use. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). After aging, the electrodes should be replaced in time. 492 492 545 + 493 493 == 3.6 RS485 Commands == 494 494 495 495 ... ... @@ -496,38 +496,45 @@ 496 496 RS485 signaldefault address 0x13 497 497 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 498 498 552 + 499 499 === 3.6.1 Query address === 500 500 501 -send 502 502 503 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 504 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high 556 +**send:** 557 + 558 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 559 +|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)CRC16 high 505 505 |(% style="width:99px" %)0XFE |(% style="width:112px" %)0X03|(% style="width:135px" %)0X00|(% style="width:126px" %)0X50|(% style="width:85px" %)0X00|(% style="width:1px" %)0X00|(% style="width:1px" %)0X51|(% style="width:1px" %)0XD4 506 506 507 -response 508 508 509 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %) 510 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 106px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 93px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 104px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 563 +**response:** 564 + 565 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 566 +|=(% style="width: 103.6px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 103.6px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 511 511 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 512 512 569 + 513 513 === 3.6.2 Change address === 514 514 572 + 515 515 For example: Change the address of the sensor with address 1 to 2, master → slave 516 516 517 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)518 -|=(% style="width: 5 0px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width:1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high575 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 576 +|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)CRC16 high 519 519 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X50|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0X08|(% style="width:1px" %)0X1A 520 520 521 521 If the sensor receives correctly, the data is returned along the original path. 522 -Note: If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, and the return address is still the original address, which can be used as a method of address query. 523 523 581 +(% style="color:red" %)**Note: If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, and the return address is still the original address, which can be used as a method of address query.** 524 524 583 + 525 525 === 3.6.3 Modify intercept === 526 526 527 -send 528 528 529 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 530 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 67px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 69px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Register Length low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high 587 +**send:** 588 + 589 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 590 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register Length low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 high 531 531 |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( 532 532 0X96 533 533 ))) ... ... @@ -534,10 +534,10 @@ 534 534 535 535 Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command. 536 536 537 -response 597 +**response:** 538 538 539 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)540 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width:50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width:50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width:50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width:50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width:1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width:50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width:50px;background-color:#4F81BD;color:white" %)CRC16 high599 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 600 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 high 541 541 |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)((( 542 542 0X00 543 543 )))|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( ... ... @@ -544,19 +544,20 @@ 544 544 0X96 545 545 ))) 546 546 607 + 547 547 === 3.6.4 Query data === 548 548 549 549 550 550 Query the data (ORP) of the sensor (address 13), host → slave 551 551 552 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)553 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high613 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 614 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 554 554 |(% style="width:99px" %)0X13|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0X87|(% style="width:56px" %)0X78 555 555 556 556 If the sensor receives correctly, the following data will be returned, slave → host 557 557 558 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)559 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high619 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 620 +|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 560 560 |(% style="width:99px" %)0X13|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0X80|(% style="width:56px" %)0X9B 561 561 562 562 The query data command is 13 03 00 00 00 01 87 78 ... ... @@ -568,12 +568,13 @@ 568 568 569 569 === 3.6.5 Calibration Method === 570 570 632 + 571 571 This device uses two-point calibration, and two known ORP standard solutions need to be prepared. The calibration steps are as follows: 572 572 (1) Place the electrode in distilled water to clean it, and then place it in 86mV standard buffer solution. After the data stabilizes, 573 573 enter the following calibration command, and the 86mV point calibration is completed; 574 574 575 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 75.333px" %)576 -|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width:55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high637 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 638 +|=(% style="width: 42px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 577 577 |(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 578 578 0X00 579 579 )))|(% style="width:68px" %)0X24|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XCB|(% style="width:55px" %)((( ... ... @@ -582,9 +582,9 @@ 582 582 583 583 Wash the electrode in distilled water and place it in 256mV standard buffer. After the data is stable, enter the following calibration command to complete the 256mV point calibration. 584 584 585 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 75.333px" %)586 -|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width:55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high587 -|(% style="width:6 4px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)(((647 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 648 +|=(% style="width: 42px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 649 +|(% style="width:68px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 588 588 0X00 589 589 )))|(% style="width:68px" %)0X25|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X9A|(% style="width:55px" %)((( 590 590 0XC3 ... ... @@ -592,27 +592,38 @@ 592 592 593 593 = 4. DR-DO1 Dissolved Oxygen Sensor = 594 594 657 +== 4.1 Specification == 595 595 596 596 597 - ==4.1 Specification==660 +* **Measuring range**: 0-20mg/L, 0-50°C 598 598 662 +* **Accuracy**: 3%, ±0.5°C 599 599 600 -* **Measuring range**: 0-20mg/L, 0-50℃ 601 -* **Accuracy**: 3%, ±0.5℃ 602 -* **Resolution**: 0.01 mg/L, 0.01℃ 664 +* **Resolution**: 0.01 mg/L, 0.01°C 665 + 603 603 * **Maximum operating pressure**: 6 bar 667 + 604 604 * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 669 + 605 605 * **Power supply voltage**: 5-24V DC 606 -* **Working environment**: temperature 0-60℃; humidity <95%RH 671 + 672 +* **Working environment**: temperature 0-60°C; humidity <95%RH 673 + 607 607 * **Power consumption**: ≤0.5W 608 608 609 609 == 4.2 wiring == 610 610 678 + 611 611 [[image:image-20240720172632-4.png||height="390" width="640"]] 612 612 613 613 614 -== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals ==682 +== 4.3 Impedance requirements for current signals == 615 615 684 + 685 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:420px" %) 686 +|=(% style="width: 140px" %)Supply Voltage|=(% style="width: 70px;" %)9V|=(% style="width: 70px;" %)**12V**|=(% style="width: 70px;" %)**20V**|=(% style="width: 70px;" %)**24V** 687 +|(% style="width:137px" %)**Max Impedance**|(% style="width:70px" %)**<250Ω**|(% style="width:68px" %)**<400Ω**|(% style="width:68px" %)**<500Ω**|(% style="width:70px" %)**<900Ω** 688 + 616 616 [[image:image-20240718195414-8.png||height="100" width="575"]] 617 617 618 618 ... ... @@ -624,61 +624,69 @@ 624 624 625 625 == 4.5 Instructions for use and maintenance == 626 626 700 + 627 627 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 702 + 628 628 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 629 629 705 + 630 630 == 4.6 RS485 Commands == 631 631 708 + 632 632 RS485 signaldefault address 0x14 633 633 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 634 634 712 + 635 635 === 4.6.1 Query address === 636 636 637 -send 638 638 639 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 640 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 716 +**send:** 717 + 718 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 719 +|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register address high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register address low|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 641 641 |(% style="width:99px" %)0XFF|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X0A|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:56px" %)0XF1|(% style="width:56px" %)0XD7 642 642 643 643 If you forget the original address of the sensor, you can use the broadcast address 0XFF instead. When using 0XFE, the host can only connect to one slave, which can be used as a method of address query. 644 644 645 645 646 -response 725 +**response:** 647 647 648 648 Register 0 data high and register 0 data low indicate the actual address of the sensor: 1 649 649 Register 1 data high and register 1 data low indicate the sensor version 650 650 651 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)652 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:64px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high730 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 731 +|=(% style="width: 40px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 653 653 |(% style="width:99px" %)0XFF|(% style="width:72px" %)0X03|(% style="width:64px" %)0X04|(% style="width:68px" %)0X00|(% style="width:70px" %)0X01|(% style="width:72px" %)0X00|(% style="width:56px" %)0X00|(% style="width:56px" %)0XB4|(% style="width:56px" %)0X3C 654 654 655 655 === 4.6.2 Change address === 656 656 736 + 657 657 For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave 658 658 659 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 907.333px" %)660 -|=(% style="width: 67px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width:71px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:65px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width:65px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:53px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:53px; background-color: rgb(79, 129, 189); color: white;" %)Start address high|=(% style="width:53px; background-color: rgb(79, 129, 189); color: white;" %)Start address low|=(% style="width:53px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width:53px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low739 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 740 +|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Start address high|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Start address low|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width: 39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low 661 661 |(% style="width:67px" %)0X01|(% style="width:71px" %)0X10|(% style="width:65px" %)0X00|(% style="width:65px" %)0X0A|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:53px" %)0X04|(% style="width:53px" %)0X00|(% style="width:72px" %)0X02|(% style="width:53px" %)0X00|(% style="width:53px" %)0X00|(% style="width:56px" %)0XD2|(% style="width:53px" %)0X10 662 662 663 -response 743 +**response:** 664 664 665 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)666 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high745 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 746 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 667 667 |(% style="width:99px" %)0X01|(% style="width:72px" %)0X10|(% style="width:64px" %)0X00|(% style="width:68px" %)0X0A|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:56px" %)0X61|(% style="width:56px" %)0XCA 668 668 749 + 669 669 === 4.6.3 Query data === 670 670 671 671 672 672 Query the data (dissolved oxygen) of the sensor (address 14), host → slave 673 673 674 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)675 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high755 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 756 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 676 676 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X14|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0XC6|(% style="width:56px" %)0XCB 677 677 678 678 If the sensor receives correctly, the following data will be returned, slave → host 679 679 680 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)681 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high761 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 762 +|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 682 682 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X03|(% style="width:72px" %)0X78|(% style="width:56px" %)0XB5|(% style="width:56px" %)0X55 683 683 684 684 After the query, 7 bytes will be returned. For example, the returned data is 14 03 02 (% style="color:red" %)**03 78**(%%) B5 55. 03 78 is the value of dissolved oxygen. ... ... @@ -688,54 +688,67 @@ 688 688 689 689 Query the data (temperature) of the sensor (address 14), host → slave 690 690 691 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)692 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high772 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 773 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 693 693 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X11|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0XD6|(% style="width:56px" %)0XCA 694 694 695 695 If the sensor receives correctly, the following data will be returned, slave → host 696 696 697 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)698 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high778 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 779 +|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 699 699 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X09|(% style="width:72px" %)0XA4|(% style="width:56px" %)0XB2|(% style="width:56px" %)0X6C 700 700 701 701 After the query, 7 bytes will be returned. For example, the returned data is 14 03 02 (% style="color:red" %)**09 A4**(%%) B2 6C. 03 78 is the value of dissolved oxygen temperature. 702 702 703 -Converted to decimal, it is 2468. Add two decimal places to get the actual value. 09 A4 means the current dissolved oxygen temperature is 24.68 ℃784 +Converted to decimal, it is 2468. Add two decimal places to get the actual value. 09 A4 means the current dissolved oxygen temperature is 24.68°C 704 704 705 705 706 706 = 5. DR-TS1 Water Turbidity Sensor = 707 707 789 +== 5.1 Specification == 708 708 709 709 710 - ==(% id="cke_bm_81470S"style="display:none"%) (%%)5.1Specification ==792 +* **Measuring range**: 0.11000.0NTU 711 711 712 -* **Measuring range**: 0.1~1000.0NTU 713 713 * **Accuracy**: ±5% 795 + 714 714 * **Resolution**: 0.1NTU 797 + 715 715 * **Stability**: ≤3mV/24 hours 716 -* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 717 -* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 718 -* **Working environment**: temperature 0~60℃; humidity ≤95%RH 719 -* **Power consumption**: ≤0.5W 720 720 800 +* **Output signal**: A: 420 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 801 + 802 +* **Power supply voltage**: 524V DC (when output signal is RS485)1224V DC (when output signal is 420mA) 803 + 804 +* **Working environment**: temperature 060°C; humidity ≤ 95%RH 805 + 806 +* **Power consumption**: ≤ 0.5W 807 + 721 721 == 5.2 wiring == 722 722 810 + 723 723 [[image:image-20240720172640-5.png||height="387" width="635"]] 724 724 725 725 726 726 == 5.3 Impedance requirements for current signals == 727 727 728 -[[image:image-20240718195414-8.png||height="100" width="575"]] 729 729 817 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:420px" %) 818 +|=(% style="width: 140px" %)Supply Voltage|=(% style="width: 70px;" %)9V|=(% style="width: 70px;" %)**12V**|=(% style="width: 70px;" %)**20V**|=(% style="width: 70px;" %)**24V** 819 +|(% style="width:137px" %)**Max Impedance**|(% style="width:70px" %)**<250Ω**|(% style="width:68px" %)**<400Ω**|(% style="width:68px" %)**<500Ω**|(% style="width:70px" %)**<900Ω** 730 730 821 + 731 731 == 5.4 Mechinical Drawing == 732 732 824 + 733 733 [[image:image-20240718195058-7.png||height="305" width="593"]] 734 734 735 735 736 736 == 5.5 Instructions for use and maintenance == 737 737 830 + 738 738 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 832 + 739 739 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 740 740 741 741 == 5.6 RS485 Commands == ... ... @@ -744,47 +744,52 @@ 744 744 RS485 signaldefault address 0x15 745 745 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 746 746 841 + 747 747 === 5.6.1 Query address === 748 748 749 -send 750 750 751 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 752 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 753 -|(% style="width:99px" %)0XFE |(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X50|(% style="width:70px" %)0X00|(% style="width:72px" %)0X00|(% style="width:56px" %)0X51|(% style="width:56px" %)0XD4 845 +**send:** 754 754 847 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 848 +|=(% style="width: 80.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 54.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 58.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 849 +|(% style="width:99px" %)0XFE |(% style="width:64.75px" %)0X03|(% style="width:64px" %)0X00|(% style="width:64.75px" %)0X50|(% style="width:70px" %)0X00|(% style="width:72px" %)0X00|(% style="width:56px" %)0X51|(% style="width:56px" %)0XD4 850 + 755 755 If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, which can be used as a method of address query. 756 756 757 757 758 -response 854 +**response:** 759 759 760 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 61.333px" %)761 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)New address|=(% style="width:50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 106px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:93px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 104px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high856 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 857 +|=(% style="width: 103.6px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 103.6px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 762 762 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 763 763 764 764 === 5.6.2 Change address === 765 765 862 + 766 766 For example: Change the address of the sensor with address 1 to 2, master → slave 767 767 768 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)769 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width:1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high865 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 866 +|=(% style="width: 80.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 54.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 58.75px;background-color:#4F81BD;color:white" %)CRC16 high 770 770 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X50|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0X08|(% style="width:1px" %)0X1A 771 771 772 772 If the sensor receives correctly, the data is returned along the original path. 773 -Note: If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, and the return address is still the original address, which can be used as a method of address query. 774 774 871 +(% style="color:red" %)**Note: If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, and the return address is still the original address, which can be used as a method of address query.** 872 + 873 + 775 775 === 5.6.3 Query data === 776 776 777 777 778 778 Query the data (turbidity) of the sensor (address 15), host → slave 779 779 780 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)781 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high879 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 880 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 782 782 |(% style="width:99px" %)0X15|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0X87|(% style="width:56px" %)0X1E 783 783 784 784 If the sensor receives correctly, the following data will be returned, slave → host 785 785 786 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)787 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high885 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 886 +|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 788 788 |(% style="width:99px" %)0X15|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0X9A|(% style="width:56px" %)0X09|(% style="width:56px" %)0X4C 789 789 790 790 The query data command is 15 03 00 00 00 01 87 1E