Changes for page Water Quality Sensors

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

From version 45.30
edited by Xiaoling
on 2024/08/06 11:20
Change comment: There is no comment for this version
To version 62.2
edited by Karry Zhuang
on 2025/07/15 17:19
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.karry
Content
... ... @@ -1,10 +1,81 @@
1 1  **Table of Contents:**
2 2  
3 -{{toc/}}
3 +(% aria-label="macro:toc widget" contenteditable="false" role="region" tabindex="-1" %)
4 +(((
5 +(% class="macro" data-macro="startmacro:toc|-|" data-widget="xwiki-macro" data-xwiki-dom-updated="true" %)
6 +(((
7 +(% class="macro-placeholder hidden" %)
8 +(((
9 +macro:toc
10 +)))
4 4  
12 +(% class="wikitoc" %)
13 +* [[1. DR-ECK Water EC Probe>>doc:null||anchor="H1.DR-ECKWaterECProbe"]]
14 +** [[1.1 Specification:>>doc:null||anchor="H1.1Specification:"]]
15 +** [[1.2 Application for Different Range>>doc:null||anchor="H1.2ApplicationforDifferentRange"]]
16 +** [[1.3 Wiring>>doc:null||anchor="H1.3Wiring"]]
17 +** [[1.4 Mechinical Drawing>>doc:null||anchor="H1.4MechinicalDrawing"]]
18 +** [[1.5 Installation>>doc:null||anchor="H1.5Installation"]]
19 +** [[1.6 Maintenance>>doc:null||anchor="H1.6Maintenance"]]
20 +** [[1.7 RS485 Commands>>doc:null||anchor="H1.7RS485Commands"]]
21 +*** [[1.7.1 Query address>>doc:null||anchor="H1.7.1A0Queryaddress"]]
22 +*** [[1.7.2 Change address>>doc:null||anchor="H1.7.2Changeaddress"]]
23 +*** [[1.7.3 Modify intercept>>doc:null||anchor="H1.7.3A0Modifyintercept"]]
24 +*** [[1.7.4 Query data>>doc:null||anchor="H1.7.4A0Querydata"]]
25 +*** [[1.7.5 Calibration Method>>doc:null||anchor="H1.7.5CalibrationMethod"]]
26 +* [[2. DR-PH01 Water PH Sensor>>doc:null||anchor="H2.DR-PH01WaterPHSensor"]]
27 +** [[2.1 Specification>>doc:null||anchor="H2.1Specification"]]
28 +** [[2.2 Wiring>>doc:null||anchor="H2.2Wiring"]]
29 +** [[2.3 Mechinical Drawing>>doc:null||anchor="H2.3MechinicalDrawing"]]
30 +** [[2.4 Installation Notice>>doc:null||anchor="H2.4InstallationNotice"]]
31 +** [[2.5 Maintenance>>doc:null||anchor="H2.5Maintenance"]]
32 +** [[2.6 RS485 Commands>>doc:null||anchor="H2.6RS485Commands"]]
33 +*** [[2.6.1 Query address>>doc:null||anchor="H2.6.1Queryaddress"]]
34 +*** [[2.6.2 Change address>>doc:null||anchor="H2.6.2Changeaddress"]]
35 +*** [[2.6.3 Modify intercept>>doc:null||anchor="H2.6.3Modifyintercept"]]
36 +*** [[2.6.4 Query data>>doc:null||anchor="H2.6.4A0Querydata"]]
37 +*** [[2.6.5 Calibration Method>>doc:null||anchor="H2.6.5CalibrationMethod"]]
38 +* [[3. DR-ORP1 Water ORP Sensor>>doc:null||anchor="H3.DR-ORP1WaterORPSensor"]]
39 +** [[3.1 Specification>>doc:null||anchor="H3.1Specification"]]
40 +** [[3.2 Wiring>>doc:null||anchor="H3.2Wiring"]]
41 +** [[3.3 Mechinical Drawing>>doc:null||anchor="H3.3A0MechinicalDrawing"]]
42 +** [[3.4 Installation Notice>>doc:null||anchor="H3.4InstallationNotice"]]
43 +** [[3.5 Maintenance>>doc:null||anchor="H3.5Maintenance"]]
44 +** [[3.6 RS485 Commands>>doc:null||anchor="H3.6RS485Commands"]]
45 +*** [[3.6.1 Query address>>doc:null||anchor="H3.6.1Queryaddress"]]
46 +*** [[3.6.2 Change address>>doc:null||anchor="H3.6.2Changeaddress"]]
47 +*** [[3.6.3 Modify intercept>>doc:null||anchor="H3.6.3Modifyintercept"]]
48 +*** [[3.6.4 Query data>>doc:null||anchor="H3.6.4A0Querydata"]]
49 +*** [[3.6.5 Calibration Method>>doc:null||anchor="H3.6.5CalibrationMethod"]]
50 +* [[4. DR-DO1 Dissolved Oxygen Sensor>>doc:null||anchor="H4.DR-DO1DissolvedOxygenSensor"]]
51 +** [[4.1 Specification>>doc:null||anchor="H4.1Specification"]]
52 +** [[4.2 wiring>>doc:null||anchor="H4.2wiring"]]
53 +** [[4.3 Impedance requirements for current signals>>doc:null||anchor="H4.3A0Impedancerequirementsforcurrentsignals"]]
54 +** [[4.4 Mechinical Drawing>>doc:null||anchor="H4.4A0MechinicalDrawing"]]
55 +** [[4.5 Instructions for use and maintenance>>doc:null||anchor="H4.5Instructionsforuseandmaintenance"]]
56 +** [[4.6 RS485 Commands>>doc:null||anchor="H4.6RS485Commands"]]
57 +*** [[4.6.1 Query address>>doc:null||anchor="H4.6.1A0Queryaddress"]]
58 +*** [[4.6.2 Change address>>doc:null||anchor="H4.6.2Changeaddress"]]
59 +*** [[4.6.3 Query data>>doc:null||anchor="H4.6.3A0Querydata"]]
60 +* [[5. DR-TS1 Water Turbidity Sensor>>doc:null||anchor="H5.DR-TS1WaterTurbiditySensor"]]
61 +** [[5.1 Specification>>doc:null||anchor="H5.1Specification"]]
62 +** [[5.2 wiring>>doc:null||anchor="H5.2wiring"]]
63 +** [[5.3 Impedance requirements for current signals>>doc:null||anchor="H5.3A0Impedancerequirementsforcurrentsignals"]]
64 +** [[5.4 Mechinical Drawing>>doc:null||anchor="H5.4A0MechinicalDrawing"]]
65 +** [[5.5 Instructions for use and maintenance>>doc:null||anchor="H5.5Instructionsforuseandmaintenance"]]
66 +** [[5.6 RS485 Commands>>doc:null||anchor="H5.6RS485Commands"]]
67 +*** [[5.6.1 Query address>>doc:null||anchor="H5.6.1A0Queryaddress"]]
68 +*** [[5.6.2 Change address>>doc:null||anchor="H5.6.2A0Changeaddress"]]
69 +*** [[5.6.3 Query data>>doc:null||anchor="H5.6.3A0Querydata"]]
70 +* [[6.  Water Quality Sensor Datasheet>>doc:null||anchor="H6.A0WaterQualitySensorDatasheet"]]
71 +)))
5 5  
73 +(% style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Click and drag to move" width="15"]]
74 +)))
6 6  
7 7  
77 +
78 +
8 8  = 1. DR-ECK Water EC Probe =
9 9  
10 10  == 1.1 Specification: ==
... ... @@ -11,38 +11,48 @@
11 11  
12 12  
13 13  * **Power Input**: DC7~~30
85 +
14 14  * **Power Consumption** : < 0.5W
87 +
15 15  * **Interface**: RS485. 9600 Baud Rate
89 +
16 16  * **EC Range & Resolution:**
17 17  ** **ECK0.01** : 0.02 ~~ 20 μS/cm
18 18  ** **ECK0.1**: 0.2 ~~ 200.0 μS/cm
19 -** **ECK1.0** : 2 ~~ 2,000 μS/cm  Resolution: 1 μS/cm
20 -** **ECK10.0** : 20 ~~ 20,000 μS/cm  Resolution: 10 μS/cm
93 +** **ECK1.0** : 0 ~~ 2,000 μS/cm  Resolution: 1 μS/cm
94 +** **ECK10.0** : 10 ~~ 20,000 μS/cm  Resolution: 10 μS/cm
95 +** **ECK200.0** : 1 ~~ 200,000 μS/cm  Resolution: 1 μS/cm
96 +
21 21  * **EC Accuracy**: ±1% FS
22 -* **Temperature Measure Range**: -20 ~~ 60 °C
23 23  * **Temperature Accuracy: **±0.5 °C
99 +* **Working environment:**
100 +** Ambient Temperature: 0–60°C
101 +** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
102 +** ECK200.0 Continuous monitoring of cross-section water quality, aquaculture, sewage treatment, environmental protection, pharmaceuticals, food, tap water, seawater and other high conductivity environments
24 24  * **IP Rated**: IP68
104 +
25 25  * **Max Pressure**: 0.6MPa
26 26  
27 -
28 28  == 1.2 Application for Different Range ==
29 29  
30 30  
31 -[[image:image-20240714173018-1.png]]
110 +(% aria-label="image-20240714173018-1.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240714173018-1.png]](% title="Click and drag to resize" %)​(% aria-label="image-20240714173018-1.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
32 32  
33 33  
34 34  == 1.3 Wiring ==
35 35  
36 36  
37 -[[image:image-20240720172533-1.png||height="347" width="569"]]
116 +(% aria-label="image-20241129142314-1.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20241129142314-1.png||height="352" width="1108"]](% title="Click and drag to resize" %)​(% aria-label="image-20241129142314-1.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
38 38  
39 39  
40 40  == 1.4 Mechinical Drawing ==
41 41  
121 + ECK1 and ECK10  ECK200
42 42  
43 -[[image:image-20240714174241-2.png]]
44 44  
124 +(% aria-label="image-20240714174241-2.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240714174241-2.png]](% title="Click and drag to resize" %)​(% aria-label="image-20240714174241-2.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](%%) (% aria-label="1752564223905-283.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:1752564223905-283.png||height="399" width="160"]](% title="Click and drag to resize" %)​(% aria-label="1752564223905-283.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
45 45  
126 +
46 46  == 1.5 Installation ==
47 47  
48 48  
... ... @@ -60,7 +60,7 @@
60 60  
61 61  F: Submerged installation
62 62  
63 -[[image:image-20240718190121-1.png||height="350" width="520"]]
144 +(% aria-label="image-20240718190121-1.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718190121-1.png||height="350" width="520"]](% title="Click and drag to resize" %)​(% aria-label="image-20240718190121-1.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
64 64  
65 65  **Several common installation methods of electrodes**
66 66  
... ... @@ -68,17 +68,17 @@
68 68  
69 69  A. Several common incorrect installation methods
70 70  
71 -[[image:image-20240718190204-2.png||height="262" width="487"]]
152 +(% aria-label="image-20240718190204-2.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718190204-2.png||height="262" width="487"]](% title="Click and drag to resize" %)​(% aria-label="image-20240718190204-2.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
72 72  
73 73  **Error cause:** The electrode joint is too long, the extension part is too short, the sensor is easy to form a dead cavity, resulting in measurement error.
74 74  
75 -[[image:image-20240718190221-3.png||height="292" width="500"]]
156 +(% aria-label="image-20240718190221-3.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718190221-3.png||height="292" width="500"]](% title="Click and drag to resize" %)​(% aria-label="image-20240718190221-3.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
76 76  
77 77  **Error cause: **Measurement error or instability may occur due to water flow not being able to fill the pipe or air accumulation at high altitudes.
78 78  
79 79  B. Correct installation method
80 80  
81 -[[image:image-20240718190249-4.png||height="287" width="515"]]
162 +(% aria-label="image-20240718190249-4.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718190249-4.png||height="287" width="515"]](% title="Click and drag to resize" %)​(% aria-label="image-20240718190249-4.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
82 82  
83 83  
84 84  == 1.6 Maintenance ==
... ... @@ -85,11 +85,13 @@
85 85  
86 86  
87 87  * The equipment 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.
169 +
88 88  * If the electrode is not used for a long time, it can generally be stored in a dry place, but it must be placed (stored) in distilled water for several hours before use to activate the electrode. Electrodes that are frequently used can be placed (stored) in distilled water.
171 +
89 89  * Cleaning of conductivity electrodes: Organic stains on the electrode can be cleaned with warm water containing detergent, or with alcohol. Calcium and magnesium precipitates are best cleaned with 10% citric acid. The electrode plate or pole can only be cleaned by chemical methods or by shaking in water. Wiping the electrode plate will damage the coating (platinum black) on the electrode surface.
173 +
90 90  * The equipment should be calibrated before each use. It is recommended to calibrate it 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.).
91 91  
92 -
93 93  == 1.7 RS485 Commands ==
94 94  
95 95  
... ... @@ -100,16 +100,16 @@
100 100  === 1.7.1 Query address ===
101 101  
102 102  
103 -**send**
186 +**send:**
104 104  
105 105  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
106 -|=(% style="width: 74px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 60px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 66px; 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: 70px; 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
107 -|(% style="width:99px" %)0XFE |(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:48px" %)0X50|(% style="width:48px" %)0X00|(% style="width:48px" %)0X00|(% style="width:56px" %)0X51|(% style="width:56px" %)0XD4
189 +|=(% style="width: 74.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:#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:#4F81BD;color:white" %)Quantity low|=(% style="width: 59.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 59.75px;background-color:#4F81BD;color:white" %)CRC16 high
190 +|(% style="width:99px" %)0XFE |(% style="width:72px" %)0X03|(% style="width:50px" %)0X00|(% style="width:42px" %)0X50|(% style="width:42px" %)0X00|(% style="width:42px" %)0X00|(% style="width:56px" %)0X51|(% style="width:56px" %)0XD4
108 108  
109 109  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.
110 110  
111 111  
112 -**response**
195 +**response:**
113 113  
114 114  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:512px" %)
115 115  |=(% 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
... ... @@ -116,6 +116,7 @@
116 116  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
117 117  
118 118  
202 +
119 119  === 1.7.2 Change address ===
120 120  
121 121  
... ... @@ -122,30 +122,31 @@
122 122  For example: Change the address of the sensor with address 1 to 2, master → slave
123 123  
124 124  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
125 -|=(% style="width: 75px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width: 65px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 65px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 71px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 71px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 54px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
126 -|(% style="width:67px" %)0X01|(% style="width:76px" %)0X06|(% style="width:60px" %)0X00|(% style="width:54px" %)0X50|(% style="width:64px" %)0X00|(% style="width:64px" %)0X02|(% style="width:57px" %)0X08|(% style="width:56px" %)0X1A
209 +|=(% style="width: 74.75px; background-color: rgb(79, 129, 189); 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: 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
210 +|(% style="width:67px" %)0X01|(% style="width:76px" %)0X06|(% style="width:60px" %)0X00|(% style="width:50px" %)0X50|(% style="width:50px" %)0X00|(% style="width:50px" %)0X02|(% style="width:57px" %)0X08|(% style="width:56px" %)0X1A
127 127  
128 128  If the sensor receives correctly, the data is returned along the original path.
129 -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.
130 130  
214 +(% 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.**
131 131  
216 +
132 132  === 1.7.3 Modify intercept ===
133 133  
134 134  
135 -send
220 +**send:**
136 136  
137 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
138 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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
139 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X23|(% style="width:85px" %)0X00|(% style="width:1px" %)0X01|(% style="width:1px" %)0XF8|(% style="width:1px" %)(((
222 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:512px" %)
223 +|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 64px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 64px;background-color:#4F81BD;color:white" %)CRC16 high
224 +|(% style="width:64px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X23|(% style="width:85px" %)0X00|(% style="width:1px" %)0X01|(% style="width:1px" %)0XF8|(% style="width:1px" %)(((
140 140  0X07
141 141  )))
142 142  
143 143  Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command.
144 144  
145 -response
230 +**response:**
146 146  
147 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
148 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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
232 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:512px" %)
233 +|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 64px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 64px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 64px;background-color:#4F81BD;color:white" %)CRC16 high
149 149  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)(((
150 150  0X02
151 151  )))|(% style="width:126px" %)0X00|(% style="width:85px" %)0X00|(% style="width:1px" %)0X0A|(% style="width:1px" %)0X38|(% style="width:1px" %)(((
... ... @@ -158,13 +158,13 @@
158 158  Query the data (EC,temperature) of the sensor (address 11), host → slave
159 159  
160 160  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
161 -|=(% 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
246 +|=(% 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
162 162  |(% style="width:99px" %)0X11|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:56px" %)0XC6|(% style="width:56px" %)0X9B
163 163  
164 164  If the sensor receives correctly, the following data will be returned, slave → host
165 165  
166 166  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
167 -|=(% 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: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width: 70px; 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
252 +|=(% 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
168 168  |(% style="width:99px" %)0X11|(% style="width:72px" %)0X03|(% style="width:68px" %)0X04|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0X01|(% style="width:56px" %)0X64|(% style="width:56px" %)0X8B|(% style="width:56px" %)0XD0
169 169  
170 170  The address of the EC K10 sensor is 11
... ... @@ -171,19 +171,19 @@
171 171  
172 172  The query data command is 11 03 00 00 00 02 C6 9B
173 173  
174 -For example, the returned data is 11 03 04 (% style="color:red" %)**02 AE**(%%) 01 64 8B D0. 02 AE is converted to decimal 686,  K=10, EC: 6860uS/cm,temperature: 35.6℃ Convert the returned data to decimal and divide by 10.
259 +**For example**, the returned data is 11 03 04 (% style="color:red" %)**02 AE**(%%) 01 64 8B D0. 02 AE is converted to decimal 686,  K=10, EC: 6860uS/cm,temperature: 35.6℃ Convert the returned data to decimal and divide by 10.
175 175  
176 176  
177 177  Query the data (EC,temperature) of the sensor (address 11), host → slave
178 178  
179 179  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
180 -|=(% 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
265 +|=(% 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
181 181  |(% style="width:99px" %)0X12|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:56px" %)0XC6|(% style="width:56px" %)0XA8
182 182  
183 183  If the sensor receives correctly, the following data will be returned, slave → host
184 184  
185 185  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
186 -|=(% 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: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width: 70px; 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
271 +|=(% 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
187 187  |(% style="width:99px" %)0X12|(% style="width:72px" %)0X03|(% style="width:68px" %)0X04|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0X01|(% style="width:56px" %)0X64|(% style="width:56px" %)0XB8|(% style="width:56px" %)0XD0
188 188  
189 189  The address of the EC K1 sensor is 12
... ... @@ -190,61 +190,90 @@
190 190  
191 191  The query data command is 12 03 00 00 00 02 C6 A8
192 192  
193 -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.
278 +**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.
194 194  
195 195  
281 +ECK200
282 +
196 196  === 1.7.5 Calibration Method ===
197 197  
285 +ECK1 and ECK10.0
198 198  
199 199  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.
200 200  
201 -The calibration steps are as follows:
289 +(% style="color:blue" %)**The calibration steps are as follows:**
290 +
202 202  (1) Place the electrode in distilled water and clean it. When mileage 1~~2000 uses 1413μS/cm standard solution, enter the following calibration command after the data is stable.
203 203  
204 204  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
205 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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: 139.083px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Data|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
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" %)Address high|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 high
206 206  |(% style="width:99px" %)0X12|(% style="width:112px" %)0X10|(% style="width:135px" %)0X00|(% style="width:126px" %)0X26|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0X04|(% style="width:1px" %)(((
207 207  0X00
208 -
209 209  0X00
210 -
211 211  0X37
212 -
213 213  0X32
214 214  )))|(% style="width:1px" %)0XBD|(% style="width:1px" %)0XFC
215 215  
216 216  1413*10 gives 0X00003732
217 217  
218 -response
304 +**response:**
219 219  
220 220  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
221 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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
307 +|=(% 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
222 222  |(% style="width:99px" %)0X12|(% style="width:112px" %)0X10|(% style="width:135px" %)0X00|(% style="width:126px" %)0X26|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0XA2|(% style="width:1px" %)0XA0
223 223  
224 224  (2) Place the electrode in distilled water to clean it. Use 12.88mS/cm standard solution for the range of 10~~20000. After the data is stable, enter the following calibration command
225 225  
226 226  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
227 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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: 139.083px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Data|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
313 +|=(% 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" %)Address high|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 high
228 228  |(% style="width:99px" %)0X11|(% style="width:112px" %)0X10|(% style="width:135px" %)0X00|(% style="width:126px" %)0X26|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0X04|(% style="width:1px" %)(((
229 229  0X00
230 -
231 231  0X01
232 -
233 233  0XF7
234 -
235 235  0X20
236 236  )))|(% style="width:1px" %)0X33|(% style="width:1px" %)0X75
237 237  
238 238  12880*10 gives 0X01F720
239 239  
240 -response
323 +**response:**
241 241  
242 242  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
243 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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
326 +|=(% 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
244 244  |(% 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
245 245  
246 246  
247 247  
331 +EC200.0
332 +
333 +For the device with address 01, use 1413uS/cm standard solution to calibrate the first point. Send frame: 1413. Convert hexadecimal to 585. Write 00 01, 00 00, 05 85 to 0x0120, 0x0121, 0x0122 respectively.
334 +
335 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
336 +|=(% 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
337 +|(% 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" %)(((
338 +0X00
339 +0X01
340 +0X00
341 +0X00
342 +0X05
343 +0X85
344 +)))|(% style="width:1px" %)0X1C|(% style="width:1px" %)(((
345 +(((
346 +0X25
347 +)))
348 +)))
349 +
350 +**response:**
351 +
352 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
353 +|=(% 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: 53px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 high
354 +|(% 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" %)(((
355 +0X80
356 +)))|(% style="width:1px" %)0X3e|(% style="width:1px" %)(((
357 +(((
358 +0X85
359 +)))
360 +)))
361 +
248 248  = 2. DR-PH01 Water PH Sensor =
249 249  
250 250  == 2.1 Specification ==
... ... @@ -251,51 +251,67 @@
251 251  
252 252  
253 253  * **Power Input**: DC7~~30
368 +
254 254  * **Power Consumption** : < 0.5W
370 +
255 255  * **Interface**: RS485. 9600 Baud Rate
372 +
256 256  * **pH measurement range**: 0~~14.00pH; resolution: 0.01pH
257 -* **pH measurement error**:±0.15pH
258 -* **Repeatability error**:±0.02pH
259 -* **Temperature measurement range**:0~~60℃; resolution: 0.1℃ (set temperature for manual temperature compensation, default 25℃)
260 -* **Temperature measurement error**: ±0.5℃
261 -* **Temperature Measure Range**: -20 ~~ 60 °C
374 +
375 +* **pH measurement error**: ±0.15pH
376 +
377 +* **Repeatability error**: ±0.02pH
378 +
379 +* **Temperature measurement range**:0~~60°C; resolution: 0.1°C (set temperature for manual temperature compensation, default 25°C)
380 +
381 +* **Temperature measurement error**: ±0.5°C
382 +
383 +* **Working environment:**
384 +** Ambient Temperature: 0–60°C
385 +** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
386 +
262 262  * **Temperature Accuracy: **±0.5 °C
388 +
263 263  * **IP Rated**: IP68
390 +
264 264  * **Max Pressure**: 0.6MPa
265 265  
266 266  == 2.2 Wiring ==
267 267  
268 -[[image:image-20240720172548-2.png||height="348" width="571"]]
269 269  
396 +(% aria-label="image-20240720172548-2.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240720172548-2.png||height="348" width="571"]](% title="Click and drag to resize" %)​(% aria-label="image-20240720172548-2.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
270 270  
271 -== (% style="color:inherit; font-family:inherit" %)2.3 (% style="color:inherit; font-family:inherit; font-size:26px" %)Mechinical Drawing(%%) ==
272 272  
273 -[[image:image-20240714174241-2.png]]
399 +== 2.3 Mechinical Drawing ==
274 274  
275 275  
402 +(% aria-label="image-20240714174241-2.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240714174241-2.png]](% title="Click and drag to resize" %)​(% aria-label="image-20240714174241-2.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
403 +
404 +
276 276  == 2.4 Installation Notice ==
277 277  
407 +
278 278  Do not power on while connect the cables. Double check the wiring before power on.
279 279  
280 280  Installation Photo as reference:
281 281  
282 -**~ Submerged installation:**
412 +(% style="color:blue" %)**Submerged installation:**
283 283  
284 284  The lead wire of the equipment passes through the waterproof pipe, and the 3/4 thread on the top of the equipment is connected to the 3/4 thread of the waterproof pipe with raw tape. Ensure that the top of the equipment and the equipment wire are not flooded.
285 285  
286 -[[image:image-20240718191348-6.png]]
416 +(% aria-label="image-20240718191348-6.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718191348-6.png]](% title="Click and drag to resize" %)​(% aria-label="image-20240718191348-6.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
287 287  
288 -**~ Pipeline installation:**
418 +(% style="color:blue" %)**Pipeline installation:**
289 289  
290 290  Connect the equipment to the pipeline through the 3/4 thread.
291 291  
292 -[[image:image-20240718191336-5.png||height="239" width="326"]]
422 +(% aria-label="image-20240718191336-5.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718191336-5.png||height="239" width="326"]](% title="Click and drag to resize" %)​(% aria-label="image-20240718191336-5.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
293 293  
294 -**Sampling:**
424 +(% style="color:blue" %)**Sampling:**
295 295  
296 296  Take representative water samples according to sampling requirements. If it is inconvenient to take samples, you can also put the electrode into the solution to be tested and read the output data. After a period of time, take out the electrode and clean it.
297 297  
298 -**Measure the pH of the water sample:**
428 +(% style="color:blue" %)**Measure the pH of the water sample:**
299 299  
300 300  First rinse the electrode with distilled water, then rinse it with the water sample, then immerse the electrode in the sample, carefully shake the test cup or stir it to accelerate the electrode balance, let it stand, and record the pH value when the reading is stable.
301 301  
... ... @@ -304,55 +304,66 @@
304 304  
305 305  
306 306  * The equipment itself generally does not require daily maintenance. When an obvious fault occurs, please do not open it and repair it yourself. Contact us as soon as possible!
437 +
307 307  * There is an appropriate amount of soaking solution in the protective bottle at the front end of the electrode. The electrode head is soaked in it to keep the glass bulb and the liquid junction activated. When measuring, loosen the bottle cap, pull out the electrode, and rinse it with pure water before use.
439 +
308 308  * Preparation of electrode soaking solution: Take a packet of PH4.00 buffer, dissolve it in 250 ml of pure water, and soak it in 3M potassium chloride solution. The preparation is as follows: Take 25 grams of analytical pure potassium chloride and dissolve it in 100 ml of pure water.
441 +
309 309  * The glass bulb at the front end of the electrode cannot come into contact with hard objects. Any damage and scratches will make the electrode ineffective.
443 +
310 310  * Before measurement, the bubbles in the electrode glass bulb should be shaken off, otherwise it will affect the measurement. When measuring, the electrode should be stirred in the measured solution and then placed still to accelerate the response.
445 +
311 311  * The electrode should be cleaned with deionized water before and after measurement to ensure accuracy.
447 +
312 312  * After long-term use, the pH electrode will become passivated, which is characterized by a decrease in sensitivity gradient, slow response, and inaccurate readings. At this time, the bulb at the bottom of the electrode can be soaked in 0.1M dilute hydrochloric acid for 24 hours (0.1M dilute hydrochloric acid preparation: 9 ml of hydrochloric acid is diluted to 1000 ml with distilled water), and then soaked in 3.3M potassium chloride solution for 24 hours. If the pH electrode is seriously passivated and soaking in 0.1M hydrochloric acid has no effect, the pH electrode bulb can be soaked in 4% HF (hydrofluoric acid) for 3-5 seconds, washed with pure water, and then soaked in 3.3M potassium chloride solution for 24 hours to restore its performance.
449 +
313 313  * Glass bulb contamination or liquid junction blockage can also cause electrode passivation. At this time, it should be cleaned with an appropriate solution according to the nature of the contaminant.
314 -* (((
315 -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.
316 -)))
317 317  
452 +* 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.
453 +
318 318  == 2.6 RS485 Commands ==
319 319  
456 +
320 320  RS485 signaldefault address 0x10
321 321  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
322 322  
460 +
323 323  === 2.6.1 Query address ===
324 324  
325 -send
326 326  
327 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
328 -|=(% 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
464 +**send:**
465 +
466 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
467 +|=(% 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
329 329  |(% 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
330 330  
331 -response
470 +**response:**
332 332  
333 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
334 -|=(% 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
472 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
473 +|=(% 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
335 335  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
336 336  
337 337  === 2.6.2 Change address ===
338 338  
478 +
339 339  For example: Change the address of the sensor with address 1 to 2, master → slave
340 340  
341 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
342 -|=(% 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
481 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
482 +|=(% 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
343 343  |(% 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
344 344  
345 345  If the sensor receives correctly, the data is returned along the original path.
346 -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.
347 347  
487 +(% 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.**
348 348  
489 +
349 349  === 2.6.3 Modify intercept ===
350 350  
351 351  
352 -send
493 +**send:**
353 353  
354 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:570.333px" %)
355 -|=(% style="width: 71px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 74px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 67px; 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: 69px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Register Length low|=(% style="width: 57px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 57px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
495 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
496 +|=(% style="width: 44.75px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 69.75px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 69.75px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address  low|=(% style="width: 69.75px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 69.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
356 356  |(% style="width:71px" %)0X10|(% style="width:74px" %)0X06|(% style="width:67px" %)0X00|(% style="width:68px" %)0X10|(% style="width:69px" %)0X00|(% style="width:66px" %)0X64|(% style="width:57px" %)0X8A|(% style="width:57px" %)(((
357 357  0XA5
358 358  )))
... ... @@ -359,10 +359,10 @@
359 359  
360 360  Change the intercept of the sensor at address 10 to 1 (default is 0). You need to pass the intercept 1*100 =100 into the command 0x006.
361 361  
362 -response
503 +**response:**
363 363  
364 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
365 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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
505 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
506 +|=(% 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
366 366  |(% style="width:99px" %)0X10|(% style="width:112px" %)0X06|(% style="width:135px" %)(((
367 367  0X00
368 368  )))|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)(((
... ... @@ -374,14 +374,14 @@
374 374  
375 375  Query the data (PH) of the sensor (address 10), host → slave
376 376  
377 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
378 -|=(% 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
518 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
519 +|=(% 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
379 379  |(% 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
380 380  
381 381  If the sensor receives correctly, the following data will be returned, slave → host
382 382  
383 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
384 -|=(% 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
524 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
525 +|=(% 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
385 385  |(% 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
386 386  
387 387  The query data command is 10 03 00 00 00 01 87 4B. After the query, 7 bytes will be returned.
... ... @@ -395,11 +395,13 @@
395 395  
396 396  
397 397  This device uses three-point calibration, and three known pH standard solutions need to be prepared.
398 -The calibration steps are as follows:
539 +
540 +(% style="color:blue" %)**The calibration steps are as follows:**
541 +
399 399  (1) Place the electrode in distilled water to clean it, and then place it in 9.18 standard buffer solution. After the data stabilizes, enter the following calibration command, and the 9.18 calibration is completed.
400 400  
401 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
402 -|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
544 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
545 +|=(% style="width: 61px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
403 403  |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
404 404  0X00
405 405  )))|(% style="width:68px" %)0X20|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X8A|(% style="width:55px" %)(((
... ... @@ -408,8 +408,8 @@
408 408  
409 409  (2) Wash the electrode in distilled water and place it in 6.86 standard buffer. After the data stabilizes, enter the following calibration command. The 6.86 calibration is completed.
410 410  
411 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
412 -|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
554 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
555 +|=(% style="width: 61px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
413 413  |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
414 414  0X00
415 415  )))|(% style="width:68px" %)0X21|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XDB|(% style="width:55px" %)(((
... ... @@ -418,8 +418,8 @@
418 418  
419 419  (3) Wash the electrode in distilled water and place it in 4.01 standard buffer. After the data stabilizes, enter the following calibration command, and the 4.00 calibration is completed.
420 420  
421 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
422 -|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
564 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
565 +|=(% style="width: 61px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
423 423  |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
424 424  0X00
425 425  )))|(% style="width:68px" %)0X22|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X2B|(% style="width:55px" %)(((
... ... @@ -431,45 +431,59 @@
431 431  
432 432  = 3. DR-ORP1 Water ORP Sensor =
433 433  
434 -
435 435  == 3.1 Specification ==
436 436  
579 +
437 437  * **Power Input**: DC7~~30
581 +
438 438  * **Measuring range**:** **-1999~~1999mV
439 -**Resolution**: 1mV
583 +
584 +* **Resolution**: 1mV
585 +
440 440  * **Interface**: RS485. 9600 Baud Rate
587 +
441 441  * **Measurement error**: ±3mV
589 +
442 442  * **Stability**: ≤2mv/24 hours
443 -* **Equipment working conditions**: Ambient temperature: 0-60℃ Relative humidity: <85%RH
591 +
592 +* **Working environment:**
593 +** Ambient Temperature: 0–60°C
594 +** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
595 +
444 444  * **IP Rated**: IP68
597 +
445 445  * **Max Pressure**: 0.6MPa
446 446  
447 447  == 3.2 Wiring ==
448 448  
449 -[[image:image-20240720172620-3.png||height="378" width="620"]]
450 450  
603 +(% aria-label="image-20240720172620-3.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240720172620-3.png||height="378" width="620"]](% title="Click and drag to resize" %)​(% aria-label="image-20240720172620-3.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
451 451  
605 +
452 452  == 3.3 Mechinical Drawing ==
453 453  
454 -[[image:image-20240714174241-2.png]]
455 455  
609 +(% aria-label="image-20240714174241-2.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240714174241-2.png]](% title="Click and drag to resize" %)​(% aria-label="image-20240714174241-2.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
610 +
611 +
456 456  == 3.4 Installation Notice ==
457 457  
614 +
458 458  Do not power on while connect the cables. Double check the wiring before power on.
459 459  
460 -Installation Photo as reference:
617 +**Installation Photo as reference:**
461 461  
462 -**~ Submerged installation:**
619 +(% style="color:blue" %)** Submerged installation:**
463 463  
464 464  The lead wire of the equipment passes through the waterproof pipe, and the 3/4 thread on the top of the equipment is connected to the 3/4 thread of the waterproof pipe with raw tape. Ensure that the top of the equipment and the equipment wire are not flooded.
465 465  
466 -[[image:image-20240718191348-6.png]]
623 +(% aria-label="image-20240718191348-6.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718191348-6.png]](% title="Click and drag to resize" %)​(% aria-label="image-20240718191348-6.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
467 467  
468 -**~ Pipeline installation:**
625 +(% style="color:blue" %)** Pipeline installation:**
469 469  
470 470  Connect the equipment to the pipeline through the 3/4 thread.
471 471  
472 -[[image:image-20240718191336-5.png||height="239" width="326"]]
629 +(% aria-label="image-20240718191336-5.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718191336-5.png||height="239" width="326"]](% title="Click and drag to resize" %)​(% aria-label="image-20240718191336-5.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
473 473  
474 474  
475 475  == 3.5 Maintenance ==
... ... @@ -493,6 +493,7 @@
493 493  
494 494  (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.
495 495  
653 +
496 496  == 3.6 RS485 Commands ==
497 497  
498 498  
... ... @@ -499,38 +499,43 @@
499 499  RS485 signaldefault address 0x13
500 500  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
501 501  
660 +
502 502  === 3.6.1 Query address ===
503 503  
504 -send
505 505  
506 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
507 -|=(% 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
664 +**send:**
665 +
666 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
667 +|=(% 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
508 508  |(% 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
509 509  
510 -response
670 +**response:**
511 511  
512 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
513 -|=(% 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
672 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
673 +|=(% 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
514 514  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
515 515  
516 516  === 3.6.2 Change address ===
517 517  
678 +
518 518  For example: Change the address of the sensor with address 1 to 2, master → slave
519 519  
520 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
521 -|=(% 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
681 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
682 +|=(% 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
522 522  |(% 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
523 523  
524 524  If the sensor receives correctly, the data is returned along the original path.
525 -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.
526 526  
687 +(% 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.**
527 527  
689 +
528 528  === 3.6.3 Modify intercept ===
529 529  
530 -send
531 531  
532 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
533 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 67px; 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: 69px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Register Length low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
693 +**send:**
694 +
695 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
696 +|=(% 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
534 534  |(% 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" %)(((
535 535  0X96
536 536  )))
... ... @@ -537,10 +537,10 @@
537 537  
538 538  Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command.
539 539  
540 -response
703 +**response:**
541 541  
542 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
543 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)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
705 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
706 +|=(% 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
544 544  |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)(((
545 545  0X00
546 546  )))|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)(((
... ... @@ -552,14 +552,14 @@
552 552  
553 553  Query the data (ORP) of the sensor (address 13), host → slave
554 554  
555 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
556 -|=(% 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
718 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
719 +|=(% 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
557 557  |(% style="width:99px" %)0X13|(% 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" %)0X78
558 558  
559 559  If the sensor receives correctly, the following data will be returned, slave → host
560 560  
561 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
562 -|=(% 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
724 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
725 +|=(% 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
563 563  |(% style="width:99px" %)0X13|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0X80|(% style="width:56px" %)0X9B
564 564  
565 565  The query data command is 13 03 00 00 00 01 87 78
... ... @@ -571,12 +571,13 @@
571 571  
572 572  === 3.6.5 Calibration Method ===
573 573  
737 +
574 574  This device uses two-point calibration, and two known ORP standard solutions need to be prepared. The calibration steps are as follows:
575 575  (1) Place the electrode in distilled water to clean it, and then place it in 86mV standard buffer solution. After the data stabilizes,
576 576  enter the following calibration command, and the 86mV point calibration is completed;
577 577  
578 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
579 -|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
742 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
743 +|=(% style="width: 42px; background-color: rgb(79, 129, 189); 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;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity 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
580 580  |(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
581 581  0X00
582 582  )))|(% style="width:68px" %)0X24|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XCB|(% style="width:55px" %)(((
... ... @@ -585,9 +585,9 @@
585 585  
586 586  Wash the electrode in distilled water and place it in 256mV standard buffer. After the data is stable, enter the following calibration command to complete the 256mV point calibration.
587 587  
588 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
589 -|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; 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: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
590 -|(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
752 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
753 +|=(% style="width: 42px; background-color: rgb(79, 129, 189); 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;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity 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
754 +|(% style="width:68px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
591 591  0X00
592 592  )))|(% style="width:68px" %)0X25|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X9A|(% style="width:55px" %)(((
593 593  0XC3
... ... @@ -595,78 +595,94 @@
595 595  
596 596  = 4. DR-DO1 Dissolved Oxygen Sensor =
597 597  
598 -
599 -
600 600  == 4.1 Specification ==
601 601  
602 602  
603 -* **Measuring range**: 0-20mg/L, 0-50℃
765 +* **Measuring range**: 0-20mg/L, 0–50℃
766 +
604 604  * **Accuracy**: 3%, ±0.5℃
768 +
605 605  * **Resolution**: 0.01 mg/L, 0.01℃
770 +
606 606  * **Maximum operating pressure**: 6 bar
772 +
607 607  * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
774 +
608 608  * **Power supply voltage**: 5-24V DC
609 -* **Working environment**: temperature 0-60℃; humidity <95%RH
776 +
777 +* **Working environment:**
778 +** Ambient Temperature: 0–60°C
779 +** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
780 +
610 610  * **Power consumption**: ≤0.5W
611 611  
612 612  == 4.2 wiring ==
613 613  
614 -[[image:image-20240720172632-4.png||height="390" width="640"]]
615 615  
786 +(% aria-label="image-20240720172632-4.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240720172632-4.png||height="390" width="640"]](% title="Click and drag to resize" %)​(% aria-label="image-20240720172632-4.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
616 616  
617 -== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals ==
618 618  
619 -[[image:image-20240718195414-8.png||height="100" width="575"]]
789 +== 4.3 Impedance requirements for current signals ==
620 620  
621 621  
792 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
793 +|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
794 +|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
795 +
622 622  == 4.4 Mechinical Drawing ==
623 623  
624 624  
625 -[[image:image-20240719155308-1.png||height="226" width="527"]]
799 +(% aria-label="image-20240719155308-1.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240719155308-1.png||height="226" width="527"]](% title="Click and drag to resize" %)​(% aria-label="image-20240719155308-1.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
626 626  
627 627  
628 628  == 4.5 Instructions for use and maintenance ==
629 629  
804 +
630 630  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
806 +
631 631  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
632 632  
633 633  == 4.6 RS485 Commands ==
634 634  
811 +
635 635  RS485 signaldefault address 0x14
636 636  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
637 637  
815 +
638 638  === 4.6.1 Query address ===
639 639  
640 -send
641 641  
642 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
643 -|=(% 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
819 +**send:**
820 +
821 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
822 +|=(% 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
644 644  |(% 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
645 645  
646 646  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.
647 647  
648 648  
649 -response
828 +**response:**
650 650  
651 651  Register 0 data high and register 0 data low indicate the actual address of the sensor: 1
652 652  Register 1 data high and register 1 data low indicate the sensor version
653 653  
654 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
655 -|=(% 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
833 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
834 +|=(% 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
656 656  |(% 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
657 657  
658 658  === 4.6.2 Change address ===
659 659  
839 +
660 660  For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave
661 661  
662 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:907.333px" %)
663 -|=(% 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
842 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
843 +|=(% 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
664 664  |(% 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
665 665  
666 -response
846 +**response:**
667 667  
668 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
669 -|=(% 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
848 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
849 +|=(% 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
670 670  |(% 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
671 671  
672 672  === 4.6.3 Query data ===
... ... @@ -674,14 +674,14 @@
674 674  
675 675  Query the data (dissolved oxygen) of the sensor (address 14), host → slave
676 676  
677 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
678 -|=(% 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
857 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
858 +|=(% 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
679 679  |(% 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
680 680  
681 681  If the sensor receives correctly, the following data will be returned, slave → host
682 682  
683 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
684 -|=(% 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
863 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
864 +|=(% 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
685 685  |(% 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
686 686  
687 687  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.
... ... @@ -691,54 +691,68 @@
691 691  
692 692  Query the data (temperature) of the sensor (address 14), host → slave
693 693  
694 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
695 -|=(% 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
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
696 696  |(% 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
697 697  
698 698  If the sensor receives correctly, the following data will be returned, slave → host
699 699  
700 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
701 -|=(% 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
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
702 702  |(% 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
703 703  
704 704  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.
705 705  
706 -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
886 +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
707 707  
708 708  
709 709  = 5. DR-TS1 Water Turbidity Sensor =
710 710  
891 +== 5.1 Specification ==
711 711  
712 712  
713 -== (% id="cke_bm_81470S" style="display:none" %) (%%)5.1 Specification ==
894 +* **Measuring range**: 0.1~~1000.0NTU
714 714  
715 -* **Measuring range**: 0.1~1000.0NTU
716 716  * **Accuracy**: ±5%
897 +
717 717  * **Resolution**: 0.1NTU
899 +
718 718  * **Stability**: ≤3mV/24 hours
719 -* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
720 -* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA)
721 -* **Working environment**: temperature 0~60℃; humidity ≤95%RH
722 -* **Power consumption**: ≤0.5W
723 723  
902 +* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01)
903 +
904 +* **Power supply voltage**: 5~~24V DC (when output signal is RS485), 12~~24V DC (when output signal is 4~~20mA)
905 +
906 +* **Working environment:**
907 +** Ambient Temperature: 0–60°C
908 +** Relative Humidity: <85% RH(Specifically refers to the cable male and female)
909 +
910 +* **Power consumption**: ≤ 0.5W
911 +
724 724  == 5.2 wiring ==
725 725  
726 -[[image:image-20240720172640-5.png||height="387" width="635"]]
727 727  
915 +(% aria-label="image-20240720172640-5.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240720172640-5.png||height="387" width="635"]](% title="Click and drag to resize" %)​(% aria-label="image-20240720172640-5.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
728 728  
917 +
729 729  == 5.3 Impedance requirements for current signals ==
730 730  
731 -[[image:image-20240718195414-8.png||height="100" width="575"]]
732 732  
921 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %)
922 +|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V**
923 +|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω**
733 733  
734 734  == 5.4 Mechinical Drawing ==
735 735  
736 -[[image:image-20240718195058-7.png||height="305" width="593"]]
737 737  
928 +(% aria-label="image-20240718195058-7.png image widget" contenteditable="false" role="region" tabindex="-1" data-widget="image" %)[[image:image-20240718195058-7.png||height="305" width="593"]](% title="Click and drag to resize" %)​(% aria-label="image-20240718195058-7.png image widget" contenteditable="false" role="region" tabindex="-1" style="background-image:url(https://wiki.dragino.com/xwiki/webjars/wiki%3Axwiki/xwiki-platform-ckeditor-webjar/17.4.0/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]]
738 738  
930 +
739 739  == 5.5 Instructions for use and maintenance ==
740 740  
933 +
741 741  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
935 +
742 742  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
743 743  
744 744  == 5.6 RS485 Commands ==
... ... @@ -747,47 +747,52 @@
747 747  RS485 signaldefault address 0x15
748 748  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
749 749  
944 +
750 750  === 5.6.1 Query address ===
751 751  
752 -send
753 753  
754 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
755 -|=(% 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
756 -|(% 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
948 +**send:**
757 757  
950 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
951 +|=(% 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
952 +|(% 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
953 +
758 758  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.
759 759  
760 760  
761 -response
957 +**response:**
762 762  
763 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
764 -|=(% 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
959 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
960 +|=(% 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
765 765  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
766 766  
767 767  === 5.6.2 Change address ===
768 768  
965 +
769 769  For example: Change the address of the sensor with address 1 to 2, master → slave
770 770  
771 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
772 -|=(% 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
968 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
969 +|=(% 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
773 773  |(% 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
774 774  
775 775  If the sensor receives correctly, the data is returned along the original path.
776 -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.
777 777  
974 +(% 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.**
975 +
976 +
778 778  === 5.6.3 Query data ===
779 779  
780 780  
781 781  Query the data (turbidity) of the sensor (address 15), host → slave
782 782  
783 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
784 -|=(% 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
982 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
983 +|=(% 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
785 785  |(% 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
786 786  
787 787  If the sensor receives correctly, the following data will be returned, slave → host
788 788  
789 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
790 -|=(% 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
988 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
989 +|=(% 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
791 791  |(% 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
792 792  
793 793  The query data command is 15 03 00 00 00 01 87 1E
... ... @@ -795,3 +795,9 @@
795 795  For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C
796 796  
797 797  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
997 +
998 +
999 += 6.  Water Quality Sensor Datasheet =
1000 +
1001 +
1002 +* **[[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,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +144.4 KB
Content
image-20241129142314-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +1.2 MB
Content