Changes for page Water Quality Sensors

Last modified by Karry Zhuang on 2025/07/25 09:38

From version 73.2
edited by Karry Zhuang
on 2025/07/18 09:20
Change comment: There is no comment for this version
To version 45.77
edited by Xiaoling
on 2024/08/06 16:35
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.karry
1 +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,29 +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
23 -* Probe Electrode
24 -** **ECK1.0 :** K1 Electrode
25 -** **ECK10.0 :** K10 Electrode
26 -** **EC200 :** FourElectrode
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 +
27 27  * **EC Accuracy**: ±1% FS
28 -* **Salinity measurement range**
29 -** **EC200 :**0~~70PSU Resolution: 0.1PSU
30 -* **Temperature measurement range**
31 -** **ECK1/ECK10:**-20~~+60℃; Resolution: 0.1℃
32 -** **EC200 :**-5~~+80℃; Resolution: 0.1℃
26 +
27 +* **Temperature Measure Range**: -20 ~~ 60 °C
28 +
33 33  * **Temperature Accuracy: **±0.5 °C
34 -* **Temperature compensation range**
35 -** **ECK1/ECK10:**0~~+60℃ (default compensation temperature 25℃)
36 -** **EC200:**-5~~+80℃ (default compensation temperature 25℃)
37 -* **Temperature compensation coefficient:**Default 0.2
38 -* **Working environment:**
39 -** Ambient Temperature: 0–60°C
40 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
41 -** ECK200 Continuous monitoring of cross-section water quality, aquaculture, sewage treatment, environmental protection, pharmaceuticals, food, tap water, seawater and other high conductivity environments
30 +
42 42  * **IP Rated**: IP68
32 +
43 43  * **Max Pressure**: 0.6MPa
44 44  
45 45  == 1.2 Application for Different Range ==
... ... @@ -51,17 +51,15 @@
51 51  == 1.3 Wiring ==
52 52  
53 53  
54 -[[image:image-20241129142314-1.png||height="352" width="1108"]]
44 +[[image:image-20240720172533-1.png||height="347" width="569"]]
55 55  
56 56  
57 57  == 1.4 Mechinical Drawing ==
58 58  
59 - ECK1 and ECK10  EC200
60 60  
50 +[[image:image-20240714174241-2.png]]
61 61  
62 -[[image:image-20240714174241-2.png]] [[image:1752564223905-283.png||height="399" width="160"]]
63 63  
64 -
65 65  == 1.5 Installation ==
66 66  
67 67  
... ... @@ -117,10 +117,7 @@
117 117  RS485 signal (K1 default address 0x12; K10 default address 0x11):
118 118  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
119 119  
120 -(% style="color:red" %)**The following commands are by default for ECK1/ECK10.**
121 121  
122 -(% style="color:red" %)**Please note that EC200 has different commands.**
123 -
124 124  === 1.7.1 Query address ===
125 125  
126 126  
... ... @@ -139,8 +139,6 @@
139 139  |=(% 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
140 140  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
141 141  
142 -
143 -
144 144  === 1.7.2 Change address ===
145 145  
146 146  
... ... @@ -219,35 +219,8 @@
219 219  **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.
220 220  
221 221  
222 -EC200
223 -
224 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
225 -|=(% 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
226 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X04|(% style="width:72px" %)(((
227 -0XC5
228 -)))|(% style="width:77px" %)0XC8
229 -
230 -**response:**
231 -
232 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
233 -|=(% 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
234 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X08|(% style="width:94px" %)(((
235 -0X00 0X00  0X1E 0XEF 0X01 0X14 0X00 0X2B
236 -)))|(% style="width:72px" %)(((
237 -0X42
238 -)))|(% style="width:77px" %)0X59
239 -
240 -Conductivity calculation: 0X1EEF=7919=>Conductivity=7919μS/cm
241 -Temperature calculation: 0X0114=276=>Temperature=27.6℃
242 -Salinity calculation: 0X002b=43=>Salinity=4.3PSU
243 -
244 -
245 -
246 -
247 -
248 248  === 1.7.5 Calibration Method ===
249 249  
250 -ECK1 and ECK10.0
251 251  
252 252  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.
253 253  
... ... @@ -291,62 +291,6 @@
291 291  |=(% 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
292 292  |(% 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
293 293  
294 -
295 -
296 -EC200
297 -
298 -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.
299 -
300 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
301 -|=(% 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
302 -|(% 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" %)(((
303 -0X00
304 -0X01
305 -0X00
306 -0X00
307 -0X05
308 -0X85
309 -)))|(% style="width:1px" %)0X1c|(% style="width:1px" %)(((
310 -(((
311 -0X25
312 -)))
313 -)))
314 -
315 -**response:**
316 -
317 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
318 -|=(% 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
319 -|(% 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" %)(((
320 -0X80
321 -)))|(% style="width:60px" %)0X3e(((
322 -
323 -)))
324 -
325 -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.
326 -
327 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
328 -|=(% 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
329 -|(% 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" %)(((
330 -0X00
331 -0X02
332 -0X00
333 -0X01
334 -0Xb2
335 -0Xce
336 -)))|(% style="width:1px" %)0X3e|(% style="width:1px" %)(((
337 -(((
338 -0X22
339 -)))
340 -)))
341 -
342 -**response:**
343 -
344 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
345 -|=(% 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
346 -|(% 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" %)(((
347 -0X80
348 -)))|(% style="width:60px" %)0X3e
349 -
350 350  = 2. DR-PH01 Water PH Sensor =
351 351  
352 352  == 2.1 Specification ==
... ... @@ -368,9 +368,7 @@
368 368  
369 369  * **Temperature measurement error**: ±0.5°C
370 370  
371 -* **Working environment:**
372 -** Ambient Temperature: 0–60°C
373 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
271 +* **Temperature Measure Range**: -20 ~~ 60 °C
374 374  
375 375  * **Temperature Accuracy: **±0.5 °C
376 376  
... ... @@ -504,8 +504,8 @@
504 504  Query the data (PH) of the sensor (address 10), host → slave
505 505  
506 506  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
507 -|=(% 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 high
508 -|(% style="width:99px" %)0X10|(% style="width:74px" %)0X03|(% style="width:75px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0X87|(% style="width:56px" %)0X4B
405 +|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
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
509 509  
510 510  If the sensor receives correctly, the following data will be returned, slave → host
511 511  
... ... @@ -577,14 +577,14 @@
577 577  
578 578  * **Stability**: ≤2mv/24 hours
579 579  
580 -* **Working environment:**
581 -** Ambient Temperature: 0–60°C
582 -** 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
583 583  
584 584  * **IP Rated**: IP68
585 585  
586 586  * **Max Pressure**: 0.6MPa
587 587  
484 +
485 +
588 588  == 3.2 Wiring ==
589 589  
590 590  
... ... @@ -655,6 +655,7 @@
655 655  |=(% 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
656 656  |(% 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
657 657  
556 +
658 658  **response:**
659 659  
660 660  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
... ... @@ -661,6 +661,7 @@
661 661  |=(% 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
662 662  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
663 663  
563 +
664 664  === 3.6.2 Change address ===
665 665  
666 666  
... ... @@ -698,6 +698,7 @@
698 698  0X96
699 699  )))
700 700  
601 +
701 701  === 3.6.4 Query data ===
702 702  
703 703  
... ... @@ -750,11 +750,11 @@
750 750  == 4.1 Specification ==
751 751  
752 752  
753 -* **Measuring range**: 0-20mg/L, 050
654 +* **Measuring range**: 0-20mg/L, 0-50°C
754 754  
755 -* **Accuracy**: 3%, ±0.5
656 +* **Accuracy**: 3%, ±0.5°C
756 756  
757 -* **Resolution**: 0.01 mg/L, 0.01
658 +* **Resolution**: 0.01 mg/L, 0.01°C
758 758  
759 759  * **Maximum operating pressure**: 6 bar
760 760  
... ... @@ -762,12 +762,11 @@
762 762  
763 763  * **Power supply voltage**: 5-24V DC
764 764  
765 -* **Working environment:**
766 -** Ambient Temperature: 0–60°C
767 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
666 +* **Working environment**: temperature 0-60°C; humidity <95%RH
768 768  
769 769  * **Power consumption**: ≤0.5W
770 770  
670 +
771 771  == 4.2 wiring ==
772 772  
773 773  
... ... @@ -777,10 +777,9 @@
777 777  == 4.3 Impedance requirements for current signals ==
778 778  
779 779  
780 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
781 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
782 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
680 +[[image:image-20240718195414-8.png||height="100" width="575"]]
783 783  
682 +
784 784  == 4.4 Mechinical Drawing ==
785 785  
786 786  
... ... @@ -794,6 +794,7 @@
794 794  
795 795  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
796 796  
696 +
797 797  == 4.6 RS485 Commands ==
798 798  
799 799  
... ... @@ -807,9 +807,10 @@
807 807  **send:**
808 808  
809 809  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
810 -|=(% 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
710 +|=(% 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
811 811  |(% 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
812 812  
713 +
813 813  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.
814 814  
815 815  
... ... @@ -819,9 +819,10 @@
819 819  Register 1 data high and register 1 data low indicate the sensor version
820 820  
821 821  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
822 -|=(% style="width: 40px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
723 +|=(% 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
823 823  |(% 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
824 824  
726 +
825 825  === 4.6.2 Change address ===
826 826  
827 827  
... ... @@ -828,15 +828,16 @@
828 828  For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave
829 829  
830 830  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
831 -|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Start address high|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Start address low|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width: 39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low
733 +|=(% 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
832 832  |(% 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
833 833  
834 834  **response:**
835 835  
836 836  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
837 -|=(% 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
739 +|=(% 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
838 838  |(% 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
839 839  
742 +
840 840  === 4.6.3 Query data ===
841 841  
842 842  
... ... @@ -843,13 +843,14 @@
843 843  Query the data (dissolved oxygen) of the sensor (address 14), host → slave
844 844  
845 845  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
846 -|=(% 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
749 +|=(% 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
847 847  |(% 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
848 848  
752 +
849 849  If the sensor receives correctly, the following data will be returned, slave → host
850 850  
851 851  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
852 -|=(% 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
756 +|=(% 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
853 853  |(% 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
854 854  
855 855  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.
... ... @@ -860,15 +860,17 @@
860 860  Query the data (temperature) of the sensor (address 14), host → slave
861 861  
862 862  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
863 -|=(% 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
767 +|=(% 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
864 864  |(% 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
865 865  
770 +
866 866  If the sensor receives correctly, the following data will be returned, slave → host
867 867  
868 868  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
869 -|=(% 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
774 +|=(% 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
870 870  |(% 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
871 871  
777 +
872 872  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.
873 873  
874 874  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
... ... @@ -879,7 +879,7 @@
879 879  == 5.1 Specification ==
880 880  
881 881  
882 -* **Measuring range**: 0.1~~1000.0NTU
788 +* **Measuring range**: 0.1~1000.0NTU
883 883  
884 884  * **Accuracy**: ±5%
885 885  
... ... @@ -887,16 +887,15 @@
887 887  
888 888  * **Stability**: ≤3mV/24 hours
889 889  
890 -* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01)
796 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
891 891  
892 -* **Power supply voltage**: 5~~24V DC (when output signal is RS485), 12~~24V DC (when output signal is 4~~20mA)
798 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA)
893 893  
894 -* **Working environment:**
895 -** Ambient Temperature: 0–60°C
896 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
800 +* **Working environment**: temperature 0~60°C; humidity ≤ 95%RH
897 897  
898 898  * **Power consumption**: ≤ 0.5W
899 899  
804 +
900 900  == 5.2 wiring ==
901 901  
902 902  
... ... @@ -906,10 +906,9 @@
906 906  == 5.3 Impedance requirements for current signals ==
907 907  
908 908  
909 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
910 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
911 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
814 +[[image:image-20240718195414-8.png||height="100" width="575"]]
912 912  
816 +
913 913  == 5.4 Mechinical Drawing ==
914 914  
915 915  
... ... @@ -923,6 +923,7 @@
923 923  
924 924  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
925 925  
830 +
926 926  == 5.6 RS485 Commands ==
927 927  
928 928  
... ... @@ -936,8 +936,8 @@
936 936  **send:**
937 937  
938 938  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
939 -|=(% 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
940 -|(% 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
844 +|=(% 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
845 +|(% 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
941 941  
942 942  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.
943 943  
... ... @@ -945,23 +945,23 @@
945 945  **response:**
946 946  
947 947  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
948 -|=(% 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
853 +|=(% 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
949 949  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
950 950  
856 +
951 951  === 5.6.2 Change address ===
952 952  
953 -
954 954  For example: Change the address of the sensor with address 1 to 2, master → slave
955 955  
956 956  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
957 -|=(% style="width: 80.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 54.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 58.75px;background-color:#4F81BD;color:white" %)CRC16 high
862 +|=(% 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
958 958  |(% 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
959 959  
865 +
960 960  If the sensor receives correctly, the data is returned along the original path.
961 961  
962 962  (% 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.**
963 963  
964 -
965 965  === 5.6.3 Query data ===
966 966  
967 967  
... ... @@ -968,121 +968,19 @@
968 968  Query the data (turbidity) of the sensor (address 15), host → slave
969 969  
970 970  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
971 -|=(% 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
876 +|=(% 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
972 972  |(% 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
973 973  
879 +
974 974  If the sensor receives correctly, the following data will be returned, slave → host
975 975  
976 976  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
977 -|=(% 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
883 +|=(% 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
978 978  |(% 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
979 979  
886 +
980 980  The query data command is 15 03 00 00 00 01 87 1E
981 981  
982 982  For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C
983 983  
984 984  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
985 -
986 -
987 -= 6. DR-CL Water CL Probe =
988 -
989 -== 6.1 Specification: ==
990 -
991 -* **Power Input**: DC7~~30
992 -
993 -* **Power Consumption** : 0.19W
994 -
995 -* **Interface**: RS485. 9600 Baud Rate
996 -
997 -* **CL Range & Resolution:**
998 -** **CL2ML:**0-2mg/L
999 -** **CL10ML:**0-10mg/L
1000 -** **Resolution:**0.01mg/L
1001 -
1002 -* **CL Accuracy**: ±5% FS
1003 -* **Temperature Accuracy: **±0.5 °C
1004 -* **Working environment:**
1005 -** Ambient Temperature: 0–50°C
1006 -** pH:4-9
1007 -** Flow rate: 30L/h~~60L/h (flow tank installation)
1008 -* **IP Rated**: IP68
1009 -
1010 -* **Max Pressure**: 0.6MPa
1011 -
1012 -== 6.2 Wiring ==
1013 -
1014 -[[image:image-20240720172548-2.png||height="348" width="571"]]
1015 -
1016 -== 6.3 Mechinical Drawing ==
1017 -
1018 -[[image:1752573238705-910.png||height="694" width="278"]]
1019 -
1020 -== 6.4 Installation ==
1021 -
1022 -Flow-through installation: Use the matching flow slot for installation. The device and the flow slot are installed tightly.
1023 -
1024 -The measuring end is completely immersed in the measured liquid to ensure a steady flow rate without bubbles.
1025 -
1026 -It is recommended that the flow rate be controlled at 30-60Lh to ensure the accuracy of the test.
1027 -
1028 -[[image:1752573643879-991.png||height="360" width="343"]]
1029 -
1030 -== 6.5 Maintenance ==
1031 -
1032 -* 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!
1033 -* After using the electrode, please clean the electrode head with clean water and cover it with a protective cover.
1034 -* 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.
1035 -* 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.
1036 -* 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.
1037 -* 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.
1038 -The electrode has a service life of about one year, and a new electrode should be replaced in time after aging.
1039 -* Before the cable plug and the device plug are locked, do not put the plug part into water.
1040 -
1041 -
1042 -
1043 -== 6.6 RS485 Commands ==
1044 -
1045 -RS485 signal 
1046 -Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
1047 -
1048 -
1049 -== 6.7 Query data ==
1050 -
1051 -Example 1: Read the current residual chlorine concentration of the device with address 01
1052 -
1053 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1054 -|=(% 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
1055 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X01|(% style="width:72px" %)(((
1056 -0X84
1057 -)))|(% style="width:77px" %)0X0A
1058 -
1059 -**response:**
1060 -
1061 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1062 -|=(% 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
1063 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X03|(% style="width:110px" %)0X02|(% style="width:94px" %)0X03 0X16|(% style="width:72px" %)(((
1064 -0X39
1065 -)))|(% style="width:77px" %)0X7A
1066 -
1067 -Calculation of residual chlorine concentration: 316H (hexadecimal) = 790 => residual chlorine = 7.90
1068 -
1069 -
1070 -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)
1071 -
1072 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
1073 -|=(% 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
1074 -|(% 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
1075 -
1076 -**response:**
1077 -
1078 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1079 -|=(% 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
1080 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X10|(% style="width:110px" %)0X01 0X12|(% style="width:94px" %)0X00 0X02|(% style="width:72px" %)(((
1081 -0XE5
1082 -)))|(% style="width:77px" %)0X0D
1083 -
1084 -
1085 -
1086 -= 7.  Water Quality Sensor Datasheet =
1087 -
1088 -* **[[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.2 KB
1 +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