Changes for page Water Quality Sensors

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

From version 72.3
edited by Karry Zhuang
on 2025/07/16 09:26
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,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-20241129142314-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  
... ... @@ -132,8 +132,6 @@
132 132  |=(% 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
133 133  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
134 134  
135 -
136 -
137 137  === 1.7.2 Change address ===
138 138  
139 139  
... ... @@ -212,29 +212,8 @@
212 212  **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.
213 213  
214 214  
215 -EC200
216 -
217 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
218 -|=(% 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
219 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X04|(% style="width:72px" %)(((
220 -0XC5
221 -)))|(% style="width:77px" %)0XC8
222 -
223 -**response:**
224 -
225 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
226 -|=(% 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
227 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X04|(% style="width:72px" %)(((
228 -0XC5
229 -)))|(% style="width:77px" %)0XC8
230 -
231 -
232 -
233 -
234 -
235 235  === 1.7.5 Calibration Method ===
236 236  
237 -ECK1 and ECK10.0
238 238  
239 239  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.
240 240  
... ... @@ -278,62 +278,6 @@
278 278  |=(% 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
279 279  |(% 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
280 280  
281 -
282 -
283 -EC200
284 -
285 -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.
286 -
287 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
288 -|=(% 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
289 -|(% 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" %)(((
290 -0X00
291 -0X01
292 -0X00
293 -0X00
294 -0X05
295 -0X85
296 -)))|(% style="width:1px" %)0X1c|(% style="width:1px" %)(((
297 -(((
298 -0X25
299 -)))
300 -)))
301 -
302 -**response:**
303 -
304 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
305 -|=(% 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
306 -|(% 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" %)(((
307 -0X80
308 -)))|(% style="width:60px" %)0X3e(((
309 -
310 -)))
311 -
312 -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.
313 -
314 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
315 -|=(% 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
316 -|(% 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" %)(((
317 -0X00
318 -0X02
319 -0X00
320 -0X01
321 -0Xb2
322 -0Xce
323 -)))|(% style="width:1px" %)0X3e|(% style="width:1px" %)(((
324 -(((
325 -0X22
326 -)))
327 -)))
328 -
329 -**response:**
330 -
331 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
332 -|=(% 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
333 -|(% 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" %)(((
334 -0X80
335 -)))|(% style="width:60px" %)0X3e
336 -
337 337  = 2. DR-PH01 Water PH Sensor =
338 338  
339 339  == 2.1 Specification ==
... ... @@ -355,9 +355,7 @@
355 355  
356 356  * **Temperature measurement error**: ±0.5°C
357 357  
358 -* **Working environment:**
359 -** Ambient Temperature: 0–60°C
360 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
271 +* **Temperature Measure Range**: -20 ~~ 60 °C
361 361  
362 362  * **Temperature Accuracy: **±0.5 °C
363 363  
... ... @@ -491,8 +491,8 @@
491 491  Query the data (PH) of the sensor (address 10), host → slave
492 492  
493 493  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
494 -|=(% 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
495 -|(% 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
496 496  
497 497  If the sensor receives correctly, the following data will be returned, slave → host
498 498  
... ... @@ -564,14 +564,14 @@
564 564  
565 565  * **Stability**: ≤2mv/24 hours
566 566  
567 -* **Working environment:**
568 -** Ambient Temperature: 0–60°C
569 -** 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
570 570  
571 571  * **IP Rated**: IP68
572 572  
573 573  * **Max Pressure**: 0.6MPa
574 574  
484 +
485 +
575 575  == 3.2 Wiring ==
576 576  
577 577  
... ... @@ -642,6 +642,7 @@
642 642  |=(% 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
643 643  |(% 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
644 644  
556 +
645 645  **response:**
646 646  
647 647  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
... ... @@ -648,6 +648,7 @@
648 648  |=(% 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
649 649  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
650 650  
563 +
651 651  === 3.6.2 Change address ===
652 652  
653 653  
... ... @@ -685,6 +685,7 @@
685 685  0X96
686 686  )))
687 687  
601 +
688 688  === 3.6.4 Query data ===
689 689  
690 690  
... ... @@ -737,11 +737,11 @@
737 737  == 4.1 Specification ==
738 738  
739 739  
740 -* **Measuring range**: 0-20mg/L, 050
654 +* **Measuring range**: 0-20mg/L, 0-50°C
741 741  
742 -* **Accuracy**: 3%, ±0.5
656 +* **Accuracy**: 3%, ±0.5°C
743 743  
744 -* **Resolution**: 0.01 mg/L, 0.01
658 +* **Resolution**: 0.01 mg/L, 0.01°C
745 745  
746 746  * **Maximum operating pressure**: 6 bar
747 747  
... ... @@ -749,12 +749,11 @@
749 749  
750 750  * **Power supply voltage**: 5-24V DC
751 751  
752 -* **Working environment:**
753 -** Ambient Temperature: 0–60°C
754 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
666 +* **Working environment**: temperature 0-60°C; humidity <95%RH
755 755  
756 756  * **Power consumption**: ≤0.5W
757 757  
670 +
758 758  == 4.2 wiring ==
759 759  
760 760  
... ... @@ -764,10 +764,9 @@
764 764  == 4.3 Impedance requirements for current signals ==
765 765  
766 766  
767 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
768 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
769 -|(% 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"]]
770 770  
682 +
771 771  == 4.4 Mechinical Drawing ==
772 772  
773 773  
... ... @@ -781,6 +781,7 @@
781 781  
782 782  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
783 783  
696 +
784 784  == 4.6 RS485 Commands ==
785 785  
786 786  
... ... @@ -794,9 +794,10 @@
794 794  **send:**
795 795  
796 796  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
797 -|=(% 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
798 798  |(% 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
799 799  
713 +
800 800  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.
801 801  
802 802  
... ... @@ -806,9 +806,10 @@
806 806  Register 1 data high and register 1 data low indicate the sensor version
807 807  
808 808  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
809 -|=(% 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
810 810  |(% 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
811 811  
726 +
812 812  === 4.6.2 Change address ===
813 813  
814 814  
... ... @@ -815,15 +815,16 @@
815 815  For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave
816 816  
817 817  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
818 -|=(% 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
819 819  |(% 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
820 820  
821 821  **response:**
822 822  
823 823  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
824 -|=(% 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
825 825  |(% 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
826 826  
742 +
827 827  === 4.6.3 Query data ===
828 828  
829 829  
... ... @@ -830,13 +830,14 @@
830 830  Query the data (dissolved oxygen) of the sensor (address 14), host → slave
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 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
834 834  |(% 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
835 835  
752 +
836 836  If the sensor receives correctly, the following data will be returned, slave → host
837 837  
838 838  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
839 -|=(% 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
840 840  |(% 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
841 841  
842 842  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.
... ... @@ -847,15 +847,17 @@
847 847  Query the data (temperature) of the sensor (address 14), host → slave
848 848  
849 849  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
850 -|=(% 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
851 851  |(% 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
852 852  
770 +
853 853  If the sensor receives correctly, the following data will be returned, slave → host
854 854  
855 855  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
856 -|=(% 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
857 857  |(% 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
858 858  
777 +
859 859  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.
860 860  
861 861  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
... ... @@ -866,7 +866,7 @@
866 866  == 5.1 Specification ==
867 867  
868 868  
869 -* **Measuring range**: 0.1~~1000.0NTU
788 +* **Measuring range**: 0.1~1000.0NTU
870 870  
871 871  * **Accuracy**: ±5%
872 872  
... ... @@ -874,16 +874,15 @@
874 874  
875 875  * **Stability**: ≤3mV/24 hours
876 876  
877 -* **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)
878 878  
879 -* **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)
880 880  
881 -* **Working environment:**
882 -** Ambient Temperature: 0–60°C
883 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
800 +* **Working environment**: temperature 0~60°C; humidity ≤ 95%RH
884 884  
885 885  * **Power consumption**: ≤ 0.5W
886 886  
804 +
887 887  == 5.2 wiring ==
888 888  
889 889  
... ... @@ -893,10 +893,9 @@
893 893  == 5.3 Impedance requirements for current signals ==
894 894  
895 895  
896 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
897 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
898 -|(% 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"]]
899 899  
816 +
900 900  == 5.4 Mechinical Drawing ==
901 901  
902 902  
... ... @@ -910,6 +910,7 @@
910 910  
911 911  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
912 912  
830 +
913 913  == 5.6 RS485 Commands ==
914 914  
915 915  
... ... @@ -923,8 +923,8 @@
923 923  **send:**
924 924  
925 925  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
926 -|=(% 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
927 -|(% 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
928 928  
929 929  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.
930 930  
... ... @@ -932,23 +932,23 @@
932 932  **response:**
933 933  
934 934  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
935 -|=(% 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
936 936  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
937 937  
856 +
938 938  === 5.6.2 Change address ===
939 939  
940 -
941 941  For example: Change the address of the sensor with address 1 to 2, master → slave
942 942  
943 943  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
944 -|=(% 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
945 945  |(% 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
946 946  
865 +
947 947  If the sensor receives correctly, the data is returned along the original path.
948 948  
949 949  (% 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.**
950 950  
951 -
952 952  === 5.6.3 Query data ===
953 953  
954 954  
... ... @@ -955,121 +955,19 @@
955 955  Query the data (turbidity) of the sensor (address 15), host → slave
956 956  
957 957  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
958 -|=(% 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
959 959  |(% 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
960 960  
879 +
961 961  If the sensor receives correctly, the following data will be returned, slave → host
962 962  
963 963  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
964 -|=(% 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
965 965  |(% 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
966 966  
886 +
967 967  The query data command is 15 03 00 00 00 01 87 1E
968 968  
969 969  For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C
970 970  
971 971  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
972 -
973 -
974 -= 6. DR-CL Water CL Probe =
975 -
976 -== 6.1 Specification: ==
977 -
978 -* **Power Input**: DC7~~30
979 -
980 -* **Power Consumption** : 0.19W
981 -
982 -* **Interface**: RS485. 9600 Baud Rate
983 -
984 -* **CL Range & Resolution:**
985 -** **CL2ML:**0-2mg/L
986 -** **CL10ML:**0-10mg/L
987 -** **Resolution:**0.01mg/L
988 -
989 -* **CL Accuracy**: ±5% FS
990 -* **Temperature Accuracy: **±0.5 °C
991 -* **Working environment:**
992 -** Ambient Temperature: 0–50°C
993 -** pH:4-9
994 -** Flow rate: 30L/h~~60L/h (flow tank installation)
995 -* **IP Rated**: IP68
996 -
997 -* **Max Pressure**: 0.6MPa
998 -
999 -== 6.2 Wiring ==
1000 -
1001 -[[image:image-20240720172548-2.png||height="348" width="571"]]
1002 -
1003 -== 6.3 Mechinical Drawing ==
1004 -
1005 -[[image:1752573238705-910.png||height="694" width="278"]]
1006 -
1007 -== 6.4 Installation ==
1008 -
1009 -Flow-through installation: Use the matching flow slot for installation. The device and the flow slot are installed tightly.
1010 -
1011 -The measuring end is completely immersed in the measured liquid to ensure a steady flow rate without bubbles.
1012 -
1013 -It is recommended that the flow rate be controlled at 30-60Lh to ensure the accuracy of the test.
1014 -
1015 -[[image:1752573643879-991.png||height="360" width="343"]]
1016 -
1017 -== 6.5 Maintenance ==
1018 -
1019 -* 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!
1020 -* After using the electrode, please clean the electrode head with clean water and cover it with a protective cover.
1021 -* 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.
1022 -* 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.
1023 -* 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.
1024 -* 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.
1025 -The electrode has a service life of about one year, and a new electrode should be replaced in time after aging.
1026 -* Before the cable plug and the device plug are locked, do not put the plug part into water.
1027 -
1028 -
1029 -
1030 -== 6.6 RS485 Commands ==
1031 -
1032 -RS485 signal 
1033 -Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
1034 -
1035 -
1036 -== 6.7 Query data ==
1037 -
1038 -Example 1: Read the current residual chlorine concentration of the device with address 01
1039 -
1040 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1041 -|=(% 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
1042 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X01|(% style="width:72px" %)(((
1043 -0X84
1044 -)))|(% style="width:77px" %)0X0A
1045 -
1046 -**response:**
1047 -
1048 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1049 -|=(% 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
1050 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X03|(% style="width:110px" %)0X02|(% style="width:94px" %)0X03 0X16|(% style="width:72px" %)(((
1051 -0X39
1052 -)))|(% style="width:77px" %)0X7A
1053 -
1054 -Calculation of residual chlorine concentration: 316H (hexadecimal) = 790 => residual chlorine = 7.90
1055 -
1056 -
1057 -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)
1058 -
1059 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
1060 -|=(% 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
1061 -|(% 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
1062 -
1063 -**response:**
1064 -
1065 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1066 -|=(% 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
1067 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X10|(% style="width:110px" %)0X01 0X12|(% style="width:94px" %)0X00 0X02|(% style="width:72px" %)(((
1068 -0XE5
1069 -)))|(% style="width:77px" %)0X0D
1070 -
1071 -
1072 -
1073 -= 7.  Water Quality Sensor Datasheet =
1074 -
1075 -* **[[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