Changes for page Water Quality Sensors

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

From version 34.2
edited by Karry Zhuang
on 2024/07/19 16:31
Change comment: There is no comment for this version
To version 45.52
edited by Xiaoling
on 2024/08/06 14:11
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.karry
1 +XWiki.Xiaoling
Content
... ... @@ -3,10 +3,13 @@
3 3  {{toc/}}
4 4  
5 5  
6 +
7 +
6 6  = 1. DR-ECK Water EC Probe =
7 7  
8 8  == 1.1 Specification: ==
9 9  
12 +
10 10  * **Power Input**: DC7~~30
11 11  * **Power Consumption** : < 0.5W
12 12  * **Interface**: RS485. 9600 Baud Rate
... ... @@ -23,6 +23,7 @@
23 23  
24 24  == 1.2 Application for Different Range ==
25 25  
29 +
26 26  [[image:image-20240714173018-1.png]]
27 27  
28 28  
... ... @@ -29,8 +29,12 @@
29 29  == 1.3 Wiring ==
30 30  
31 31  
36 +[[image:image-20240720172533-1.png||height="347" width="569"]]
37 +
38 +
32 32  == 1.4 Mechinical Drawing ==
33 33  
41 +
34 34  [[image:image-20240714174241-2.png]]
35 35  
36 36  
... ... @@ -37,19 +37,19 @@
37 37  == 1.5 Installation ==
38 38  
39 39  
40 -**Electrode installation form**
48 +**Electrode installation form:**
41 41  
42 -A:Side wall installation
50 +A: Side wall installation
43 43  
44 -B:Top flange installation
52 +B: Top flange installation
45 45  
46 -C:Pipeline bend installation
54 +C: Pipeline bend installation
47 47  
48 -D:Pipeline bend installation
56 +D: Pipeline bend installation
49 49  
50 -E:Flow-through installation
58 +E: Flow-through installation
51 51  
52 -F:Submerged installation
60 +F: Submerged installation
53 53  
54 54  [[image:image-20240718190121-1.png||height="350" width="520"]]
55 55  
... ... @@ -61,11 +61,11 @@
61 61  
62 62  [[image:image-20240718190204-2.png||height="262" width="487"]]
63 63  
64 -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.
72 +**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.
65 65  
66 66  [[image:image-20240718190221-3.png||height="292" width="500"]]
67 67  
68 -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.
76 +**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.
69 69  
70 70  B. Correct installation method
71 71  
... ... @@ -72,7 +72,7 @@
72 72  [[image:image-20240718190249-4.png||height="287" width="515"]]
73 73  
74 74  
75 -== 1.6 Maintain ==
83 +== 1.6 Maintenance ==
76 76  
77 77  
78 78  * 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.
... ... @@ -89,50 +89,53 @@
89 89  
90 90  === 1.7.1 Query address ===
91 91  
92 -send
93 93  
94 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
95 -|=(% 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
96 -|(% 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
101 +**send:**
97 97  
103 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
104 +|=(% 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
105 +|(% 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
106 +
98 98  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.
99 99  
100 100  
101 -response
110 +**response:**
102 102  
103 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
104 -|=(% 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
112 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:512px" %)
113 +|=(% 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
105 105  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
106 106  
107 107  === 1.7.2 Change address ===
108 108  
118 +
109 109  For example: Change the address of the sensor with address 1 to 2, master → slave
110 110  
111 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
112 -|=(% style="width: 69px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width: 76px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 67px; 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: 73px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 73px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 57px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
113 -|(% style="width:69px" %)0X01|(% style="width:76px" %)0X06|(% style="width:67px" %)0X00|(% style="width:68px" %)0X50|(% style="width:73px" %)0X00|(% style="width:73px" %)0X02|(% style="width:57px" %)0X08|(% style="width:56px" %)0X1A
121 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
122 +|=(% 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
123 +|(% 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
114 114  
115 115  If the sensor receives correctly, the data is returned along the original path.
116 -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.
117 117  
127 +(% 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.**
118 118  
129 +
119 119  === 1.7.3 Modify intercept ===
120 120  
121 121  
122 -send
133 +**send:**
123 123  
124 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
125 -|=(% 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
126 -|(% 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" %)(((
135 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:512px" %)
136 +|=(% 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
137 +|(% 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" %)(((
127 127  0X07
128 128  )))
129 129  
130 130  Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command.
131 131  
132 -response
143 +**response:**
133 133  
134 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
135 -|=(% 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
145 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:512px" %)
146 +|=(% 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
136 136  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)(((
137 137  0X02
138 138  )))|(% style="width:126px" %)0X00|(% style="width:85px" %)0X00|(% style="width:1px" %)0X0A|(% style="width:1px" %)0X38|(% style="width:1px" %)(((
... ... @@ -141,18 +141,43 @@
141 141  
142 142  === 1.7.4 Query data ===
143 143  
155 +
156 +Query the data (EC,temperature) of the sensor (address 11), host → slave
157 +
158 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
159 +|=(% 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
160 +|(% 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
161 +
162 +If the sensor receives correctly, the following data will be returned, slave → host
163 +
164 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
165 +|=(% 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
166 +|(% 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
167 +
144 144  The address of the EC K10 sensor is 11
145 145  
146 146  The query data command is 11 03 00 00 00 02 C6 9B
147 147  
148 -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
172 +**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.
149 149  
150 150  
175 +Query the data (EC,temperature) of the sensor (address 11), host → slave
176 +
177 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
178 +|=(% 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
179 +|(% 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
180 +
181 +If the sensor receives correctly, the following data will be returned, slave → host
182 +
183 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
184 +|=(% 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
185 +|(% 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
186 +
151 151  The address of the EC K1 sensor is 12
152 152  
153 153  The query data command is 12 03 00 00 00 02 C6 A8
154 154  
155 -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
191 +**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.
156 156  
157 157  
158 158  === 1.7.5 Calibration Method ===
... ... @@ -160,56 +160,50 @@
160 160  
161 161  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.
162 162  
163 -The calibration steps are as follows:
199 +**The calibration steps are as follows:**
164 164  (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.
165 165  
166 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
167 -|=(% 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
202 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
203 +|=(% 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
168 168  |(% 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" %)(((
169 169  0X00
170 -
171 171  0X00
172 -
173 173  0X37
174 -
175 175  0X32
176 176  )))|(% style="width:1px" %)0XBD|(% style="width:1px" %)0XFC
177 177  
178 178  1413*10 gives 0X00003732
179 179  
180 -response
213 +**response:**
181 181  
182 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
183 -|=(% 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
215 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
216 +|=(% 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
184 184  |(% 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
185 185  
186 186  (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
187 187  
188 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
189 -|=(% 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
221 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
222 +|=(% 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
190 190  |(% 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" %)(((
191 191  0X00
192 -
193 193  0X01
194 -
195 195  0XF7
196 -
197 197  0X20
198 198  )))|(% style="width:1px" %)0X33|(% style="width:1px" %)0X75
199 199  
200 200  12880*10 gives 0X01F720
201 201  
202 -response
232 +**response:**
203 203  
204 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
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: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
234 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
235 +|=(% 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
206 206  |(% 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
207 207  
208 208  = 2. DR-PH01 Water PH Sensor =
209 209  
210 -
211 211  == 2.1 Specification ==
212 212  
242 +
213 213  * **Power Input**: DC7~~30
214 214  * **Power Consumption** : < 0.5W
215 215  * **Interface**: RS485. 9600 Baud Rate
... ... @@ -226,39 +226,44 @@
226 226  == 2.2 Wiring ==
227 227  
228 228  
259 +[[image:image-20240720172548-2.png||height="348" width="571"]]
260 +
261 +
229 229  == (% style="color:inherit; font-family:inherit" %)2.3 (% style="color:inherit; font-family:inherit; font-size:26px" %)Mechinical Drawing(%%) ==
230 230  
264 +
231 231  [[image:image-20240714174241-2.png]]
232 232  
233 233  
234 234  == 2.4 Installation Notice ==
235 235  
270 +
236 236  Do not power on while connect the cables. Double check the wiring before power on.
237 237  
238 238  Installation Photo as reference:
239 239  
240 -**~ Submerged installation:**
275 +(% style="color:blue" %)**Submerged installation:**
241 241  
242 242  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.
243 243  
244 244  [[image:image-20240718191348-6.png]]
245 245  
246 -**~ Pipeline installation:**
281 +(% style="color:blue" %)**Pipeline installation:**
247 247  
248 248  Connect the equipment to the pipeline through the 3/4 thread.
249 249  
250 250  [[image:image-20240718191336-5.png||height="239" width="326"]]
251 251  
252 -**Sampling:**
287 +(% style="color:blue" %)**Sampling:**
253 253  
254 254  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.
255 255  
256 -**Measure the pH of the water sample:**
291 +(% style="color:blue" %)**Measure the pH of the water sample:**
257 257  
258 258  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.
259 259  
260 260  
261 -=== 2.5 Maintenance ===
296 +== 2.5 Maintenance ==
262 262  
263 263  
264 264  * 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!
... ... @@ -275,51 +275,56 @@
275 275  
276 276  == 2.6 RS485 Commands ==
277 277  
313 +
278 278  RS485 signaldefault address 0x10
279 279  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
280 280  
317 +
281 281  === 2.6.1 Query address ===
282 282  
283 -send
284 284  
285 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
321 +**send:**
322 +
323 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
286 286  |=(% 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
287 287  |(% 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
288 288  
289 -response
327 +**response:**
290 290  
291 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
329 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
292 292  |=(% 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
293 293  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
294 294  
295 295  === 2.6.2 Change address ===
296 296  
335 +
297 297  For example: Change the address of the sensor with address 1 to 2, master → slave
298 298  
299 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
338 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
300 300  |=(% 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
301 301  |(% 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
302 302  
303 303  If the sensor receives correctly, the data is returned along the original path.
304 -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.
305 305  
344 +(% 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.**
306 306  
346 +
307 307  === 2.6.3 Modify intercept ===
308 308  
309 309  
310 -send
350 +**send:**
311 311  
312 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
313 -|=(% 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
314 -|(% style="width:99px" %)0X10|(% 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" %)(((
352 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
353 +|=(% 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
354 +|(% 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" %)(((
315 315  0XA5
316 316  )))
317 317  
318 -Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command.
358 +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.
319 319  
320 -response
360 +**response:**
321 321  
322 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
362 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
323 323  |=(% 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
324 324  |(% style="width:99px" %)0X10|(% style="width:112px" %)0X06|(% style="width:135px" %)(((
325 325  0X00
... ... @@ -330,8 +330,18 @@
330 330  === 2.6.4 Query data ===
331 331  
332 332  
333 -The address of the pH  sensor is 10
373 +Query the data (PH) of the sensor (address 10), host → slave
334 334  
375 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
376 +|=(% 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
377 +|(% 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
378 +
379 +If the sensor receives correctly, the following data will be returned, slave → host
380 +
381 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
382 +|=(% 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
383 +|(% 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
384 +
335 335  The query data command is 10 03 00 00 00 01 87 4B. After the query, 7 bytes will be returned.
336 336  
337 337  For example, the returned data is 10 03 02 (% style="color:red" %)**02 AE**(%%) C4 9B.
... ... @@ -343,10 +343,10 @@
343 343  
344 344  
345 345  This device uses three-point calibration, and three known pH standard solutions need to be prepared.
346 -The calibration steps are as follows:
396 +**The calibration steps are as follows:**
347 347  (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.
348 348  
349 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
399 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
350 350  |=(% 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
351 351  |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
352 352  0X00
... ... @@ -356,7 +356,7 @@
356 356  
357 357  (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.
358 358  
359 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
409 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
360 360  |=(% 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
361 361  |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
362 362  0X00
... ... @@ -366,7 +366,7 @@
366 366  
367 367  (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.
368 368  
369 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
419 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
370 370  |=(% 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
371 371  |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)(((
372 372  0X00
... ... @@ -379,7 +379,6 @@
379 379  
380 380  = 3. DR-ORP1 Water ORP Sensor =
381 381  
382 -
383 383  == 3.1 Specification ==
384 384  
385 385  * **Power Input**: DC7~~30
... ... @@ -394,7 +394,9 @@
394 394  
395 395  == 3.2 Wiring ==
396 396  
446 +[[image:image-20240720172620-3.png||height="378" width="620"]]
397 397  
448 +
398 398  == 3.3 Mechinical Drawing ==
399 399  
400 400  [[image:image-20240714174241-2.png]]
... ... @@ -418,7 +418,7 @@
418 418  [[image:image-20240718191336-5.png||height="239" width="326"]]
419 419  
420 420  
421 -=== 3.5 Maintenance ===
472 +== 3.5 Maintenance ==
422 422  
423 423  
424 424  (1) 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.
... ... @@ -476,7 +476,7 @@
476 476  send
477 477  
478 478  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
479 -|=(% 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
530 +|=(% 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
480 480  |(% 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" %)(((
481 481  0X96
482 482  )))
... ... @@ -495,8 +495,19 @@
495 495  
496 496  === 3.6.4 Query data ===
497 497  
498 -The address of the ORP sensor is 13
499 499  
550 +Query the data (ORP) of the sensor (address 13), host → slave
551 +
552 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
553 +|=(% 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
554 +|(% 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
555 +
556 +If the sensor receives correctly, the following data will be returned, slave → host
557 +
558 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
559 +|=(% 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
560 +|(% 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
561 +
500 500  The query data command is 13 03 00 00 00 01 87 78
501 501  
502 502  For example, the returned data is 13 03 02 (% style="color:red" %)**02 AE**(%%) 80 9B.
... ... @@ -546,6 +546,7 @@
546 546  
547 547  == 4.2 wiring ==
548 548  
611 +[[image:image-20240720172632-4.png||height="390" width="640"]]
549 549  
550 550  
551 551  == (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals ==
... ... @@ -559,7 +559,7 @@
559 559  [[image:image-20240719155308-1.png||height="226" width="527"]]
560 560  
561 561  
562 -=== 4.5 Instructions for use and maintenance ===
625 +== 4.5 Instructions for use and maintenance ==
563 563  
564 564  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
565 565  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
... ... @@ -657,7 +657,9 @@
657 657  
658 658  == 5.2 wiring ==
659 659  
723 +[[image:image-20240720172640-5.png||height="387" width="635"]]
660 660  
725 +
661 661  == 5.3 Impedance requirements for current signals ==
662 662  
663 663  [[image:image-20240718195414-8.png||height="100" width="575"]]
... ... @@ -668,7 +668,7 @@
668 668  [[image:image-20240718195058-7.png||height="305" width="593"]]
669 669  
670 670  
671 -=== 5.5 Instructions for use and maintenance ===
736 +== 5.5 Instructions for use and maintenance ==
672 672  
673 673  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
674 674  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
... ... @@ -675,8 +675,12 @@
675 675  
676 676  == 5.6 RS485 Commands ==
677 677  
678 -=== 4.6.1 Query address ===
679 679  
744 +RS485 signaldefault address 0x15
745 +Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
746 +
747 +=== 5.6.1 Query address ===
748 +
680 680  send
681 681  
682 682  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
... ... @@ -692,11 +692,32 @@
692 692  |=(% 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
693 693  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
694 694  
695 -=== 5.6.2 Query data ===
764 +=== 5.6.2 Change address ===
696 696  
766 +For example: Change the address of the sensor with address 1 to 2, master → slave
697 697  
698 -The address of the dissolved oxygen sensor is 15
768 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
769 +|=(% 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
770 +|(% 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
699 699  
772 +If the sensor receives correctly, the data is returned along the original path.
773 +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.
774 +
775 +=== 5.6.3 Query data ===
776 +
777 +
778 +Query the data (turbidity) of the sensor (address 15), host → slave
779 +
780 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
781 +|=(% 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
782 +|(% 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
783 +
784 +If the sensor receives correctly, the following data will be returned, slave → host
785 +
786 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
787 +|=(% 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
788 +|(% 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
789 +
700 700  The query data command is 15 03 00 00 00 01 87 1E
701 701  
702 702  For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C
image-20240720172533-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20240720172548-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20240720172620-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20240720172632-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20240720172640-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content