Last modified by Karry Zhuang on 2024/07/11 11:58
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Bei - Content
-
... ... @@ -7,66 +7,65 @@ 7 7 8 8 9 9 10 -= **1. Introduction**=10 += 1. Introduction = 11 11 12 12 13 13 This article provide the examples for RS485-LN to connect to different type of RS485 sensors. 14 14 15 15 16 +== 1.1 Example 1: Connect to Leak relay and VFD == 16 16 17 -== **1.1 Example 1: Connect to Leak relay and VFD** == 18 18 19 - 20 20 This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-LN to connect to Relay and VFD and communicate with Mobile. The structure is like below: 21 21 22 22 23 23 [[image:image-20220527091852-1.png||height="547" width="994"]] 24 24 25 -Connection 24 +**Connection** 26 26 27 27 28 28 29 29 [[image:image-20220527091942-2.png]](% style="display:none" %) 30 30 31 -Connection 30 +**Connection** 32 32 33 33 34 34 (% style="color:blue" %)**Related documents:** 35 35 36 -* System Structure: [[Solar Pump with Dragino>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Relay_VFD/||_mstmutation="1" style="background-color: rgb(255, 255, 255);"]] 35 +* System Structure: [[Solar Pump with Dragino>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Relay_VFD/||_mstmutation="1" style="background-color: rgb(255, 255, 255);"]] 36 + 37 37 * Explanation on how to integrate to Node-red and to the Mobile Phone, and with link to the Github code: [[Configure Manual>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Relay_VFD/||_mstmutation="1" style="background-color: rgb(255, 255, 255);"]] 38 + 38 38 * [[Video Demo>>url:https://www.youtube.com/watch?v=TAFZ5eaf-MY&t=6s&ab_channel=XavierFlorensaBerenguer]] 39 39 41 +== 1.2 Example 2: Connect to Pulse Counter == 40 40 41 41 42 -== **1.2 Example 2: Connect to Pulse Counter** == 43 - 44 - 45 45 This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-LN to connect to Pulse Counter and communicate with Mobile. This example and example 2 compose the structure for a farm IoT solution. The structure is like below: 46 46 47 47 48 48 [[image:image-20220527092058-3.png||height="552" width="905"]] 49 49 50 -Connection 49 +**Connection** 51 51 52 52 53 53 54 54 [[image:image-20220527092146-4.png||height="507" width="906"]] 55 55 56 -Connection 55 +**Connection** 57 57 58 58 59 59 (% style="color:blue" %)**Related documents:** 60 60 61 61 * Configure Document: [[Pickdata MIO40 water pulse counter to LoRa with Dragino RS485-LN>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Pulse-Counter/||_mstmutation="1"]] 61 + 62 62 * [[Dragino Solution in Farm>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/&file=Dragino%20on%20Farms.pptx]] 63 63 64 -== **1.3 Example 3: Use RS485-LN with energy meters**==64 +== 1.3 Example 3: Use RS485-LN with energy meters == 65 65 66 +=== 1.3.1 OverView === 66 66 67 -=== **1.3.1 OverView** === 68 68 69 - 70 70 ((( 71 71 (% style="color:red" %)**Note**:**The specifications of each energy meter are different, please refer to your own energy meter specifications.** 72 72 ))) ... ... @@ -79,7 +79,7 @@ 79 79 80 80 [[image:image-20220527092419-5.png]] 81 81 82 -Connection1 81 +**Connection1** 83 83 84 84 85 85 ... ... @@ -98,11 +98,11 @@ 98 98 ))) 99 99 100 100 ((( 101 -Power Source VIN to RS485-LN VIN+ 100 +Power Source **VIN** to RS485-LN **VIN+** 102 102 ))) 103 103 104 104 ((( 105 -Power Source GND to RS485-LN VIN- 104 +Power Source **GND** to RS485-LN **VIN-** 106 106 ))) 107 107 108 108 ((( ... ... @@ -113,19 +113,18 @@ 113 113 114 114 [[image:image-20220527092514-6.png]] 115 115 116 -Connection2 115 +**Connection2** 117 117 118 118 119 119 120 120 [[image:image-20220527092555-7.png]] 121 121 122 -Connection3 121 +**Connection3** 123 123 124 124 124 +=== 1.3.2 How to use the parameters of the energy meter and MODBUS commands === 125 125 126 -=== **1.3.2 How to use the parameters of the energy meter and MODBUS commands** === 127 127 128 - 129 129 If the user needs to read the parameters of the electric energy meter and use the modbus command,please refer to the appendix of the MODBUS communication protocol in the user manual of the energy meter. 130 130 131 131 [[image:image-20220601143257-10.png]] ... ... @@ -134,9 +134,13 @@ 134 134 (% style="color:blue" %)**Example:**(%%) AT+COMMAND1=01 03 00 00 00 01 84 0A 135 135 136 136 * The first byte : slave address code (=001~247) 135 + 137 137 * The second byte : read register value function code 137 + 138 138 * 3rd and 4th bytes: start address of register to be read 139 + 139 139 * 5th and 6th bytes: Number of registers to read 141 + 140 140 * 7th and 8th bytes: CRC16 checksum from bytes 1 to 6. 141 141 142 142 ((( ... ... @@ -149,27 +149,23 @@ 149 149 ))) 150 150 151 151 * The first byte ARD: slave address code (=001~254) 154 + 152 152 * The second byte: Return to read function code 156 + 153 153 * 3rd byte: total number of bytes 158 + 154 154 * 4th~5th bytes: register data 160 + 155 155 * The 6th and 7th bytes: CRC16 checksum 162 + 156 156 * 08 FD is register data. Use short integer 16 bits to convert to decimal, get 2301, then 230.1V is the voltage. 157 157 158 -(% class="wikigeneratedid" %) 159 -((( 160 - 165 +=== 1.3.3 How to configure RS485-LN and parse output commands === 161 161 162 162 163 - 164 -))) 165 - 166 -=== **1.3.3 How to configure RS485-LN and parse output commands** === 167 - 168 - 169 169 RS485-LN provides two configuration methods: AT COMMAND and DOWNLINK. 170 170 171 171 172 - 173 173 ==== **1.3.3.1 via AT COMMAND** ==== 174 174 175 175 ... ... @@ -183,7 +183,7 @@ 183 183 184 184 [[image:image-20220601143201-9.png]] 185 185 186 -AT COMMAND 184 +**AT COMMAND** 187 187 188 188 189 189 (% class="box infomessage" %) ... ... @@ -199,16 +199,15 @@ 199 199 200 200 [[image:image-20220601143115-8.png]] 201 201 202 -AT COMMAND 200 +**AT COMMAND** 203 203 204 204 205 205 206 206 PAYLOAD is available after the valid value is intercepted. 207 207 208 - 209 209 [[image:image-20220601143046-7.png]] 210 210 211 -AT COMMAND 208 +**AT COMMAND** 212 212 213 213 214 214 ... ... @@ -217,19 +217,16 @@ 217 217 [[image:image-20220601143519-1.png]] 218 218 219 219 ((( 220 -AT COMMAND 217 +**AT COMMAND** 221 221 ))) 222 222 223 223 ((( 224 224 225 - 226 - 227 227 ))) 228 228 229 229 ((( 230 230 (% style="color:blue" %)**Example**: 231 231 232 - 233 233 (% style="color:red" %)**CMD1:**(%%) Read current data with MODBUS command. address: 0x03 AT+COMMAND1= 01 03 00 03 00 01,1 234 234 ))) 235 235 ... ... @@ -271,8 +271,6 @@ 271 271 272 272 ((( 273 273 Payload: 01 00 02 39 85 08 DC 00 00 00 44 274 - 275 - 276 276 ))) 277 277 278 278 [[image:image-20220601142936-6.png]] ... ... @@ -296,13 +296,11 @@ 296 296 [[image:image-20220527093358-15.png]] 297 297 298 298 ((( 299 -DOWNLINK 291 +**DOWNLINK** 300 300 ))) 301 301 302 -((( 303 - 304 -))) 305 305 295 + 306 306 ((( 307 307 (% style="color:blue" %)**Type Code 0xAF** 308 308 ))) ... ... @@ -316,8 +316,6 @@ 316 316 317 317 ((( 318 318 (% style="color:red" %)**Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 319 - 320 - 321 321 ))) 322 322 323 323 ((( ... ... @@ -352,9 +352,8 @@ 352 352 will execute an uplink after got this command. 353 353 ))) 354 354 355 -((( 356 - 357 357 344 +((( 358 358 (% style="color:blue" %)**Example:** 359 359 ))) 360 360 ... ... @@ -364,35 +364,34 @@ 364 364 365 365 [[image:image-20220601144149-6.png]] 366 366 367 -DOWNLINK 354 +**DOWNLINK** 368 368 369 369 370 370 371 371 [[image:image-20220601143803-3.png]] 372 372 373 -DOWNLINK 360 +**DOWNLINK** 374 374 375 375 376 376 377 377 [[image:image-20220601144053-5.png]] 378 378 379 -DOWNLINK 366 +**DOWNLINK** 380 380 381 381 382 382 383 383 [[image:image-20220601143921-4.png]] 384 384 385 -DOWNLINK 372 +**DOWNLINK** 386 386 387 387 388 388 389 389 [[image:image-20220601142805-5.png]] 390 390 391 -DOWNLINK 392 - 378 +**DOWNLINK** 393 393 394 394 395 -=== **1.3.4 How to configure and output commands for RS485 to USB**===381 +=== 1.3.4 How to configure and output commands for RS485 to USB === 396 396 397 397 398 398 ((( ... ... @@ -419,20 +419,18 @@ 419 419 420 420 [[image:image-20220527093708-21.png]] 421 421 422 -USB 408 +**USB** 423 423 424 424 425 425 426 426 [[image:image-20220527093747-22.png]] 427 427 428 -USB 414 +**USB** 429 429 430 430 431 431 432 432 ((( 433 433 The configuration command is consistent with the AT command, input the hexadecimal command directly into the serial port, and the serial port will output the command. 434 - 435 - 436 436 ))) 437 437 438 438 ((( ... ... @@ -447,11 +447,11 @@ 447 447 448 448 [[image:image-20220527093821-23.png]] 449 449 450 -USB 434 +**USB** 451 451 452 452 453 453 454 -=== **1.3.5 How to configure multiple devices and modify device addresses**===438 +=== 1.3.5 How to configure multiple devices and modify device addresses === 455 455 456 456 457 457 If users need to read the parameters of multiple energy meters, they need to modify the device address, because the default device address of each energy meter is 01. ... ... @@ -500,9 +500,9 @@ 500 500 **AT+CFGDEV:01 10 00 61 00 01 02 00 02,1** 501 501 ))) 502 502 503 -* 01:device adaress 487 +* 01: device adaress 504 504 505 -* 10:function code 489 +* 10: function code 506 506 507 507 * 00 61:Register address 508 508 ... ... @@ -533,7 +533,6 @@ 533 533 534 534 (% style="display:none" %) (%%) 535 535 536 -(% style="display:none" %) (%%) 537 537 538 538 == 1.4 Example 4: Circuit Breaker Remote Open Close == 539 539 ... ... @@ -544,12 +544,11 @@ 544 544 545 545 [[image:image-20220527094330-30.png]] 546 546 547 -Connection 530 +**Connection** 548 548 549 549 550 550 * Configure Documen: [[Circuit Breaker Remote Open Close>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Circuit_Breaker_Remote_Open_Close/||_mstmutation="1"]] 551 551 552 - 553 553 == 1.5 Example 5: SEM Three Energy Meter with RS485-BL or RS485-LN == 554 554 555 555 ... ... @@ -556,10 +556,9 @@ 556 556 This instruction is provided by Xavier Florensa Berenguer from [[NORIA GRUPO DE COMPRAS>>url:http://www.gruponovelec.com/]]. It is to show how to use RS485-BL to connect to SEM Three Energy Meter and send the data to mobile phone for remote minitor. The structure is like below: 557 557 558 558 * Configure Document For RS485-BL: [[Connect to SEM Three>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Application_Note/&file=Dragino%20RS485BL%20and%20pickdata%20SEM%20Three%20v1.pdf||_mstmutation="1" style="background-color: rgb(255, 255, 255);"]] 541 + 559 559 * Configure Document for RS485-LN: [[Connect to SEM Three>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/SEM_Three_Energy_Meter/&file=SEM%20three%20and%20Dragino%20RS485-LN%20v1.pdf||_mstmutation="1"]] 560 560 561 - 562 - 563 563 == 1.6 Example 6: CEM C31 485-T1-MID Energy Meter with RS485-LN == 564 564 565 565 ... ... @@ -567,14 +567,24 @@ 567 567 568 568 * Configure Document For RS485-LN: [[CEM C31 485-T1-MID>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/ELECTRICAL%20CABINET/&file=ELECTRICAL%20CABINET%20READINGS.pdf||_mstmutation="1" style="background-color: rgb(255, 255, 255);"]] 569 569 570 - 571 - 572 572 == 1.7 Example 7: Schneider Electric PLC M221 with RS485-BL == 573 573 574 574 575 575 [[image:image-20220527094556-31.png]] 576 576 556 + 577 577 Network Structure 578 578 579 - 580 580 * [[Reference Instruction>>url:https://www.dragino.com/downloads/index.php?dir=RS485-LN/Application_Note/Schneider%20Electric%20PLC/]] 560 + 561 +== 1.8 Example 8: This sketch is supposed to test Dragino RS485-BL (Modbus master), using an Arduino UNO as a Modbus slave. == 562 + 563 +This sketch uses 4 registers: some of them can be set by Dragino with a command, another is used to store value from a DS18B20 temperature sensor, or a random generated number. All data is 16bit uint, but the sketch shows also how to represent booleans and negative numbers. 564 + 565 +In the next days I will be adding more documentation, but I think it already explains users how to build their own modbus sensor to pair with Dragino RS485-BL. 566 + 567 +This is released the code under GNU LGPL licence on Github: 568 + 569 +[[https:~~/~~/github.com/zorbaproject/ArduinoModbusForDraginoRS485>>url:https://github.com/zorbaproject/ArduinoModbusForDraginoRS485]] 570 + 571 +