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,17 +11,25 @@ 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 27 27 == 1.2 Application for Different Range == ... ... @@ -84,8 +84,11 @@ 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. 95 + 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. 97 + 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. 99 + 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 91 91 == 1.7 RS485 Commands == ... ... @@ -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:** 210 +(% style="color:blue" %)**The calibration steps are as follows:** 211 + 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,7 +235,6 @@ 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 238 - 239 239 = 2. DR-PH01 Water PH Sensor = 240 240 241 241 == 2.1 Specification == ... ... @@ -242,16 +242,27 @@ 242 242 243 243 244 244 * **Power Input**: DC7~~30 256 + 245 245 * **Power Consumption** : < 0.5W 258 + 246 246 * **Interface**: RS485. 9600 Baud Rate 260 + 247 247 * **pH measurement range**: 0~~14.00pH; resolution: 0.01pH 248 -* **pH measurement error**:±0.15pH 249 -* **Repeatability error**:±0.02pH 250 -* **Temperature measurement range**:0~~60℃; resolution: 0.1℃ (set temperature for manual temperature compensation, default 25℃) 251 -* **Temperature measurement error**: ±0.5℃ 262 + 263 +* **pH measurement error**: ±0.15pH 264 + 265 +* **Repeatability error**: ±0.02pH 266 + 267 +* **Temperature measurement range**:0~~60°C; resolution: 0.1°C (set temperature for manual temperature compensation, default 25°C) 268 + 269 +* **Temperature measurement error**: ±0.5°C 270 + 252 252 * **Temperature Measure Range**: -20 ~~ 60 °C 272 + 253 253 * **Temperature Accuracy: **±0.5 °C 274 + 254 254 * **IP Rated**: IP68 276 + 255 255 * **Max Pressure**: 0.6MPa 256 256 257 257 == 2.2 Wiring == ... ... @@ -260,7 +260,7 @@ 260 260 [[image:image-20240720172548-2.png||height="348" width="571"]] 261 261 262 262 263 -== (% style="color:inherit; font-family:inherit" %)2.3(% style="color:inherit; font-family:inherit; font-size:26px" %)Mechinical Drawing(%%)==285 +== 2.3 Mechinical Drawing == 264 264 265 265 266 266 [[image:image-20240714174241-2.png]] ... ... @@ -298,17 +298,22 @@ 298 298 299 299 300 300 * 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! 323 + 301 301 * 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. 325 + 302 302 * 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. 327 + 303 303 * 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. 329 + 304 304 * 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. 331 + 305 305 * The electrode should be cleaned with deionized water before and after measurement to ensure accuracy. 333 + 306 306 * 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. 335 + 307 307 * 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. 308 -* ((( 309 -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. 310 -))) 311 311 338 +* 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. 312 312 313 313 == 2.6 RS485 Commands == 314 314 ... ... @@ -320,38 +320,39 @@ 320 320 === 2.6.1 Query address === 321 321 322 322 323 -send 350 +**send:** 324 324 325 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)326 -|=(% 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 high352 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 353 +|=(% 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 327 327 |(% 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 328 328 329 -response 356 +**response:** 330 330 331 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 61.333px" %)332 -|=(% 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 high358 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 359 +|=(% 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 333 333 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 334 334 335 - 336 336 === 2.6.2 Change address === 337 337 364 + 338 338 For example: Change the address of the sensor with address 1 to 2, master → slave 339 339 340 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)341 -|=(% 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 high367 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 368 +|=(% 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 342 342 |(% 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 343 343 344 344 If the sensor receives correctly, the data is returned along the original path. 345 -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. 346 346 373 +(% 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.** 347 347 375 + 348 348 === 2.6.3 Modify intercept === 349 349 350 350 351 -send 379 +**send:** 352 352 353 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 70.333px" %)354 -|=(% style="width: 7 1px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width:74px; background-color: rgb(79, 129, 189); 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:57px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:57px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high381 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 382 +|=(% style="width: 44.75px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 69.75px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 69.75px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 69.75px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 69.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 355 355 |(% style="width:71px" %)0X10|(% style="width:74px" %)0X06|(% style="width:67px" %)0X00|(% style="width:68px" %)0X10|(% style="width:69px" %)0X00|(% style="width:66px" %)0X64|(% style="width:57px" %)0X8A|(% style="width:57px" %)((( 356 356 0XA5 357 357 ))) ... ... @@ -358,10 +358,10 @@ 358 358 359 359 Change the intercept of the sensor at address 10 to 1 (default is 0). You need to pass the intercept 1*100 =100 into the command 0x006. 360 360 361 -response 389 +**response:** 362 362 363 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)364 -|=(% 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 high391 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 392 +|=(% 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 365 365 |(% style="width:99px" %)0X10|(% style="width:112px" %)0X06|(% style="width:135px" %)((( 366 366 0X00 367 367 )))|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( ... ... @@ -373,14 +373,14 @@ 373 373 374 374 Query the data (PH) of the sensor (address 10), host → slave 375 375 376 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)377 -|=(% 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 high404 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 405 +|=(% 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 378 378 |(% style="width:99px" %)0X10|(% 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" %)0X4B 379 379 380 380 If the sensor receives correctly, the following data will be returned, slave → host 381 381 382 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)383 -|=(% 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 high410 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 411 +|=(% 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 384 384 |(% 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 385 385 386 386 The query data command is 10 03 00 00 00 01 87 4B. After the query, 7 bytes will be returned. ... ... @@ -394,11 +394,13 @@ 394 394 395 395 396 396 This device uses three-point calibration, and three known pH standard solutions need to be prepared. 397 -The calibration steps are as follows: 425 + 426 +(% style="color:blue" %)**The calibration steps are as follows:** 427 + 398 398 (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. 399 399 400 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 75.333px" %)401 -|=(% 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 high430 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 431 +|=(% 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 402 402 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 403 403 0X00 404 404 )))|(% style="width:68px" %)0X20|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X8A|(% style="width:55px" %)((( ... ... @@ -407,8 +407,8 @@ 407 407 408 408 (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. 409 409 410 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 75.333px" %)411 -|=(% 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 high440 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 441 +|=(% 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 412 412 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 413 413 0X00 414 414 )))|(% style="width:68px" %)0X21|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XDB|(% style="width:55px" %)((( ... ... @@ -417,8 +417,8 @@ 417 417 418 418 (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. 419 419 420 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 75.333px" %)421 -|=(% 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 high450 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 451 +|=(% 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 422 422 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 423 423 0X00 424 424 )))|(% style="width:68px" %)0X22|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X2B|(% style="width:55px" %)((( ... ... @@ -430,41 +430,55 @@ 430 430 431 431 = 3. DR-ORP1 Water ORP Sensor = 432 432 433 - 434 434 == 3.1 Specification == 435 435 465 + 436 436 * **Power Input**: DC7~~30 467 + 437 437 * **Measuring range**:** **-1999~~1999mV 438 -**Resolution**: 1mV 469 + 470 +* **Resolution**: 1mV 471 + 439 439 * **Interface**: RS485. 9600 Baud Rate 473 + 440 440 * **Measurement error**: ±3mV 475 + 441 441 * **Stability**: ≤2mv/24 hours 442 -* **Equipment working conditions**: Ambient temperature: 0-60℃ Relative humidity: <85%RH 477 + 478 +* **Equipment working conditions**: Ambient temperature: 0-60°C Relative humidity: <85%RH 479 + 443 443 * **IP Rated**: IP68 481 + 444 444 * **Max Pressure**: 0.6MPa 445 445 484 + 485 + 446 446 == 3.2 Wiring == 447 447 488 + 448 448 [[image:image-20240720172620-3.png||height="378" width="620"]] 449 449 450 450 451 451 == 3.3 Mechinical Drawing == 452 452 494 + 453 453 [[image:image-20240714174241-2.png]] 454 454 497 + 455 455 == 3.4 Installation Notice == 456 456 500 + 457 457 Do not power on while connect the cables. Double check the wiring before power on. 458 458 459 -Installation Photo as reference: 503 +**Installation Photo as reference:** 460 460 461 -** ~Submerged installation:**505 +(% style="color:blue" %)** Submerged installation:** 462 462 463 463 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. 464 464 465 465 [[image:image-20240718191348-6.png]] 466 466 467 -** ~Pipeline installation:**511 +(% style="color:blue" %)** Pipeline installation:** 468 468 469 469 Connect the equipment to the pipeline through the 3/4 thread. 470 470 ... ... @@ -492,6 +492,7 @@ 492 492 493 493 (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. 494 494 539 + 495 495 == 3.6 RS485 Commands == 496 496 497 497 ... ... @@ -498,38 +498,45 @@ 498 498 RS485 signaldefault address 0x13 499 499 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 500 500 546 + 501 501 === 3.6.1 Query address === 502 502 503 -send 504 504 505 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 506 -|=(% 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 550 +**send:** 551 + 552 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 553 +|=(% 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 507 507 |(% 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 508 508 509 -response 510 510 511 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %) 512 -|=(% 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 557 +**response:** 558 + 559 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 560 +|=(% 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 513 513 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 514 514 563 + 515 515 === 3.6.2 Change address === 516 516 566 + 517 517 For example: Change the address of the sensor with address 1 to 2, master → slave 518 518 519 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)520 -|=(% 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 high569 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 570 +|=(% 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 521 521 |(% 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 522 522 523 523 If the sensor receives correctly, the data is returned along the original path. 524 -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. 525 525 575 +(% 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.** 526 526 577 + 527 527 === 3.6.3 Modify intercept === 528 528 529 -send 530 530 531 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 532 -|=(% 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 581 +**send:** 582 + 583 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 584 +|=(% 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 533 533 |(% 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" %)((( 534 534 0X96 535 535 ))) ... ... @@ -536,10 +536,10 @@ 536 536 537 537 Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command. 538 538 539 -response 591 +**response:** 540 540 541 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)542 -|=(% 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 high593 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 594 +|=(% 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 543 543 |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)((( 544 544 0X00 545 545 )))|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( ... ... @@ -546,19 +546,20 @@ 546 546 0X96 547 547 ))) 548 548 601 + 549 549 === 3.6.4 Query data === 550 550 551 551 552 552 Query the data (ORP) of the sensor (address 13), host → slave 553 553 554 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)555 -|=(% 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 high607 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 608 +|=(% 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 556 556 |(% 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 557 557 558 558 If the sensor receives correctly, the following data will be returned, slave → host 559 559 560 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)561 -|=(% 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 high613 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 614 +|=(% 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 562 562 |(% 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 563 563 564 564 The query data command is 13 03 00 00 00 01 87 78 ... ... @@ -570,12 +570,13 @@ 570 570 571 571 === 3.6.5 Calibration Method === 572 572 626 + 573 573 This device uses two-point calibration, and two known ORP standard solutions need to be prepared. The calibration steps are as follows: 574 574 (1) Place the electrode in distilled water to clean it, and then place it in 86mV standard buffer solution. After the data stabilizes, 575 575 enter the following calibration command, and the 86mV point calibration is completed; 576 576 577 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 75.333px" %)578 -|=(% 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 high631 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 632 +|=(% 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 579 579 |(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 580 580 0X00 581 581 )))|(% style="width:68px" %)0X24|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XCB|(% style="width:55px" %)((( ... ... @@ -584,9 +584,9 @@ 584 584 585 585 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. 586 586 587 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 75.333px" %)588 -|=(% 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 high589 -|(% style="width:6 4px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)(((641 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 642 +|=(% 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 643 +|(% style="width:68px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 590 590 0X00 591 591 )))|(% style="width:68px" %)0X25|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X9A|(% style="width:55px" %)((( 592 592 0XC3 ... ... @@ -594,27 +594,35 @@ 594 594 595 595 = 4. DR-DO1 Dissolved Oxygen Sensor = 596 596 651 +== 4.1 Specification == 597 597 598 598 599 - ==4.1 Specification==654 +* **Measuring range**: 0-20mg/L, 0-50°C 600 600 656 +* **Accuracy**: 3%, ±0.5°C 601 601 602 -* **Measuring range**: 0-20mg/L, 0-50℃ 603 -* **Accuracy**: 3%, ±0.5℃ 604 -* **Resolution**: 0.01 mg/L, 0.01℃ 658 +* **Resolution**: 0.01 mg/L, 0.01°C 659 + 605 605 * **Maximum operating pressure**: 6 bar 661 + 606 606 * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 663 + 607 607 * **Power supply voltage**: 5-24V DC 608 -* **Working environment**: temperature 0-60℃; humidity <95%RH 665 + 666 +* **Working environment**: temperature 0-60°C; humidity <95%RH 667 + 609 609 * **Power consumption**: ≤0.5W 610 610 670 + 611 611 == 4.2 wiring == 612 612 673 + 613 613 [[image:image-20240720172632-4.png||height="390" width="640"]] 614 614 615 615 616 -== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals ==677 +== 4.3 Impedance requirements for current signals == 617 617 679 + 618 618 [[image:image-20240718195414-8.png||height="100" width="575"]] 619 619 620 620 ... ... @@ -626,60 +626,71 @@ 626 626 627 627 == 4.5 Instructions for use and maintenance == 628 628 691 + 629 629 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 693 + 630 630 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 631 631 696 + 632 632 == 4.6 RS485 Commands == 633 633 699 + 634 634 RS485 signaldefault address 0x14 635 635 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 636 636 703 + 637 637 === 4.6.1 Query address === 638 638 639 -send 640 640 641 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 707 +**send:** 708 + 709 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 642 642 |=(% 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 643 643 |(% 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 644 644 713 + 645 645 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. 646 646 647 647 648 -response 717 +**response:** 649 649 650 650 Register 0 data high and register 0 data low indicate the actual address of the sensor: 1 651 651 Register 1 data high and register 1 data low indicate the sensor version 652 652 653 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)722 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 654 654 |=(% 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 high 655 655 |(% 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 656 656 726 + 657 657 === 4.6.2 Change address === 658 658 729 + 659 659 For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave 660 660 661 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 907.333px" %)732 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 662 662 |=(% 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 low 663 663 |(% 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 664 664 665 -response 736 +**response:** 666 666 667 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)738 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 668 668 |=(% 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 high 669 669 |(% 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 670 670 742 + 671 671 === 4.6.3 Query data === 672 672 673 673 674 674 Query the data (dissolved oxygen) of the sensor (address 14), host → slave 675 675 676 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)748 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 677 677 |=(% 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 high 678 678 |(% 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 679 679 752 + 680 680 If the sensor receives correctly, the following data will be returned, slave → host 681 681 682 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)755 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 683 683 |=(% 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 high 684 684 |(% 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 685 685 ... ... @@ -690,56 +690,71 @@ 690 690 691 691 Query the data (temperature) of the sensor (address 14), host → slave 692 692 693 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)766 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 694 694 |=(% 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 high 695 695 |(% 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 696 696 770 + 697 697 If the sensor receives correctly, the following data will be returned, slave → host 698 698 699 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)773 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 700 700 |=(% 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 high 701 701 |(% 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 702 702 777 + 703 703 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. 704 704 705 -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 ℃780 +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 706 706 707 707 708 708 = 5. DR-TS1 Water Turbidity Sensor = 709 709 785 +== 5.1 Specification == 710 710 711 711 712 - ==(% id="cke_bm_81470S"style="display:none"%) (%%)5.1Specification ==788 +* **Measuring range**: 0.1~1000.0NTU 713 713 714 -* **Measuring range**: 0.1~1000.0NTU 715 715 * **Accuracy**: ±5% 791 + 716 716 * **Resolution**: 0.1NTU 793 + 717 717 * **Stability**: ≤3mV/24 hours 718 -* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 719 -* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 720 -* **Working environment**: temperature 0~60℃; humidity ≤95%RH 721 -* **Power consumption**: ≤0.5W 722 722 796 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 797 + 798 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 799 + 800 +* **Working environment**: temperature 0~60°C; humidity ≤ 95%RH 801 + 802 +* **Power consumption**: ≤ 0.5W 803 + 804 + 723 723 == 5.2 wiring == 724 724 807 + 725 725 [[image:image-20240720172640-5.png||height="387" width="635"]] 726 726 727 727 728 728 == 5.3 Impedance requirements for current signals == 729 729 813 + 730 730 [[image:image-20240718195414-8.png||height="100" width="575"]] 731 731 732 732 733 733 == 5.4 Mechinical Drawing == 734 734 819 + 735 735 [[image:image-20240718195058-7.png||height="305" width="593"]] 736 736 737 737 738 738 == 5.5 Instructions for use and maintenance == 739 739 825 + 740 740 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 827 + 741 741 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 742 742 830 + 743 743 == 5.6 RS485 Commands == 744 744 745 745 ... ... @@ -746,11 +746,13 @@ 746 746 RS485 signaldefault address 0x15 747 747 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 748 748 837 + 749 749 === 5.6.1 Query address === 750 750 751 -send 752 752 753 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 841 +**send:** 842 + 843 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 754 754 |=(% 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 755 755 |(% 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 756 756 ... ... @@ -757,38 +757,43 @@ 757 757 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. 758 758 759 759 760 -response 850 +**response:** 761 761 762 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 61.333px" %)852 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 763 763 |=(% 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 764 764 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 765 765 856 + 766 766 === 5.6.2 Change address === 767 767 768 768 For example: Change the address of the sensor with address 1 to 2, master → slave 769 769 770 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 676.25px" %)861 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 771 771 |=(% 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 772 772 |(% 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 773 773 865 + 774 774 If the sensor receives correctly, the data is returned along the original path. 775 -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. 776 776 868 +(% 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.** 869 + 777 777 === 5.6.3 Query data === 778 778 779 779 780 780 Query the data (turbidity) of the sensor (address 15), host → slave 781 781 782 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)875 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 783 783 |=(% 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 high 784 784 |(% 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 785 785 879 + 786 786 If the sensor receives correctly, the following data will be returned, slave → host 787 787 788 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 99.333px" %)882 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 789 789 |=(% 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 high 790 790 |(% 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 791 791 886 + 792 792 The query data command is 15 03 00 00 00 01 87 1E 793 793 794 794 For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C