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