Changes for page Water Quality Sensors
Last modified by Karry Zhuang on 2025/07/25 09:38
From version 73.1
edited by Karry Zhuang
on 2025/07/16 09:59
on 2025/07/16 09:59
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (1 modified, 0 added, 4 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. karry1 +XWiki.Xiaoling - Content
-
... ... @@ -5,7 +5,7 @@ 5 5 6 6 7 7 8 -= 1. DR-EC Water EC Probe = 8 += 1. DR-ECK Water EC Probe = 9 9 10 10 == 1.1 Specification: == 11 11 ... ... @@ -17,27 +17,22 @@ 17 17 * **Interface**: RS485. 9600 Baud Rate 18 18 19 19 * **EC Range & Resolution:** 20 -** **ECK1.0 :** 0 ~~ 2,000 μS/cm Resolution: 1 μS/cm 21 -** **ECK10.0 : **10 ~~ 20,000 μS/cm Resolution: 10 μS/cm 22 -** **EC200 : **1 ~~ 200,000 μS/cm Resolution: 1 μS/cm 20 +** **ECK0.01** : 0.02 ~~ 20 μS/cm 21 +** **ECK0.1**: 0.2 ~~ 200.0 μS/cm 22 +** **ECK1.0** : 2 ~~ 2,000 μS/cm Resolution: 1 μS/cm 23 +** **ECK10.0** : 20 ~~ 20,000 μS/cm Resolution: 10 μS/cm 24 + 23 23 * **EC Accuracy**: ±1% FS 24 -* **Salinity measurement range** 25 -** **EC200 :**0~~70PSU Resolution: 0.1PSU 26 -* **Temperature measurement range** 27 -** **ECK1/ECK10:**-20~~+60℃; Resolution: 0.1℃ 28 -** **EC200 :**-5~~+80℃; Resolution: 0.1℃ 26 + 27 +* **Temperature Measure Range**: -20 ~~ 60 °C 28 + 29 29 * **Temperature Accuracy: **±0.5 °C 30 -* **Temperature compensation range** 31 -** **ECK1/ECK10:**0~~+60℃ (default compensation temperature 25℃) 32 -** **EC200:**-5~~+80℃ (default compensation temperature 25℃) 33 -* **Temperature compensation coefficient:**Default 0.2 34 -* **Working environment:** 35 -** Ambient Temperature: 0–60°C 36 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 37 -** ECK200 Continuous monitoring of cross-section water quality, aquaculture, sewage treatment, environmental protection, pharmaceuticals, food, tap water, seawater and other high conductivity environments 30 + 38 38 * **IP Rated**: IP68 32 + 39 39 * **Max Pressure**: 0.6MPa 40 40 35 + 41 41 == 1.2 Application for Different Range == 42 42 43 43 ... ... @@ -47,17 +47,15 @@ 47 47 == 1.3 Wiring == 48 48 49 49 50 -[[image:image-2024 1129142314-1.png||height="352" width="1108"]]45 +[[image:image-20240720172533-1.png||height="347" width="569"]] 51 51 52 52 53 53 == 1.4 Mechinical Drawing == 54 54 55 - ECK1 and ECK10 EC200 56 56 51 +[[image:image-20240714174241-2.png]] 57 57 58 -[[image:image-20240714174241-2.png]] [[image:1752564223905-283.png||height="399" width="160"]] 59 59 60 - 61 61 == 1.5 Installation == 62 62 63 63 ... ... @@ -113,10 +113,7 @@ 113 113 RS485 signal (K1 default address 0x12; K10 default address 0x11): 114 114 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 115 115 116 -(% style="color:red" %)**The following commands are by default for ECK1/ECK10.** 117 117 118 -(% style="color:red" %)**Please note that EC200 has different commands.** 119 - 120 120 === 1.7.1 Query address === 121 121 122 122 ... ... @@ -135,8 +135,6 @@ 135 135 |=(% 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 136 136 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 137 137 138 - 139 - 140 140 === 1.7.2 Change address === 141 141 142 142 ... ... @@ -215,35 +215,8 @@ 215 215 **For example**, the returned data is 12 03 04 (% style="color:red" %)**02 AE**(%%) 01 64 B8 D0. 02 AE is converted to decimal 686, K=1, EC: 686uS/cm,temperature: 35.6℃ Convert the returned data to decimal and divide by 10. 216 216 217 217 218 -EC200 219 - 220 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %) 221 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 74px; background-color: rgb(79, 129, 189); color: white;" %)Register Address|=(% style="width: 94px; background-color: rgb(79, 129, 189); color: white;" %)Register length|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 77px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 222 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X04|(% style="width:72px" %)((( 223 -0XC5 224 -)))|(% style="width:77px" %)0XC8 225 - 226 -**response:** 227 - 228 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %) 229 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 74px; background-color: rgb(79, 129, 189); color: white;" %)Number of valid bytes|=(% style="width: 94px; background-color: rgb(79, 129, 189); color: white;" %)Register contents|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 77px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 230 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X08|(% style="width:94px" %)((( 231 -0X00 0X00 0X1E 0XEF 0X01 0X14 0X00 0X2B 232 -)))|(% style="width:72px" %)((( 233 -0X42 234 -)))|(% style="width:77px" %)0X59 235 - 236 -Conductivity calculation: 0X1EEF=7919=>Conductivity=7919μS/cm 237 -Temperature calculation: 0X0114=276=>Temperature=27.6℃ 238 -Salinity calculation: 0X002b=43=>Salinity=4.3PSU 239 - 240 - 241 - 242 - 243 - 244 244 === 1.7.5 Calibration Method === 245 245 246 -ECK1 and ECK10.0 247 247 248 248 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. 249 249 ... ... @@ -287,62 +287,6 @@ 287 287 |=(% 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 288 288 |(% 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 289 289 290 - 291 - 292 -EC200 293 - 294 -For the device with address 01, use 1413uS/cm standard solution to calibrate the first point. Send frame: 1413. Convert hexadecimal to 585. Write 0001, 00 00, 0585 to 0x0120, 0x0121, 0x0122 respectively. 295 - 296 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 297 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data length|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Register contents|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 high 298 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X10|(% style="width:135px" %)0X01 0X20|(% style="width:126px" %)0X00 0X03|(% style="width:85px" %)0X06|(% style="width:1px" %)((( 299 -0X00 300 -0X01 301 -0X00 302 -0X00 303 -0X05 304 -0X85 305 -)))|(% style="width:1px" %)0X1c|(% style="width:1px" %)((( 306 -((( 307 -0X25 308 -))) 309 -))) 310 - 311 -**response:** 312 - 313 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %) 314 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data length|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 60px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 315 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X10|(% style="width:135px" %)0X01 0X02|(% style="width:126px" %)0X00 0X03|(% style="width:85px" %)0X06|(% style="width:1px" %)((( 316 -0X80 317 -)))|(% style="width:60px" %)0X3e((( 318 - 319 -))) 320 - 321 -Use 111310uS/cm standard solution to calibrate the second point and send the frame: 111310 is converted into hexadecimal 1b2ce, and 0002, 0001,b2 ce are written to 0x0120, 0x0121, and 0x0122 respectively. 322 - 323 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 324 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data length|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Register contents|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 high 325 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X10|(% style="width:135px" %)0X01 0X20|(% style="width:126px" %)0X00 0X03|(% style="width:85px" %)0X06|(% style="width:1px" %)((( 326 -0X00 327 -0X02 328 -0X00 329 -0X01 330 -0Xb2 331 -0Xce 332 -)))|(% style="width:1px" %)0X3e|(% style="width:1px" %)((( 333 -((( 334 -0X22 335 -))) 336 -))) 337 - 338 -**response:** 339 - 340 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %) 341 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data length|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 60px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 342 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X10|(% style="width:135px" %)0X01 0X02|(% style="width:126px" %)0X00 0X03|(% style="width:85px" %)0X06|(% style="width:1px" %)((( 343 -0X80 344 -)))|(% style="width:60px" %)0X3e 345 - 346 346 = 2. DR-PH01 Water PH Sensor = 347 347 348 348 == 2.1 Specification == ... ... @@ -364,9 +364,7 @@ 364 364 365 365 * **Temperature measurement error**: ±0.5°C 366 366 367 -* **Working environment:** 368 -** Ambient Temperature: 0–60°C 369 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 272 +* **Temperature Measure Range**: -20 ~~ 60 °C 370 370 371 371 * **Temperature Accuracy: **±0.5 °C 372 372 ... ... @@ -435,6 +435,7 @@ 435 435 436 436 * 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. 437 437 341 + 438 438 == 2.6 RS485 Commands == 439 439 440 440 ... ... @@ -500,12 +500,12 @@ 500 500 Query the data (PH) of the sensor (address 10), host → slave 501 501 502 502 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 503 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 74px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:75px; 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 high504 -|(% style="width:99px" %)0X10|(% style="width:7 4px" %)0X03|(% style="width:75px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0X87|(% style="width:56px" %)0X4B407 +|=(% 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 408 +|(% 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 505 505 506 506 If the sensor receives correctly, the following data will be returned, slave → host 507 507 508 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; 412 +(% border="1" cellspacing="3" style="background-color:#f2f2f2;width:518px" %) 509 509 |=(% 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 510 510 |(% 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 511 511 ... ... @@ -560,7 +560,6 @@ 560 560 561 561 == 3.1 Specification == 562 562 563 - 564 564 * **Power Input**: DC7~~30 565 565 566 566 * **Measuring range**:** **-1999~~1999mV ... ... @@ -573,9 +573,7 @@ 573 573 574 574 * **Stability**: ≤2mv/24 hours 575 575 576 -* **Working environment:** 577 -** Ambient Temperature: 0–60°C 578 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 479 +* **Equipment working conditions**: Ambient temperature: 0-60°C Relative humidity: <85%RH 579 579 580 580 * **IP Rated**: IP68 581 581 ... ... @@ -583,22 +583,18 @@ 583 583 584 584 == 3.2 Wiring == 585 585 586 - 587 587 [[image:image-20240720172620-3.png||height="378" width="620"]] 588 588 589 589 590 590 == 3.3 Mechinical Drawing == 591 591 592 - 593 593 [[image:image-20240714174241-2.png]] 594 594 595 - 596 596 == 3.4 Installation Notice == 597 597 598 - 599 599 Do not power on while connect the cables. Double check the wiring before power on. 600 600 601 - **Installation Photo as reference:**498 +Installation Photo as reference: 602 602 603 603 (% style="color:blue" %)** Submerged installation:** 604 604 ... ... @@ -634,7 +634,6 @@ 634 634 635 635 (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. 636 636 637 - 638 638 == 3.6 RS485 Commands == 639 639 640 640 ... ... @@ -641,17 +641,15 @@ 641 641 RS485 signaldefault address 0x13 642 642 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 643 643 644 - 645 645 === 3.6.1 Query address === 646 646 542 +send 647 647 648 -**send:** 649 - 650 650 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 651 651 |=(% 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 652 652 |(% 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 653 653 654 - **response:**548 +response 655 655 656 656 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 657 657 |=(% 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 ... ... @@ -659,25 +659,22 @@ 659 659 660 660 === 3.6.2 Change address === 661 661 662 - 663 663 For example: Change the address of the sensor with address 1 to 2, master → slave 664 664 665 665 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 666 -|=(% 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 high559 +|=(% 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 667 667 |(% 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 668 668 669 669 If the sensor receives correctly, the data is returned along the original path. 563 +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. 670 670 671 -(% 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.** 672 672 673 - 674 674 === 3.6.3 Modify intercept === 675 675 568 +send 676 676 677 -**send:** 678 - 679 679 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 680 -|=(% 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 high571 +|=(% 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 681 681 |(% 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" %)((( 682 682 0X96 683 683 ))) ... ... @@ -684,10 +684,10 @@ 684 684 685 685 Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command. 686 686 687 - **response:**578 +response 688 688 689 689 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 690 -|=(% 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 high581 +|=(% 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 high 691 691 |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)((( 692 692 0X00 693 693 )))|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( ... ... @@ -700,13 +700,13 @@ 700 700 Query the data (ORP) of the sensor (address 13), host → slave 701 701 702 702 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 703 -|=(% 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 high594 +|=(% 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 704 704 |(% 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 705 705 706 706 If the sensor receives correctly, the following data will be returned, slave → host 707 707 708 708 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 709 -|=(% 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 high600 +|=(% 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 710 710 |(% 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 711 711 712 712 The query data command is 13 03 00 00 00 01 87 78 ... ... @@ -718,13 +718,12 @@ 718 718 719 719 === 3.6.5 Calibration Method === 720 720 721 - 722 722 This device uses two-point calibration, and two known ORP standard solutions need to be prepared. The calibration steps are as follows: 723 723 (1) Place the electrode in distilled water to clean it, and then place it in 86mV standard buffer solution. After the data stabilizes, 724 724 enter the following calibration command, and the 86mV point calibration is completed; 725 725 726 726 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 727 -|=(% style="width: 4 2px; 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 high617 +|=(% 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 high 728 728 |(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 729 729 0X00 730 730 )))|(% style="width:68px" %)0X24|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XCB|(% style="width:55px" %)((( ... ... @@ -734,8 +734,8 @@ 734 734 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. 735 735 736 736 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 737 -|=(% style="width: 4 2px; 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 high738 -|(% style="width:6 8px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)(((627 +|=(% 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 high 628 +|(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 739 739 0X00 740 740 )))|(% style="width:68px" %)0X25|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X9A|(% style="width:55px" %)((( 741 741 0XC3 ... ... @@ -746,36 +746,24 @@ 746 746 == 4.1 Specification == 747 747 748 748 749 -* **Measuring range**: 0-20mg/L, 0–50℃ 750 - 639 +* **Measuring range**: 0-20mg/L, 0-50℃ 751 751 * **Accuracy**: 3%, ±0.5℃ 752 - 753 753 * **Resolution**: 0.01 mg/L, 0.01℃ 754 - 755 755 * **Maximum operating pressure**: 6 bar 756 - 757 757 * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 758 - 759 759 * **Power supply voltage**: 5-24V DC 760 - 761 -* **Working environment:** 762 -** Ambient Temperature: 0–60°C 763 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 764 - 645 +* **Working environment**: temperature 0-60℃; humidity <95%RH 765 765 * **Power consumption**: ≤0.5W 766 766 767 767 == 4.2 wiring == 768 768 769 - 770 770 [[image:image-20240720172632-4.png||height="390" width="640"]] 771 771 772 772 773 -== 4.3 Impedance requirements for current signals == 653 +== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals == 774 774 655 +[[image:image-20240718195414-8.png||height="100" width="575"]] 775 775 776 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %) 777 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V** 778 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω** 779 779 780 780 == 4.4 Mechinical Drawing == 781 781 ... ... @@ -785,52 +785,46 @@ 785 785 786 786 == 4.5 Instructions for use and maintenance == 787 787 788 - 789 789 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 790 - 791 791 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 792 792 793 793 == 4.6 RS485 Commands == 794 794 795 - 796 796 RS485 signaldefault address 0x14 797 797 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 798 798 799 - 800 800 === 4.6.1 Query address === 801 801 676 +send 802 802 803 -**send:** 804 - 805 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 806 -|=(% 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 678 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 679 +|=(% 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 807 807 |(% 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 808 808 809 809 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. 810 810 811 811 812 - **response:**685 +response 813 813 814 814 Register 0 data high and register 0 data low indicate the actual address of the sensor: 1 815 815 Register 1 data high and register 1 data low indicate the sensor version 816 816 817 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)818 -|=(% 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 high690 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 691 +|=(% 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 819 819 |(% 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 820 820 821 821 === 4.6.2 Change address === 822 822 823 - 824 824 For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave 825 825 826 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 518px" %)827 -|=(% 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 low698 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:907.333px" %) 699 +|=(% 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 828 828 |(% 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 829 829 830 - **response:**702 +response 831 831 832 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)833 -|=(% 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 high704 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 705 +|=(% 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 834 834 |(% 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 835 835 836 836 === 4.6.3 Query data === ... ... @@ -838,14 +838,14 @@ 838 838 839 839 Query the data (dissolved oxygen) of the sensor (address 14), host → slave 840 840 841 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)842 -|=(% 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 high713 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 714 +|=(% 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 843 843 |(% 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 844 844 845 845 If the sensor receives correctly, the following data will be returned, slave → host 846 846 847 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)848 -|=(% 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 high719 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 720 +|=(% 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 849 849 |(% 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 850 850 851 851 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. ... ... @@ -855,68 +855,54 @@ 855 855 856 856 Query the data (temperature) of the sensor (address 14), host → slave 857 857 858 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)859 -|=(% 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 high730 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 731 +|=(% 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 860 860 |(% 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 861 861 862 862 If the sensor receives correctly, the following data will be returned, slave → host 863 863 864 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)865 -|=(% 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 high736 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 737 +|=(% 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 866 866 |(% 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 867 867 868 868 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. 869 869 870 -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 °C742 +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℃ 871 871 872 872 873 873 = 5. DR-TS1 Water Turbidity Sensor = 874 874 875 -== 5.1 Specification == 876 876 877 877 878 - ***Measuring range**:0.1~~1000.0NTU749 +== (% id="cke_bm_81470S" style="display:none" %) (%%)5.1 Specification == 879 879 751 +* **Measuring range**: 0.1~1000.0NTU 880 880 * **Accuracy**: ±5% 881 - 882 882 * **Resolution**: 0.1NTU 883 - 884 884 * **Stability**: ≤3mV/24 hours 755 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 756 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 757 +* **Working environment**: temperature 0~60℃; humidity ≤95%RH 758 +* **Power consumption**: ≤0.5W 885 885 886 -* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01) 887 - 888 -* **Power supply voltage**: 5~~24V DC (when output signal is RS485), 12~~24V DC (when output signal is 4~~20mA) 889 - 890 -* **Working environment:** 891 -** Ambient Temperature: 0–60°C 892 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 893 - 894 -* **Power consumption**: ≤ 0.5W 895 - 896 896 == 5.2 wiring == 897 897 898 - 899 899 [[image:image-20240720172640-5.png||height="387" width="635"]] 900 900 901 901 902 902 == 5.3 Impedance requirements for current signals == 903 903 767 +[[image:image-20240718195414-8.png||height="100" width="575"]] 904 904 905 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %) 906 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V** 907 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω** 908 908 909 909 == 5.4 Mechinical Drawing == 910 910 911 - 912 912 [[image:image-20240718195058-7.png||height="305" width="593"]] 913 913 914 914 915 915 == 5.5 Instructions for use and maintenance == 916 916 917 - 918 918 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 919 - 920 920 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 921 921 922 922 == 5.6 RS485 Commands == ... ... @@ -925,52 +925,47 @@ 925 925 RS485 signaldefault address 0x15 926 926 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 927 927 928 - 929 929 === 5.6.1 Query address === 930 930 788 +send 931 931 932 -**send:** 790 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 791 +|=(% 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 792 +|(% 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 933 933 934 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 935 -|=(% 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 936 -|(% 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 937 - 938 938 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. 939 939 940 940 941 - **response:**797 +response 942 942 943 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:51 8px" %)944 -|=(% 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 high799 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %) 800 +|=(% 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 945 945 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 946 946 947 947 === 5.6.2 Change address === 948 948 949 - 950 950 For example: Change the address of the sensor with address 1 to 2, master → slave 951 951 952 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)953 -|=(% 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 high807 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 808 +|=(% 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 954 954 |(% 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 955 955 956 956 If the sensor receives correctly, the data is returned along the original path. 812 +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. 957 957 958 -(% 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.** 959 - 960 - 961 961 === 5.6.3 Query data === 962 962 963 963 964 964 Query the data (turbidity) of the sensor (address 15), host → slave 965 965 966 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)967 -|=(% 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 high819 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 820 +|=(% 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 968 968 |(% 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 969 969 970 970 If the sensor receives correctly, the following data will be returned, slave → host 971 971 972 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)973 -|=(% 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 high825 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 826 +|=(% 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 974 974 |(% 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 975 975 976 976 The query data command is 15 03 00 00 00 01 87 1E ... ... @@ -978,107 +978,3 @@ 978 978 For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C 979 979 980 980 02 9A is the turbidity value, converted to decimal, it is 666, and then divided by 10, the actual value is 66.6, 02 9A means the current turbidity value is 66.6 NTU 981 - 982 - 983 -= 6. DR-CL Water CL Probe = 984 - 985 -== 6.1 Specification: == 986 - 987 -* **Power Input**: DC7~~30 988 - 989 -* **Power Consumption** : 0.19W 990 - 991 -* **Interface**: RS485. 9600 Baud Rate 992 - 993 -* **CL Range & Resolution:** 994 -** **CL2ML:**0-2mg/L 995 -** **CL10ML:**0-10mg/L 996 -** **Resolution:**0.01mg/L 997 - 998 -* **CL Accuracy**: ±5% FS 999 -* **Temperature Accuracy: **±0.5 °C 1000 -* **Working environment:** 1001 -** Ambient Temperature: 0–50°C 1002 -** pH:4-9 1003 -** Flow rate: 30L/h~~60L/h (flow tank installation) 1004 -* **IP Rated**: IP68 1005 - 1006 -* **Max Pressure**: 0.6MPa 1007 - 1008 -== 6.2 Wiring == 1009 - 1010 -[[image:image-20240720172548-2.png||height="348" width="571"]] 1011 - 1012 -== 6.3 Mechinical Drawing == 1013 - 1014 -[[image:1752573238705-910.png||height="694" width="278"]] 1015 - 1016 -== 6.4 Installation == 1017 - 1018 -Flow-through installation: Use the matching flow slot for installation. The device and the flow slot are installed tightly. 1019 - 1020 -The measuring end is completely immersed in the measured liquid to ensure a steady flow rate without bubbles. 1021 - 1022 -It is recommended that the flow rate be controlled at 30-60Lh to ensure the accuracy of the test. 1023 - 1024 -[[image:1752573643879-991.png||height="360" width="343"]] 1025 - 1026 -== 6.5 Maintenance == 1027 - 1028 -* The device 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! 1029 -* After using the electrode, please clean the electrode head with clean water and cover it with a protective cover. 1030 -* When measuring the device, the measured liquid should flow and the flow rate should be uniform, and there should be no bubbles attached to the measuring end of the device. 1031 -* If the electrode diaphragm is attached with dirt and mineral components, the sensitivity will be reduced, and it may not be possible to perform sufficient measurement. Please ensure that the platinum ring is clean. 1032 -* The platinum induction ring of a good residual chlorine electrode should always be kept clean and bright. If the platinum ring of the electrode becomes rough or covered with pollutants after measurement, please clean it according to the following method: (For reference) Inorganic pollution: immerse the electrode in 0.1mol/L dilute hydrochloric acid for 15 minutes, gently wipe the platinum ring of the residual chlorine electrode with a cotton swab, and then wash it with tap water. 1033 -* Organic or oil pollution: immerse the electrode in tap water with a small amount of detergent, such as dishwashing liquid, and thoroughly clean the sensing surface of the electrode sensor. Gently wipe the platinum ring of the electrode with a cotton swab, then rinse with tap water, and the cleaning is complete. If the platinum ring of the electrode has formed an oxide film, please use toothpaste or 1000-grit fine sandpaper to properly polish the sensing surface, and then clean it with tap water. The platinum ring is connected to the glass, so please handle it carefully when polishing. 1034 -The electrode has a service life of about one year, and a new electrode should be replaced in time after aging. 1035 -* Before the cable plug and the device plug are locked, do not put the plug part into water. 1036 - 1037 - 1038 - 1039 -== 6.6 RS485 Commands == 1040 - 1041 -RS485 signal 1042 -Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 1043 - 1044 - 1045 -== 6.7 Query data == 1046 - 1047 -Example 1: Read the current residual chlorine concentration of the device with address 01 1048 - 1049 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %) 1050 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 74px; background-color: rgb(79, 129, 189); color: white;" %)Register Address|=(% style="width: 94px; background-color: rgb(79, 129, 189); color: white;" %)Register length|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 77px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 1051 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X01|(% style="width:72px" %)((( 1052 -0X84 1053 -)))|(% style="width:77px" %)0X0A 1054 - 1055 -**response:** 1056 - 1057 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %) 1058 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 83px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 110px; background-color: rgb(79, 129, 189); color: white;" %)Valid Bytes|=(% style="width: 94px; background-color: rgb(79, 129, 189); color: white;" %)Register contents|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 77px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 1059 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X03|(% style="width:110px" %)0X02|(% style="width:94px" %)0X03 0X16|(% style="width:72px" %)((( 1060 -0X39 1061 -)))|(% style="width:77px" %)0X7A 1062 - 1063 -Calculation of residual chlorine concentration: 316H (hexadecimal) = 790 => residual chlorine = 7.90 1064 - 1065 - 1066 -Example 2: Set the deviation value for the current residual chlorine value of the device with address 01 to correct the value and send the frame: (If the current residual gas value output by the device is 7.90, the value needs to be corrected to 8.00, the difference is 8.00-7.90-0.100.1*100=10=>41200000 (floating point number), write 41200000 to the contents of the two registers) 1067 - 1068 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 1069 -|=(% 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" %)Register address|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Register number|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Byte number|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register content|=(% style="width: 54.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 58.75px;background-color:#4F81BD;color:white" %)CRC16 high 1070 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X10|(% style="width:135px" %)0X01 0X12|(% style="width:126px" %)0X00 0X02|(% style="width:85px" %)0X04|(% style="width:1px" %)0X4120 0X0000|(% style="width:1px" %)0X08|(% style="width:1px" %)0X1A 1071 - 1072 -**response:** 1073 - 1074 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %) 1075 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 83px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 110px; background-color: rgb(79, 129, 189); color: white;" %)Register address|=(% style="width: 94px; background-color: rgb(79, 129, 189); color: white;" %)Register number|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 77px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 1076 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X10|(% style="width:110px" %)0X01 0X12|(% style="width:94px" %)0X00 0X02|(% style="width:72px" %)((( 1077 -0XE5 1078 -)))|(% style="width:77px" %)0X0D 1079 - 1080 - 1081 - 1082 -= 7. Water Quality Sensor Datasheet = 1083 - 1084 -* **[[Water Quality Sensor Transmitter Datasheet>>https://www.dropbox.com/scl/fi/9tofocmgapkbddshznumn/Datasheet_WQS-xB-WQS-xS_Water-Quality-Sensor-Transmitter.pdf?rlkey=wxua12ur9swk30rkqnh2boo9z&st=axga6epf&dl=0]]**
- 1752564223905-283.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.karry - Size
-
... ... @@ -1,1 +1,0 @@ 1 -144.4 KB - Content
- 1752573238705-910.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.karry - Size
-
... ... @@ -1,1 +1,0 @@ 1 -111.3 KB - Content
- 1752573643879-991.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.karry - Size
-
... ... @@ -1,1 +1,0 @@ 1 -163.2 KB - Content
- image-20240720172548-2.png
-
- Size
-
... ... @@ -1,1 +1,1 @@ 1 - 262.2KB1 +1.5 MB - Content
- image-20241129142314-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.karry - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.2 MB - Content