Changes for page Water Quality Sensors

Last modified by Karry Zhuang on 2025/07/18 16:37

From version 60.7
edited by Karry Zhuang
on 2025/07/15 15:39
Change comment: There is no comment for this version
To version 45.74
edited by Xiaoling
on 2024/08/06 15:58
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
... ... @@ -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-20241129142314-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  
... ... @@ -111,7 +111,6 @@
111 111  
112 112  === 1.7.1 Query address ===
113 113  
114 -ECK1 and ECK10
115 115  
116 116  **send:**
117 117  
... ... @@ -272,9 +272,7 @@
272 272  
273 273  * **Temperature measurement error**: ±0.5°C
274 274  
275 -* **Working environment:**
276 -** Ambient Temperature: 0–60°C
277 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
272 +* **Temperature Measure Range**: -20 ~~ 60 °C
278 278  
279 279  * **Temperature Accuracy: **±0.5 °C
280 280  
... ... @@ -343,6 +343,7 @@
343 343  
344 344  * 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.
345 345  
341 +
346 346  == 2.6 RS485 Commands ==
347 347  
348 348  
... ... @@ -413,7 +413,7 @@
413 413  
414 414  If the sensor receives correctly, the following data will be returned, slave → host
415 415  
416 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
412 +(% border="1" cellspacing="3" style="background-color:#f2f2f2;width:518px" %)
417 417  |=(% 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
418 418  |(% 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
419 419  
... ... @@ -468,7 +468,6 @@
468 468  
469 469  == 3.1 Specification ==
470 470  
471 -
472 472  * **Power Input**: DC7~~30
473 473  
474 474  * **Measuring range**:** **-1999~~1999mV
... ... @@ -481,9 +481,7 @@
481 481  
482 482  * **Stability**: ≤2mv/24 hours
483 483  
484 -* **Working environment:**
485 -** Ambient Temperature: 0–60°C
486 -** 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
487 487  
488 488  * **IP Rated**: IP68
489 489  
... ... @@ -491,22 +491,18 @@
491 491  
492 492  == 3.2 Wiring ==
493 493  
494 -
495 495  [[image:image-20240720172620-3.png||height="378" width="620"]]
496 496  
497 497  
498 498  == 3.3 Mechinical Drawing ==
499 499  
500 -
501 501  [[image:image-20240714174241-2.png]]
502 502  
503 -
504 504  == 3.4 Installation Notice ==
505 505  
506 -
507 507  Do not power on while connect the cables. Double check the wiring before power on.
508 508  
509 -**Installation Photo as reference:**
498 +Installation Photo as reference:
510 510  
511 511  (% style="color:blue" %)** Submerged installation:**
512 512  
... ... @@ -542,7 +542,6 @@
542 542  
543 543  (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.
544 544  
545 -
546 546  == 3.6 RS485 Commands ==
547 547  
548 548  
... ... @@ -549,17 +549,15 @@
549 549  RS485 signaldefault address 0x13
550 550  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
551 551  
552 -
553 553  === 3.6.1 Query address ===
554 554  
542 +send
555 555  
556 -**send:**
557 -
558 558  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
559 559  |=(% 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
560 560  |(% 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
561 561  
562 -**response:**
548 +response
563 563  
564 564  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
565 565  |=(% 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
... ... @@ -567,7 +567,6 @@
567 567  
568 568  === 3.6.2 Change address ===
569 569  
570 -
571 571  For example: Change the address of the sensor with address 1 to 2, master → slave
572 572  
573 573  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
... ... @@ -575,15 +575,13 @@
575 575  |(% 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
576 576  
577 577  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.
578 578  
579 -(% 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.**
580 580  
581 -
582 582  === 3.6.3 Modify intercept ===
583 583  
568 +send
584 584  
585 -**send:**
586 -
587 587  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
588 588  |=(% 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
589 589  |(% 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" %)(((
... ... @@ -592,7 +592,7 @@
592 592  
593 593  Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command.
594 594  
595 -**response:**
578 +response
596 596  
597 597  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
598 598  |=(% 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
... ... @@ -626,7 +626,6 @@
626 626  
627 627  === 3.6.5 Calibration Method ===
628 628  
629 -
630 630  This device uses two-point calibration, and two known ORP standard solutions need to be prepared. The calibration steps are as follows:
631 631  (1) Place the electrode in distilled water to clean it, and then place it in 86mV standard buffer solution. After the data stabilizes,
632 632  enter the following calibration command, and the 86mV point calibration is completed;
... ... @@ -654,36 +654,24 @@
654 654  == 4.1 Specification ==
655 655  
656 656  
657 -* **Measuring range**: 0-20mg/L, 0–50℃
658 -
639 +* **Measuring range**: 0-20mg/L, 0-50℃
659 659  * **Accuracy**: 3%, ±0.5℃
660 -
661 661  * **Resolution**: 0.01 mg/L, 0.01℃
662 -
663 663  * **Maximum operating pressure**: 6 bar
664 -
665 665  * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
666 -
667 667  * **Power supply voltage**: 5-24V DC
668 -
669 -* **Working environment:**
670 -** Ambient Temperature: 0–60°C
671 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
672 -
645 +* **Working environment**: temperature 0-60℃; humidity <95%RH
673 673  * **Power consumption**: ≤0.5W
674 674  
675 675  == 4.2 wiring ==
676 676  
677 -
678 678  [[image:image-20240720172632-4.png||height="390" width="640"]]
679 679  
680 680  
681 -== 4.3 Impedance requirements for current signals ==
653 +== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals ==
682 682  
655 +[[image:image-20240718195414-8.png||height="100" width="575"]]
683 683  
684 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
685 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
686 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
687 687  
688 688  == 4.4 Mechinical Drawing ==
689 689  
... ... @@ -693,52 +693,46 @@
693 693  
694 694  == 4.5 Instructions for use and maintenance ==
695 695  
696 -
697 697  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
698 -
699 699  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
700 700  
701 701  == 4.6 RS485 Commands ==
702 702  
703 -
704 704  RS485 signaldefault address 0x14
705 705  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
706 706  
707 -
708 708  === 4.6.1 Query address ===
709 709  
676 +send
710 710  
711 -**send:**
712 -
713 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
714 -|=(% 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
715 715  |(% 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
716 716  
717 717  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.
718 718  
719 719  
720 -**response:**
685 +response
721 721  
722 722  Register 0 data high and register 0 data low indicate the actual address of the sensor: 1
723 723  Register 1 data high and register 1 data low indicate the sensor version
724 724  
725 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
726 -|=(% 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
690 +(% 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
727 727  |(% 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
728 728  
729 729  === 4.6.2 Change address ===
730 730  
731 -
732 732  For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave
733 733  
734 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
735 -|=(% 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
698 +(% 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
736 736  |(% 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
737 737  
738 -**response:**
702 +response
739 739  
740 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
741 -|=(% 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
704 +(% 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
742 742  |(% 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
743 743  
744 744  === 4.6.3 Query data ===
... ... @@ -746,14 +746,14 @@
746 746  
747 747  Query the data (dissolved oxygen) of the sensor (address 14), host → slave
748 748  
749 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
750 -|=(% 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
713 +(% 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
751 751  |(% 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
752 752  
753 753  If the sensor receives correctly, the following data will be returned, slave → host
754 754  
755 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
756 -|=(% 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
719 +(% 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
757 757  |(% 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
758 758  
759 759  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.
... ... @@ -763,68 +763,54 @@
763 763  
764 764  Query the data (temperature) of the sensor (address 14), host → slave
765 765  
766 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
767 -|=(% 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
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: 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
768 768  |(% 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
769 769  
770 770  If the sensor receives correctly, the following data will be returned, slave → host
771 771  
772 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
773 -|=(% 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
736 +(% 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
774 774  |(% 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
775 775  
776 776  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.
777 777  
778 -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
742 +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
779 779  
780 780  
781 781  = 5. DR-TS1 Water Turbidity Sensor =
782 782  
783 -== 5.1 Specification ==
784 784  
785 785  
786 -* **Measuring range**: 0.1~~1000.0NTU
749 +== (% id="cke_bm_81470S" style="display:none" %) (%%)5.1 Specification ==
787 787  
751 +* **Measuring range**: 0.1~1000.0NTU
788 788  * **Accuracy**: ±5%
789 -
790 790  * **Resolution**: 0.1NTU
791 -
792 792  * **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
793 793  
794 -* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01)
795 -
796 -* **Power supply voltage**: 5~~24V DC (when output signal is RS485), 12~~24V DC (when output signal is 4~~20mA)
797 -
798 -* **Working environment:**
799 -** Ambient Temperature: 0–60°C
800 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
801 -
802 -* **Power consumption**: ≤ 0.5W
803 -
804 804  == 5.2 wiring ==
805 805  
806 -
807 807  [[image:image-20240720172640-5.png||height="387" width="635"]]
808 808  
809 809  
810 810  == 5.3 Impedance requirements for current signals ==
811 811  
767 +[[image:image-20240718195414-8.png||height="100" width="575"]]
812 812  
813 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
814 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
815 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
816 816  
817 817  == 5.4 Mechinical Drawing ==
818 818  
819 -
820 820  [[image:image-20240718195058-7.png||height="305" width="593"]]
821 821  
822 822  
823 823  == 5.5 Instructions for use and maintenance ==
824 824  
825 -
826 826  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
827 -
828 828  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
829 829  
830 830  == 5.6 RS485 Commands ==
... ... @@ -833,52 +833,47 @@
833 833  RS485 signaldefault address 0x15
834 834  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
835 835  
836 -
837 837  === 5.6.1 Query address ===
838 838  
788 +send
839 839  
840 -**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
841 841  
842 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
843 -|=(% 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
844 -|(% 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
845 -
846 846  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.
847 847  
848 848  
849 -**response:**
797 +response
850 850  
851 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
852 -|=(% 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
799 +(% 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
853 853  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
854 854  
855 855  === 5.6.2 Change address ===
856 856  
857 -
858 858  For example: Change the address of the sensor with address 1 to 2, master → slave
859 859  
860 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
861 -|=(% 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
807 +(% 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
862 862  |(% 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
863 863  
864 864  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.
865 865  
866 -(% 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.**
867 -
868 -
869 869  === 5.6.3 Query data ===
870 870  
871 871  
872 872  Query the data (turbidity) of the sensor (address 15), host → slave
873 873  
874 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
875 -|=(% 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
819 +(% 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
876 876  |(% 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
877 877  
878 878  If the sensor receives correctly, the following data will be returned, slave → host
879 879  
880 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
881 -|=(% 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
825 +(% 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
882 882  |(% 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
883 883  
884 884  The query data command is 15 03 00 00 00 01 87 1E
... ... @@ -886,9 +886,3 @@
886 886  For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C
887 887  
888 888  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
889 -
890 -
891 -= 6.  Water Quality Sensor Datasheet =
892 -
893 -
894 -* **[[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