Changes for page Water Quality Sensors

Last modified by Karry Zhuang on 2025/02/18 15:43

From version 32.3
edited by Karry Zhuang
on 2024/07/19 15:38
Change comment: There is no comment for this version
To version 45.2
edited by Xiaoling
on 2024/08/06 10:37
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
... ... @@ -21,8 +21,11 @@
21 21  * **IP Rated**: IP68
22 22  * **Max Pressure**: 0.6MPa
23 23  
27 +
28 +
24 24  == 1.2 Application for Different Range ==
25 25  
31 +
26 26  [[image:image-20240714173018-1.png]]
27 27  
28 28  
... ... @@ -29,8 +29,12 @@
29 29  == 1.3 Wiring ==
30 30  
31 31  
38 +[[image:image-20240720172533-1.png||height="347" width="569"]]
39 +
40 +
32 32  == 1.4 Mechinical Drawing ==
33 33  
43 +
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**
50 +**Electrode installation form:**
41 41  
42 -A:Side wall installation
52 +A: Side wall installation
43 43  
44 -B:Top flange installation
54 +B: Top flange installation
45 45  
46 -C:Pipeline bend installation
56 +C: Pipeline bend installation
47 47  
48 -D:Pipeline bend installation
58 +D: Pipeline bend installation
49 49  
50 -E:Flow-through installation
60 +E: Flow-through installation
51 51  
52 -F:Submerged installation
62 +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.
74 +**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.
78 +**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 ==
85 +== 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.
... ... @@ -80,6 +80,8 @@
80 80  * 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.
81 81  * 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.).
82 82  
93 +
94 +
83 83  == 1.7 RS485 Commands ==
84 84  
85 85  
... ... @@ -89,9 +89,10 @@
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" %)
105 +**send**
106 +
107 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %)
95 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 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
97 97  
... ... @@ -98,14 +98,17 @@
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
114 +**response**
102 102  
103 103  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
104 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
105 105  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
106 106  
120 +
121 +
107 107  === 1.7.2 Change address ===
108 108  
124 +
109 109  For example: Change the address of the sensor with address 1 to 2, master → slave
110 110  
111 111  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %)
... ... @@ -141,18 +141,44 @@
141 141  
142 142  === 1.7.4 Query data ===
143 143  
160 +
161 +
162 +Query the data (EC,temperature) of the sensor (address 11), host → slave
163 +
164 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
165 +|=(% 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
166 +|(% 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
167 +
168 +If the sensor receives correctly, the following data will be returned, slave → host
169 +
170 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
171 +|=(% 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
172 +|(% 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
173 +
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
178 +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  
181 +Query the data (EC,temperature) of the sensor (address 11), host → slave
182 +
183 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
184 +|=(% 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
185 +|(% 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
186 +
187 +If the sensor receives correctly, the following data will be returned, slave → host
188 +
189 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
190 +|=(% 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
191 +|(% 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
192 +
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
197 +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 ===
... ... @@ -225,7 +225,9 @@
225 225  
226 226  == 2.2 Wiring ==
227 227  
270 +[[image:image-20240720172548-2.png||height="348" width="571"]]
228 228  
272 +
229 229  == (% style="color:inherit; font-family:inherit" %)2.3 (% style="color:inherit; font-family:inherit; font-size:26px" %)Mechinical Drawing(%%) ==
230 230  
231 231  [[image:image-20240714174241-2.png]]
... ... @@ -258,7 +258,7 @@
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 ===
305 +== 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!
... ... @@ -278,7 +278,7 @@
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  
281 -=== 2.6.1 Query data ===
325 +=== 2.6.1 Query address ===
282 282  
283 283  send
284 284  
... ... @@ -309,13 +309,13 @@
309 309  
310 310  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" %)(((
356 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:570.333px" %)
357 +|=(% 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
358 +|(% 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.
362 +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 320  response
321 321  
... ... @@ -330,8 +330,18 @@
330 330  === 2.6.4 Query data ===
331 331  
332 332  
333 -The address of the pH  sensor is 10
377 +Query the data (PH) of the sensor (address 10), host → slave
334 334  
379 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
380 +|=(% 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
381 +|(% 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
382 +
383 +If the sensor receives correctly, the following data will be returned, slave → host
384 +
385 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
386 +|=(% 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
387 +|(% 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
388 +
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.
... ... @@ -394,7 +394,9 @@
394 394  
395 395  == 3.2 Wiring ==
396 396  
451 +[[image:image-20240720172620-3.png||height="378" width="620"]]
397 397  
453 +
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 ===
477 +== 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.
... ... @@ -445,7 +445,7 @@
445 445  RS485 signaldefault address 0x13
446 446  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
447 447  
448 -=== 3.6.1 Query data ===
504 +=== 3.6.1 Query address ===
449 449  
450 450  send
451 451  
... ... @@ -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
535 +|=(% 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  
555 +Query the data (ORP) of the sensor (address 13), host → slave
556 +
557 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
558 +|=(% 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
559 +|(% 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
560 +
561 +If the sensor receives correctly, the following data will be returned, slave → host
562 +
563 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
564 +|=(% 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
565 +|(% 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
566 +
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.
... ... @@ -534,64 +534,113 @@
534 534  
535 535  == 4.1 Specification ==
536 536  
537 -* **Measuring range**: 0.1~1000.0NTU
538 -* **Accuracy**: ±5%
539 -* **Resolution**: 0.1NTU
540 -* **Stability**: ≤3mV/24 hours
541 -* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
542 -* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA)
543 -* **Working environment**: temperature 0~60℃; humidity ≤95%RH
604 +
605 +* **Measuring range**: 0-20mg/L, 0-50℃
606 +* **Accuracy**: 3%, ±0.5℃
607 +* **Resolution**: 0.01 mg/L, 0.01℃
608 +* **Maximum operating pressure**: 6 bar
609 +* **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01)
610 +* **Power supply voltage**: 5-24V DC
611 +* **Working environment**: temperature 0-60℃; humidity <95%RH
544 544  * **Power consumption**: ≤0.5W
545 545  
546 -== 4.2 Impedance requirements for current signals ==
614 +== 4.2 wiring ==
547 547  
548 -[[image:image-20240718195414-8.png||height="100" width="575"]]
616 +[[image:image-20240720172632-4.png||height="390" width="640"]]
549 549  
550 550  
551 -== 4.3 wiring ==
619 +== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals ==
552 552  
621 +[[image:image-20240718195414-8.png||height="100" width="575"]]
622 +
623 +
553 553  == 4.4 Mechinical Drawing ==
554 554  
555 -[[image:image-20240718195058-7.png||height="305" width="593"]]
556 556  
627 +[[image:image-20240719155308-1.png||height="226" width="527"]]
557 557  
558 -=== 4.5 Instructions for use and maintenance ===
559 559  
630 +== 4.5 Instructions for use and maintenance ==
631 +
560 560  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
561 561  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
562 562  
563 563  == 4.6 RS485 Commands ==
564 564  
637 +RS485 signaldefault address 0x14
638 +Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
639 +
565 565  === 4.6.1 Query address ===
566 566  
567 567  send
568 568  
569 569  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
570 -|=(% 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
571 -|(% 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
645 +|=(% 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
646 +|(% 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
572 572  
573 -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.
648 +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.
574 574  
575 575  
576 576  response
577 577  
578 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
579 -|=(% 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
580 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
653 +Register 0 data high and register 0 data low indicate the actual address of the sensor: 1
654 +Register 1 data high and register 1 data low indicate the sensor version
581 581  
656 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
657 +|=(% 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
658 +|(% 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
582 582  
583 -=== 4.6.2 Query data ===
660 +=== 4.6.2 Change address ===
584 584  
662 +For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave
585 585  
586 -The address of the dissolved oxygen sensor is 14
664 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:907.333px" %)
665 +|=(% 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
666 +|(% 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
587 587  
588 -The query data command is 14 03 00 14 00 01 C6 CB
668 +response
589 589  
670 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
671 +|=(% 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
672 +|(% 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
673 +
674 +=== 4.6.3 Query data ===
675 +
676 +
677 +Query the data (dissolved oxygen) of the sensor (address 14), host → slave
678 +
679 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
680 +|=(% 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
681 +|(% 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
682 +
683 +If the sensor receives correctly, the following data will be returned, slave → host
684 +
685 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
686 +|=(% 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
687 +|(% 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
688 +
590 590  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.
591 591  
592 592  Converted to decimal, it is 888. Add two decimal places to get the actual value. 03 78 means the current dissolved oxygen is 8.88mg/L
593 593  
594 594  
694 +Query the data (temperature) of the sensor (address 14), host → slave
695 +
696 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
697 +|=(% 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
698 +|(% 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
699 +
700 +If the sensor receives correctly, the following data will be returned, slave → host
701 +
702 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
703 +|=(% 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
704 +|(% 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
705 +
706 +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.
707 +
708 +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℃
709 +
710 +
595 595  = 5. DR-TS1 Water Turbidity Sensor =
596 596  
597 597  
... ... @@ -607,10 +607,11 @@
607 607  * **Working environment**: temperature 0~60℃; humidity ≤95%RH
608 608  * **Power consumption**: ≤0.5W
609 609  
610 -
611 611  == 5.2 wiring ==
612 612  
728 +[[image:image-20240720172640-5.png||height="387" width="635"]]
613 613  
730 +
614 614  == 5.3 Impedance requirements for current signals ==
615 615  
616 616  [[image:image-20240718195414-8.png||height="100" width="575"]]
... ... @@ -621,7 +621,7 @@
621 621  [[image:image-20240718195058-7.png||height="305" width="593"]]
622 622  
623 623  
624 -=== 5.5 Instructions for use and maintenance ===
741 +== 5.5 Instructions for use and maintenance ==
625 625  
626 626  * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor.
627 627  * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently.
... ... @@ -628,8 +628,12 @@
628 628  
629 629  == 5.6 RS485 Commands ==
630 630  
631 -=== 4.6.1 Query address ===
632 632  
749 +RS485 signaldefault address 0x15
750 +Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
751 +
752 +=== 5.6.1 Query address ===
753 +
633 633  send
634 634  
635 635  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
... ... @@ -645,12 +645,32 @@
645 645  |=(% 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
646 646  |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
647 647  
769 +=== 5.6.2 Change address ===
648 648  
649 -=== 5.6.2 Query data ===
771 +For example: Change the address of the sensor with address 1 to 2, master → slave
650 650  
773 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
774 +|=(% 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
775 +|(% 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
651 651  
652 -The address of the dissolved oxygen sensor is 15
777 +If the sensor receives correctly, the data is returned along the original path.
778 +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.
653 653  
780 +=== 5.6.3 Query data ===
781 +
782 +
783 +Query the data (turbidity) of the sensor (address 15), host → slave
784 +
785 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
786 +|=(% 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
787 +|(% 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
788 +
789 +If the sensor receives correctly, the following data will be returned, slave → host
790 +
791 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %)
792 +|=(% 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
793 +|(% 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
794 +
654 654  The query data command is 15 03 00 00 00 01 87 1E
655 655  
656 656  For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C
image-20240719155308-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +57.4 KB
Content
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