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,25 +17,19 @@ 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 41 41 == 1.2 Application for Different Range == ... ... @@ -47,17 +47,15 @@ 47 47 == 1.3 Wiring == 48 48 49 49 50 -[[image:image-2024 1129142314-1.png||height="352" width="1108"]]44 +[[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 50 +[[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) 271 +* **Temperature Measure Range**: -20 ~~ 60 °C 370 370 371 371 * **Temperature Accuracy: **±0.5 °C 372 372 ... ... @@ -500,8 +500,8 @@ 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" %)0X4B405 +|=(% 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 406 +|(% 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 ... ... @@ -573,14 +573,14 @@ 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) 478 +* **Equipment working conditions**: Ambient temperature: 0-60°C Relative humidity: <85%RH 579 579 580 580 * **IP Rated**: IP68 581 581 582 582 * **Max Pressure**: 0.6MPa 583 583 484 + 485 + 584 584 == 3.2 Wiring == 585 585 586 586 ... ... @@ -651,6 +651,7 @@ 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 556 + 654 654 **response:** 655 655 656 656 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) ... ... @@ -657,6 +657,7 @@ 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 658 658 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 659 659 563 + 660 660 === 3.6.2 Change address === 661 661 662 662 ... ... @@ -694,6 +694,7 @@ 694 694 0X96 695 695 ))) 696 696 601 + 697 697 === 3.6.4 Query data === 698 698 699 699 ... ... @@ -741,16 +741,19 @@ 741 741 0XC3 742 742 ))) 743 743 649 + 650 + 651 + 744 744 = 4. DR-DO1 Dissolved Oxygen Sensor = 745 745 746 746 == 4.1 Specification == 747 747 748 748 749 -* **Measuring range**: 0-20mg/L, 0 –50℃657 +* **Measuring range**: 0-20mg/L, 0-50°C 750 750 751 -* **Accuracy**: 3%, ±0.5 ℃659 +* **Accuracy**: 3%, ±0.5°C 752 752 753 -* **Resolution**: 0.01 mg/L, 0.01 ℃661 +* **Resolution**: 0.01 mg/L, 0.01°C 754 754 755 755 * **Maximum operating pressure**: 6 bar 756 756 ... ... @@ -758,12 +758,11 @@ 758 758 759 759 * **Power supply voltage**: 5-24V DC 760 760 761 -* **Working environment:** 762 -** Ambient Temperature: 0–60°C 763 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 669 +* **Working environment**: temperature 0-60°C; humidity <95%RH 764 764 765 765 * **Power consumption**: ≤0.5W 766 766 673 + 767 767 == 4.2 wiring == 768 768 769 769 ... ... @@ -773,10 +773,9 @@ 773 773 == 4.3 Impedance requirements for current signals == 774 774 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Ω** 683 +[[image:image-20240718195414-8.png||height="100" width="575"]] 779 779 685 + 780 780 == 4.4 Mechinical Drawing == 781 781 782 782 ... ... @@ -790,6 +790,7 @@ 790 790 791 791 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 792 792 699 + 793 793 == 4.6 RS485 Commands == 794 794 795 795 ... ... @@ -803,9 +803,10 @@ 803 803 **send:** 804 804 805 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 high713 +|=(% style="width: 64.75px;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 716 + 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 ... ... @@ -815,9 +815,10 @@ 815 815 Register 1 data high and register 1 data low indicate the sensor version 816 816 817 817 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high726 +|=(% 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 729 + 821 821 === 4.6.2 Change address === 822 822 823 823 ... ... @@ -824,15 +824,16 @@ 824 824 For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave 825 825 826 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 low736 +|=(% 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 830 **response:** 831 831 832 832 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high742 +|=(% 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 745 + 836 836 === 4.6.3 Query data === 837 837 838 838 ... ... @@ -839,13 +839,14 @@ 839 839 Query the data (dissolved oxygen) of the sensor (address 14), host → slave 840 840 841 841 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high752 +|=(% 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 755 + 845 845 If the sensor receives correctly, the following data will be returned, slave → host 846 846 847 847 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high759 +|=(% 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. ... ... @@ -856,15 +856,17 @@ 856 856 Query the data (temperature) of the sensor (address 14), host → slave 857 857 858 858 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high770 +|=(% 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 773 + 862 862 If the sensor receives correctly, the following data will be returned, slave → host 863 863 864 864 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high777 +|=(% 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 780 + 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 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°C ... ... @@ -875,7 +875,7 @@ 875 875 == 5.1 Specification == 876 876 877 877 878 -* **Measuring range**: 0.1~ ~1000.0NTU791 +* **Measuring range**: 0.1~1000.0NTU 879 879 880 880 * **Accuracy**: ±5% 881 881 ... ... @@ -883,16 +883,15 @@ 883 883 884 884 * **Stability**: ≤3mV/24 hours 885 885 886 -* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01) 799 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 887 887 888 -* **Power supply voltage**: 5~ ~24V DC (when output signal is RS485),12~~24V DC (when output signal is 4~~20mA)801 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 889 889 890 -* **Working environment:** 891 -** Ambient Temperature: 0–60°C 892 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 803 +* **Working environment**: temperature 0~60°C; humidity ≤ 95%RH 893 893 894 894 * **Power consumption**: ≤ 0.5W 895 895 807 + 896 896 == 5.2 wiring == 897 897 898 898 ... ... @@ -902,10 +902,9 @@ 902 902 == 5.3 Impedance requirements for current signals == 903 903 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Ω** 817 +[[image:image-20240718195414-8.png||height="100" width="575"]] 908 908 819 + 909 909 == 5.4 Mechinical Drawing == 910 910 911 911 ... ... @@ -919,6 +919,7 @@ 919 919 920 920 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 921 921 833 + 922 922 == 5.6 RS485 Commands == 923 923 924 924 ... ... @@ -932,8 +932,8 @@ 932 932 **send:** 933 933 934 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 high936 -|(% 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" %)0XD4847 +|=(% 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 848 +|(% 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 937 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 ... ... @@ -941,23 +941,23 @@ 941 941 **response:** 942 942 943 943 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high856 +|=(% 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 859 + 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 952 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high865 +|=(% 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 868 + 956 956 If the sensor receives correctly, the data is returned along the original path. 957 957 958 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 959 960 - 961 961 === 5.6.3 Query data === 962 962 963 963 ... ... @@ -964,121 +964,19 @@ 964 964 Query the data (turbidity) of the sensor (address 15), host → slave 965 965 966 966 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high879 +|=(% 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 882 + 970 970 If the sensor receives correctly, the following data will be returned, slave → host 971 971 972 972 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 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 high886 +|=(% 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 889 + 976 976 The query data command is 15 03 00 00 00 01 87 1E 977 977 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