Changes for page Water Quality Sensors
Last modified by Karry Zhuang on 2025/07/18 16:37
From version 60.10
edited by Karry Zhuang
on 2025/07/15 15:42
on 2025/07/15 15:42
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 2 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. karry1 +XWiki.Xiaoling - Content
-
... ... @@ -19,20 +19,20 @@ 19 19 * **EC Range & Resolution:** 20 20 ** **ECK0.01** : 0.02 ~~ 20 μS/cm 21 21 ** **ECK0.1**: 0.2 ~~ 200.0 μS/cm 22 -** **ECK1.0** : 0 ~~ 2,000 μS/cm Resolution: 1 μS/cm 23 -** **ECK10.0** : 10 ~~ 20,000 μS/cm Resolution: 10 μS/cm 24 -** **ECK200.0** : 1 ~~ 200,000 μS/cm Resolution: 1 μ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 25 25 26 26 * **EC Accuracy**: ±1% FS 26 + 27 +* **Temperature Measure Range**: -20 ~~ 60 °C 28 + 27 27 * **Temperature Accuracy: **±0.5 °C 28 -* **Working environment:** 29 -** Ambient Temperature: 0–60°C 30 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 31 -** 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 + 32 32 * **IP Rated**: IP68 33 33 34 34 * **Max Pressure**: 0.6MPa 35 35 35 + 36 36 == 1.2 Application for Different Range == 37 37 38 38 ... ... @@ -42,17 +42,15 @@ 42 42 == 1.3 Wiring == 43 43 44 44 45 -[[image:image-2024 1129142314-1.png||height="352" width="1108"]]45 +[[image:image-20240720172533-1.png||height="347" width="569"]] 46 46 47 47 48 48 == 1.4 Mechinical Drawing == 49 49 50 - ECK1 and ECK10 ECK200 51 51 51 +[[image:image-20240714174241-2.png]] 52 52 53 -[[image:image-20240714174241-2.png]] [[image:1752564223905-283.png||height="399" width="160"]] 54 54 55 - 56 56 == 1.5 Installation == 57 57 58 58 ... ... @@ -127,8 +127,6 @@ 127 127 |=(% 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 128 128 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 129 129 130 - 131 - 132 132 === 1.7.2 Change address === 133 133 134 134 ... ... @@ -207,8 +207,6 @@ 207 207 **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. 208 208 209 209 210 -ECK200 211 - 212 212 === 1.7.5 Calibration Method === 213 213 214 214 ... ... @@ -275,9 +275,7 @@ 275 275 276 276 * **Temperature measurement error**: ±0.5°C 277 277 278 -* **Working environment:** 279 -** Ambient Temperature: 0–60°C 280 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 272 +* **Temperature Measure Range**: -20 ~~ 60 °C 281 281 282 282 * **Temperature Accuracy: **±0.5 °C 283 283 ... ... @@ -346,6 +346,7 @@ 346 346 347 347 * The equipment should be calibrated before each use. For long-term use, it is recommended to calibrate once every 3 months. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). After aging, the electrodes should be replaced in time. 348 348 341 + 349 349 == 2.6 RS485 Commands == 350 350 351 351 ... ... @@ -416,7 +416,7 @@ 416 416 417 417 If the sensor receives correctly, the following data will be returned, slave → host 418 418 419 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; 412 +(% border="1" cellspacing="3" style="background-color:#f2f2f2;width:518px" %) 420 420 |=(% 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 421 421 |(% style="width:99px" %)0X10|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0XC4|(% style="width:56px" %)0X9B 422 422 ... ... @@ -471,7 +471,6 @@ 471 471 472 472 == 3.1 Specification == 473 473 474 - 475 475 * **Power Input**: DC7~~30 476 476 477 477 * **Measuring range**:** **-1999~~1999mV ... ... @@ -484,9 +484,7 @@ 484 484 485 485 * **Stability**: ≤2mv/24 hours 486 486 487 -* **Working environment:** 488 -** Ambient Temperature: 0–60°C 489 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 479 +* **Equipment working conditions**: Ambient temperature: 0-60°C Relative humidity: <85%RH 490 490 491 491 * **IP Rated**: IP68 492 492 ... ... @@ -494,22 +494,18 @@ 494 494 495 495 == 3.2 Wiring == 496 496 497 - 498 498 [[image:image-20240720172620-3.png||height="378" width="620"]] 499 499 500 500 501 501 == 3.3 Mechinical Drawing == 502 502 503 - 504 504 [[image:image-20240714174241-2.png]] 505 505 506 - 507 507 == 3.4 Installation Notice == 508 508 509 - 510 510 Do not power on while connect the cables. Double check the wiring before power on. 511 511 512 - **Installation Photo as reference:**498 +Installation Photo as reference: 513 513 514 514 (% style="color:blue" %)** Submerged installation:** 515 515 ... ... @@ -545,7 +545,6 @@ 545 545 546 546 (9) The equipment should be calibrated before each use. It is recommended to calibrate once every 3 months for long-term use. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). After aging, the electrodes should be replaced in time. 547 547 548 - 549 549 == 3.6 RS485 Commands == 550 550 551 551 ... ... @@ -552,17 +552,15 @@ 552 552 RS485 signaldefault address 0x13 553 553 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 554 554 555 - 556 556 === 3.6.1 Query address === 557 557 542 +send 558 558 559 -**send:** 560 - 561 561 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 562 562 |=(% 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 563 563 |(% 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 564 564 565 - **response:**548 +response 566 566 567 567 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 568 568 |=(% 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 ... ... @@ -570,7 +570,6 @@ 570 570 571 571 === 3.6.2 Change address === 572 572 573 - 574 574 For example: Change the address of the sensor with address 1 to 2, master → slave 575 575 576 576 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) ... ... @@ -578,15 +578,13 @@ 578 578 |(% 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 579 579 580 580 If the sensor receives correctly, the data is returned along the original path. 563 +Note: If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, and the return address is still the original address, which can be used as a method of address query. 581 581 582 -(% 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.** 583 583 584 - 585 585 === 3.6.3 Modify intercept === 586 586 568 +send 587 587 588 -**send:** 589 - 590 590 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 591 591 |=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register Length low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 high 592 592 |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( ... ... @@ -595,7 +595,7 @@ 595 595 596 596 Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command. 597 597 598 - **response:**578 +response 599 599 600 600 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 601 601 |=(% 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 ... ... @@ -629,7 +629,6 @@ 629 629 630 630 === 3.6.5 Calibration Method === 631 631 632 - 633 633 This device uses two-point calibration, and two known ORP standard solutions need to be prepared. The calibration steps are as follows: 634 634 (1) Place the electrode in distilled water to clean it, and then place it in 86mV standard buffer solution. After the data stabilizes, 635 635 enter the following calibration command, and the 86mV point calibration is completed; ... ... @@ -657,36 +657,24 @@ 657 657 == 4.1 Specification == 658 658 659 659 660 -* **Measuring range**: 0-20mg/L, 0–50℃ 661 - 639 +* **Measuring range**: 0-20mg/L, 0-50℃ 662 662 * **Accuracy**: 3%, ±0.5℃ 663 - 664 664 * **Resolution**: 0.01 mg/L, 0.01℃ 665 - 666 666 * **Maximum operating pressure**: 6 bar 667 - 668 668 * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 669 - 670 670 * **Power supply voltage**: 5-24V DC 671 - 672 -* **Working environment:** 673 -** Ambient Temperature: 0–60°C 674 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 675 - 645 +* **Working environment**: temperature 0-60℃; humidity <95%RH 676 676 * **Power consumption**: ≤0.5W 677 677 678 678 == 4.2 wiring == 679 679 680 - 681 681 [[image:image-20240720172632-4.png||height="390" width="640"]] 682 682 683 683 684 -== 4.3 Impedance requirements for current signals == 653 +== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals == 685 685 655 +[[image:image-20240718195414-8.png||height="100" width="575"]] 686 686 687 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %) 688 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V** 689 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω** 690 690 691 691 == 4.4 Mechinical Drawing == 692 692 ... ... @@ -696,52 +696,46 @@ 696 696 697 697 == 4.5 Instructions for use and maintenance == 698 698 699 - 700 700 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 701 - 702 702 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 703 703 704 704 == 4.6 RS485 Commands == 705 705 706 - 707 707 RS485 signaldefault address 0x14 708 708 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 709 709 710 - 711 711 === 4.6.1 Query address === 712 712 676 +send 713 713 714 -**send:** 715 - 716 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 717 -|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register address high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register address low|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 678 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 679 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 718 718 |(% 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 719 719 720 720 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. 721 721 722 722 723 - **response:**685 +response 724 724 725 725 Register 0 data high and register 0 data low indicate the actual address of the sensor: 1 726 726 Register 1 data high and register 1 data low indicate the sensor version 727 727 728 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)729 -|=(% style="width: 40px;background-color:#4F81BD;color:white" %)Address|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high690 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 691 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 730 730 |(% 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 731 731 732 732 === 4.6.2 Change address === 733 733 734 - 735 735 For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave 736 736 737 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 518px" %)738 -|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Start address high|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Start address low|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width:39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width:39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low698 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:907.333px" %) 699 +|=(% style="width: 67px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width: 71px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 65px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 65px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Start address high|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Start address low|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low 739 739 |(% 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 740 740 741 - **response:**702 +response 742 742 743 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)744 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high704 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 705 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 745 745 |(% 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 746 746 747 747 === 4.6.3 Query data === ... ... @@ -749,14 +749,14 @@ 749 749 750 750 Query the data (dissolved oxygen) of the sensor (address 14), host → slave 751 751 752 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)753 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high713 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 714 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 754 754 |(% 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 755 755 756 756 If the sensor receives correctly, the following data will be returned, slave → host 757 757 758 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)759 -|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high719 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 720 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 760 760 |(% 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 761 761 762 762 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. ... ... @@ -766,68 +766,54 @@ 766 766 767 767 Query the data (temperature) of the sensor (address 14), host → slave 768 768 769 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)770 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high730 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 731 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 771 771 |(% 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 772 772 773 773 If the sensor receives correctly, the following data will be returned, slave → host 774 774 775 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)776 -|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high736 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 737 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 777 777 |(% 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 778 778 779 779 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. 780 780 781 -Converted to decimal, it is 2468. Add two decimal places to get the actual value. 09 A4 means the current dissolved oxygen temperature is 24.68 °C742 +Converted to decimal, it is 2468. Add two decimal places to get the actual value. 09 A4 means the current dissolved oxygen temperature is 24.68℃ 782 782 783 783 784 784 = 5. DR-TS1 Water Turbidity Sensor = 785 785 786 -== 5.1 Specification == 787 787 788 788 789 - ***Measuring range**:0.1~~1000.0NTU749 +== (% id="cke_bm_81470S" style="display:none" %) (%%)5.1 Specification == 790 790 751 +* **Measuring range**: 0.1~1000.0NTU 791 791 * **Accuracy**: ±5% 792 - 793 793 * **Resolution**: 0.1NTU 794 - 795 795 * **Stability**: ≤3mV/24 hours 755 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 756 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 757 +* **Working environment**: temperature 0~60℃; humidity ≤95%RH 758 +* **Power consumption**: ≤0.5W 796 796 797 -* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01) 798 - 799 -* **Power supply voltage**: 5~~24V DC (when output signal is RS485), 12~~24V DC (when output signal is 4~~20mA) 800 - 801 -* **Working environment:** 802 -** Ambient Temperature: 0–60°C 803 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 804 - 805 -* **Power consumption**: ≤ 0.5W 806 - 807 807 == 5.2 wiring == 808 808 809 - 810 810 [[image:image-20240720172640-5.png||height="387" width="635"]] 811 811 812 812 813 813 == 5.3 Impedance requirements for current signals == 814 814 767 +[[image:image-20240718195414-8.png||height="100" width="575"]] 815 815 816 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %) 817 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V** 818 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω** 819 819 820 820 == 5.4 Mechinical Drawing == 821 821 822 - 823 823 [[image:image-20240718195058-7.png||height="305" width="593"]] 824 824 825 825 826 826 == 5.5 Instructions for use and maintenance == 827 827 828 - 829 829 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 830 - 831 831 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 832 832 833 833 == 5.6 RS485 Commands == ... ... @@ -836,52 +836,47 @@ 836 836 RS485 signaldefault address 0x15 837 837 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 838 838 839 - 840 840 === 5.6.1 Query address === 841 841 788 +send 842 842 843 -**send:** 790 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 791 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 792 +|(% style="width:99px" %)0XFE |(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X50|(% style="width:70px" %)0X00|(% style="width:72px" %)0X00|(% style="width:56px" %)0X51|(% style="width:56px" %)0XD4 844 844 845 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 846 -|=(% 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 847 -|(% 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 848 - 849 849 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. 850 850 851 851 852 - **response:**797 +response 853 853 854 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:51 8px" %)855 -|=(% style="width: 103.6px;background-color:#4F81BD;color:white" %)New address|=(% style="width:103.6px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high799 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %) 800 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 106px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 93px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 104px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 856 856 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 857 857 858 858 === 5.6.2 Change address === 859 859 860 - 861 861 For example: Change the address of the sensor with address 1 to 2, master → slave 862 862 863 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)864 -|=(% style="width: 80.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Function code|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Address high|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Address low|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 54.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 58.75px;background-color:#4F81BD;color:white" %)CRC16 high807 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 808 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high 865 865 |(% 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 866 866 867 867 If the sensor receives correctly, the data is returned along the original path. 812 +Note: If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, and the return address is still the original address, which can be used as a method of address query. 868 868 869 -(% 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.** 870 - 871 - 872 872 === 5.6.3 Query data === 873 873 874 874 875 875 Query the data (turbidity) of the sensor (address 15), host → slave 876 876 877 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)878 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high819 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 820 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 879 879 |(% 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 880 880 881 881 If the sensor receives correctly, the following data will be returned, slave → host 882 882 883 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)884 -|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high825 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 826 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 885 885 |(% 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 886 886 887 887 The query data command is 15 03 00 00 00 01 87 1E ... ... @@ -889,9 +889,3 @@ 889 889 For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C 890 890 891 891 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 892 - 893 - 894 -= 6. Water Quality Sensor Datasheet = 895 - 896 - 897 -* **[[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
- image-20241129142314-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.karry - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.2 MB - Content