Changes for page Water Quality Sensors

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

From version 71.6
edited by Karry Zhuang
on 2025/07/16 09:19
Change comment: There is no comment for this version
To version 45.76
edited by Xiaoling
on 2024/08/06 16:27
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,22 +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.0** : 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 -*
31 -* **Working environment:**
32 -** Ambient Temperature: 0–60°C
33 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
34 -** ECK200.0 Continuous monitoring of cross-section water quality, aquaculture, sewage treatment, environmental protection, pharmaceuticals, food, tap water, seawater and other high conductivity environments
30 +
35 35  * **IP Rated**: IP68
32 +
36 36  * **Max Pressure**: 0.6MPa
37 37  
38 38  == 1.2 Application for Different Range ==
... ... @@ -44,17 +44,15 @@
44 44  == 1.3 Wiring ==
45 45  
46 46  
47 -[[image:image-20241129142314-1.png||height="352" width="1108"]]
44 +[[image:image-20240720172533-1.png||height="347" width="569"]]
48 48  
49 49  
50 50  == 1.4 Mechinical Drawing ==
51 51  
52 - ECK1 and ECK10  ECK200
53 53  
50 +[[image:image-20240714174241-2.png]]
54 54  
55 -[[image:image-20240714174241-2.png]] [[image:1752564223905-283.png||height="399" width="160"]]
56 56  
57 -
58 58  == 1.5 Installation ==
59 59  
60 60  
... ... @@ -129,8 +129,6 @@
129 129  |=(% 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
130 130  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
131 131  
132 -
133 -
134 134  === 1.7.2 Change address ===
135 135  
136 136  
... ... @@ -209,11 +209,8 @@
209 209  **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.
210 210  
211 211  
212 -ECK200
213 -
214 214  === 1.7.5 Calibration Method ===
215 215  
216 -ECK1 and ECK10.0
217 217  
218 218  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.
219 219  
... ... @@ -257,62 +257,6 @@
257 257  |=(% 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
258 258  |(% 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
259 259  
260 -
261 -
262 -ECK200.0
263 -
264 -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.
265 -
266 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
267 -|=(% 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
268 -|(% 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" %)(((
269 -0X00
270 -0X01
271 -0X00
272 -0X00
273 -0X05
274 -0X85
275 -)))|(% style="width:1px" %)0X1c|(% style="width:1px" %)(((
276 -(((
277 -0X25
278 -)))
279 -)))
280 -
281 -**response:**
282 -
283 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
284 -|=(% 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
285 -|(% 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" %)(((
286 -0X80
287 -)))|(% style="width:60px" %)0X3e(((
288 -
289 -)))
290 -
291 -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.
292 -
293 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
294 -|=(% 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
295 -|(% 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" %)(((
296 -0X00
297 -0X02
298 -0X00
299 -0X01
300 -0Xb2
301 -0Xce
302 -)))|(% style="width:1px" %)0X3e|(% style="width:1px" %)(((
303 -(((
304 -0X22
305 -)))
306 -)))
307 -
308 -**response:**
309 -
310 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
311 -|=(% 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
312 -|(% 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" %)(((
313 -0X80
314 -)))|(% style="width:60px" %)0X3e
315 -
316 316  = 2. DR-PH01 Water PH Sensor =
317 317  
318 318  == 2.1 Specification ==
... ... @@ -334,9 +334,7 @@
334 334  
335 335  * **Temperature measurement error**: ±0.5°C
336 336  
337 -* **Working environment:**
338 -** Ambient Temperature: 0–60°C
339 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
271 +* **Temperature Measure Range**: -20 ~~ 60 °C
340 340  
341 341  * **Temperature Accuracy: **±0.5 °C
342 342  
... ... @@ -470,8 +470,8 @@
470 470  Query the data (PH) of the sensor (address 10), host → slave
471 471  
472 472  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
473 -|=(% 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
474 -|(% 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
475 475  
476 476  If the sensor receives correctly, the following data will be returned, slave → host
477 477  
... ... @@ -543,14 +543,14 @@
543 543  
544 544  * **Stability**: ≤2mv/24 hours
545 545  
546 -* **Working environment:**
547 -** Ambient Temperature: 0–60°C
548 -** 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
549 549  
550 550  * **IP Rated**: IP68
551 551  
552 552  * **Max Pressure**: 0.6MPa
553 553  
484 +
485 +
554 554  == 3.2 Wiring ==
555 555  
556 556  
... ... @@ -562,7 +562,6 @@
562 562  
563 563  [[image:image-20240714174241-2.png]]
564 564  
565 -
566 566  == 3.4 Installation Notice ==
567 567  
568 568  
... ... @@ -716,36 +716,24 @@
716 716  == 4.1 Specification ==
717 717  
718 718  
719 -* **Measuring range**: 0-20mg/L, 0–50℃
720 -
721 -* **Accuracy**: 3%, ±0.5℃
722 -
723 -* **Resolution**: 0.01 mg/L, 0.01℃
724 -
650 +* **Measuring range**: 0-20mg/L, 0-50°C
651 +* **Accuracy**: 3%, ±0.5°C
652 +* **Resolution**: 0.01 mg/L, 0.01°C
725 725  * **Maximum operating pressure**: 6 bar
726 -
727 727  * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
728 -
729 729  * **Power supply voltage**: 5-24V DC
730 -
731 -* **Working environment:**
732 -** Ambient Temperature: 0–60°C
733 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
734 -
656 +* **Working environment**: temperature 0-60°C; humidity <95%RH
735 735  * **Power consumption**: ≤0.5W
736 736  
737 737  == 4.2 wiring ==
738 738  
739 -
740 740  [[image:image-20240720172632-4.png||height="390" width="640"]]
741 741  
742 742  
743 -== 4.3 Impedance requirements for current signals ==
664 +== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals ==
744 744  
666 +[[image:image-20240718195414-8.png||height="100" width="575"]]
745 745  
746 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
747 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
748 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
749 749  
750 750  == 4.4 Mechinical Drawing ==
751 751  
... ... @@ -755,52 +755,46 @@
755 755  
756 756  == 4.5 Instructions for use and maintenance ==
757 757  
758 -
759 759  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
760 -
761 761  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
762 762  
763 763  == 4.6 RS485 Commands ==
764 764  
765 -
766 766  RS485 signaldefault address 0x14
767 767  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
768 768  
769 -
770 770  === 4.6.1 Query address ===
771 771  
687 +send
772 772  
773 -**send:**
774 -
775 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
776 -|=(% 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
689 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
690 +|=(% 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
777 777  |(% 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
778 778  
779 779  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.
780 780  
781 781  
782 -**response:**
696 +response
783 783  
784 784  Register 0 data high and register 0 data low indicate the actual address of the sensor: 1
785 785  Register 1 data high and register 1 data low indicate the sensor version
786 786  
787 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
788 -|=(% 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
701 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
702 +|=(% 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
789 789  |(% 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
790 790  
791 791  === 4.6.2 Change address ===
792 792  
793 -
794 794  For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave
795 795  
796 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
797 -|=(% 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
709 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:907.333px" %)
710 +|=(% 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
798 798  |(% 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
799 799  
800 -**response:**
713 +response
801 801  
802 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
803 -|=(% 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
715 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
716 +|=(% 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
804 804  |(% 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
805 805  
806 806  === 4.6.3 Query data ===
... ... @@ -808,14 +808,14 @@
808 808  
809 809  Query the data (dissolved oxygen) of the sensor (address 14), host → slave
810 810  
811 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
812 -|=(% 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
724 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
725 +|=(% 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
813 813  |(% 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
814 814  
815 815  If the sensor receives correctly, the following data will be returned, slave → host
816 816  
817 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
818 -|=(% 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
730 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
731 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 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
819 819  |(% 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
820 820  
821 821  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.
... ... @@ -825,68 +825,54 @@
825 825  
826 826  Query the data (temperature) of the sensor (address 14), host → slave
827 827  
828 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
829 -|=(% 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
741 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
742 +|=(% 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
830 830  |(% 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
831 831  
832 832  If the sensor receives correctly, the following data will be returned, slave → host
833 833  
834 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
835 -|=(% 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
747 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
748 +|=(% 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
836 836  |(% 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
837 837  
838 838  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.
839 839  
840 -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
753 +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
841 841  
842 842  
843 843  = 5. DR-TS1 Water Turbidity Sensor =
844 844  
845 -== 5.1 Specification ==
846 846  
847 847  
848 -* **Measuring range**: 0.1~~1000.0NTU
760 +== (% id="cke_bm_81470S" style="display:none" %) (%%)5.1 Specification ==
849 849  
762 +* **Measuring range**: 0.1~1000.0NTU
850 850  * **Accuracy**: ±5%
851 -
852 852  * **Resolution**: 0.1NTU
853 -
854 854  * **Stability**: ≤3mV/24 hours
766 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
767 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA)
768 +* **Working environment**: temperature 0~60℃; humidity ≤95%RH
769 +* **Power consumption**: ≤0.5W
855 855  
856 -* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01)
857 -
858 -* **Power supply voltage**: 5~~24V DC (when output signal is RS485), 12~~24V DC (when output signal is 4~~20mA)
859 -
860 -* **Working environment:**
861 -** Ambient Temperature: 0–60°C
862 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
863 -
864 -* **Power consumption**: ≤ 0.5W
865 -
866 866  == 5.2 wiring ==
867 867  
868 -
869 869  [[image:image-20240720172640-5.png||height="387" width="635"]]
870 870  
871 871  
872 872  == 5.3 Impedance requirements for current signals ==
873 873  
778 +[[image:image-20240718195414-8.png||height="100" width="575"]]
874 874  
875 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
876 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
877 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
878 878  
879 879  == 5.4 Mechinical Drawing ==
880 880  
881 -
882 882  [[image:image-20240718195058-7.png||height="305" width="593"]]
883 883  
884 884  
885 885  == 5.5 Instructions for use and maintenance ==
886 886  
887 -
888 888  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
889 -
890 890  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
891 891  
892 892  == 5.6 RS485 Commands ==
... ... @@ -895,52 +895,47 @@
895 895  RS485 signaldefault address 0x15
896 896  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
897 897  
898 -
899 899  === 5.6.1 Query address ===
900 900  
799 +send
901 901  
902 -**send:**
801 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
802 +|=(% 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
803 +|(% 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
903 903  
904 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
905 -|=(% 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
906 -|(% 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
907 -
908 908  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.
909 909  
910 910  
911 -**response:**
808 +response
912 912  
913 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
914 -|=(% 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
810 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
811 +|=(% 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
915 915  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
916 916  
917 917  === 5.6.2 Change address ===
918 918  
919 -
920 920  For example: Change the address of the sensor with address 1 to 2, master → slave
921 921  
922 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
923 -|=(% 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
818 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
819 +|=(% 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
924 924  |(% 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
925 925  
926 926  If the sensor receives correctly, the data is returned along the original path.
823 +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.
927 927  
928 -(% 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.**
929 -
930 -
931 931  === 5.6.3 Query data ===
932 932  
933 933  
934 934  Query the data (turbidity) of the sensor (address 15), host → slave
935 935  
936 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
937 -|=(% 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
830 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
831 +|=(% 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
938 938  |(% 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
939 939  
940 940  If the sensor receives correctly, the following data will be returned, slave → host
941 941  
942 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
943 -|=(% 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
836 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
837 +|=(% 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
944 944  |(% 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
945 945  
946 946  The query data command is 15 03 00 00 00 01 87 1E
... ... @@ -948,107 +948,3 @@
948 948  For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C
949 949  
950 950  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
951 -
952 -
953 -= 6. DR-CL Water CL Probe =
954 -
955 -== 6.1 Specification: ==
956 -
957 -* **Power Input**: DC7~~30
958 -
959 -* **Power Consumption** : 0.19W
960 -
961 -* **Interface**: RS485. 9600 Baud Rate
962 -
963 -* **CL Range & Resolution:**
964 -** **CL2ML:**0-2mg/L
965 -** **CL10ML:**0-10mg/L
966 -** **Resolution:**0.01mg/L
967 -
968 -* **CL Accuracy**: ±5% FS
969 -* **Temperature Accuracy: **±0.5 °C
970 -* **Working environment:**
971 -** Ambient Temperature: 0–50°C
972 -** pH:4-9
973 -** Flow rate: 30L/h~~60L/h (flow tank installation)
974 -* **IP Rated**: IP68
975 -
976 -* **Max Pressure**: 0.6MPa
977 -
978 -== 6.2 Wiring ==
979 -
980 -[[image:image-20240720172548-2.png||height="348" width="571"]]
981 -
982 -== 6.3 Mechinical Drawing ==
983 -
984 -[[image:1752573238705-910.png||height="694" width="278"]]
985 -
986 -== 6.4 Installation ==
987 -
988 -Flow-through installation: Use the matching flow slot for installation. The device and the flow slot are installed tightly.
989 -
990 -The measuring end is completely immersed in the measured liquid to ensure a steady flow rate without bubbles.
991 -
992 -It is recommended that the flow rate be controlled at 30-60Lh to ensure the accuracy of the test.
993 -
994 -[[image:1752573643879-991.png||height="360" width="343"]]
995 -
996 -== 6.5 Maintenance ==
997 -
998 -* 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!
999 -* After using the electrode, please clean the electrode head with clean water and cover it with a protective cover.
1000 -* 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.
1001 -* 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.
1002 -* 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.
1003 -* 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.
1004 -The electrode has a service life of about one year, and a new electrode should be replaced in time after aging.
1005 -* Before the cable plug and the device plug are locked, do not put the plug part into water.
1006 -
1007 -
1008 -
1009 -== 6.6 RS485 Commands ==
1010 -
1011 -RS485 signal 
1012 -Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
1013 -
1014 -
1015 -== 6.7 Query data ==
1016 -
1017 -Example 1: Read the current residual chlorine concentration of the device with address 01
1018 -
1019 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1020 -|=(% 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
1021 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:74px" %)0X00 0X00|(% style="width:94px" %)0X00 0X01|(% style="width:72px" %)(((
1022 -0X84
1023 -)))|(% style="width:77px" %)0X0A
1024 -
1025 -**response:**
1026 -
1027 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1028 -|=(% 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
1029 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X03|(% style="width:110px" %)0X02|(% style="width:94px" %)0X03 0X16|(% style="width:72px" %)(((
1030 -0X39
1031 -)))|(% style="width:77px" %)0X7A
1032 -
1033 -Calculation of residual chlorine concentration: 316H (hexadecimal) = 790 => residual chlorine = 7.90
1034 -
1035 -
1036 -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)
1037 -
1038 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
1039 -|=(% 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
1040 -|(% 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
1041 -
1042 -**response:**
1043 -
1044 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:534.333px" %)
1045 -|=(% 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
1046 -|(% style="width:99px" %)0X01|(% style="width:83px" %)0X10|(% style="width:110px" %)0X01 0X12|(% style="width:94px" %)0X00 0X02|(% style="width:72px" %)(((
1047 -0XE5
1048 -)))|(% style="width:77px" %)0X0D
1049 -
1050 -
1051 -
1052 -= 7.  Water Quality Sensor Datasheet =
1053 -
1054 -* **[[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