Wiki source code of 1 Communication

Version 46.1 by Ben on 2022/08/24 11:28

Hide last authors
Ben 25.1 1 = **Modbus RTU** =
Leo Wei 1.1 2
Stone Wu 10.1 3 === **V-BOX as master** ===
Leo Wei 1.1 4
5 Select the protocol “(% class="mark" %)Modbus RTU Slave(All Fuction)”,
6
7 (% class="mark" %)then set BaudRate,Port,Stop Bit,Data Bit,Parity
8
9 (% style="text-align:center" %)
Jim 6.1 10 [[image:1624342015914-382.png||height="486" width="800" class="img-thumbnail"]]
Leo Wei 1.1 11
Stone Wu 10.1 12 === **V-BOX as slave** ===
Leo Wei 1.1 13
14 Select the protocol “(% class="mark" %)**Modbus RTU Master”**,
15
16 (% class="mark" %)then set BaudRate,Port,Stop Bit,Data Bit,Parity
17
18 (% style="text-align:center" %)
Jim 6.1 19 [[image:1624348709622-711.png||queryString="width=809&height=493" height="488" width="800" class="img-thumbnail"]]
Leo Wei 1.1 20
21 **Address List**
22
23 (% class="table-bordered" %)
24 |**Type**|**Register**|**Function code & Description**
25 |(% rowspan="11" %)Word|(% rowspan="3" %)3|04 (read input register: read current binary value in one or more input registers)
26 |06 (write single register: write a binary value to a holding register)
27 |10 (write values to multiple addresses )
28 |(% rowspan="3" %)4|03 (read holding register: read current binary value in one or more holding registers)
29 |06 (write single register: write a binary value to a holding register)
30 |10 (write values to multiple addresses )
31 |(% rowspan="3" %)W6|03 (read holding register: read current binary value in one or more holding registers)
32 |06 (write single register: write a binary value to a holding register)
33 |10 (write values to multiple addresses )
34 |(% rowspan="2" %)W16|03 (read holding register: read current binary value in one or more holding registers)
35 |10 (write values to multiple addresses )
36 |(% rowspan="11" %)Bit|(% rowspan="3" %)0|01 (Read coil state)
37 |05 (Force a single coil to force the on/off state of a logic coil)
38 |0F (Write multiple bits, ie write continuously)
39 |(% rowspan="3" %)1|02 (Read the input state)
40 |05 (Force a single coil to force the on/off state of a logic coil)
41 |0F (Write multiple bits)
42 |(% rowspan="3" %)W5|01 (Read coil state to obtain the current state of a set of logic coils)
43 |05 (Force a single coil to force the on/off state of a logic coil)
44 |0F (Write multiple bits)
45 |(% rowspan="2" %)W15|01 (Read coil state to obtain the current state of a set of logic coils)
46 |0F (Write multiple bits)
47
Ben 24.1 48 = **WECON PLC** =
Leo Wei 1.1 49
Ben 44.1 50 == **LX3V 串行通信** ==
Ben 31.1 51
Ben 20.1 52 Supported series: WECON LX2V/ LX2E/ LX3V/LX3VP/LX3VE/LX3VM
Leo Wei 1.1 53
Ben 20.1 54 **HMI Settings**
Leo Wei 1.1 55
Ben 20.1 56 |**Item**|**Settings**|**Note**
57 |Protocol|WECON LX2V/ LX2E/ LX3V/LX3VP/LX3VE/LX3VM|
58 |Connection|RS422/RS485|
59 |Baud rate|9600|
60 |Data bit|7|
61 |Parity|EVEN|
62 |Stop bit|1|
63 |PLC station No.|1|
Leo Wei 1.1 64
Ben 20.1 65 **Address List**
66
67 |**Type**|**Device registers**|**HMI registers**|**Format**|**Range**|**Note**
68 |(% rowspan="6" %)Bit|X|X|Xo|0~~303237|
69 |Y|Y|Y o|0~~303237|
70 |M|M|M d|0~~99999|
71 |T|T|T d|0~~99999|
72 |C|C|C d|0~~99999|
73 |S|S|S d|0~~99999|
74 |(% rowspan="8" %)Word|X|X|Xo|0~~303237|
75 |Y|Y|Y o|0~~303237|
76 |M|M|M d|0~~99999|
77 |T|T|T d|0~~99999|
78 |C|C|C d|0~~199|
79 |D|D|D d|0~~7999|
80 |S|S|S d|0~~99999|
81 |SD|SD|SD d|8000~~9999|
82
83 **Cable Wiring**
84
85 * **RS485**
86
Ben 31.1 87 [[image:image-20220822172124-1.png]]
Ben 20.1 88
89 * **RS422**
90
Ben 31.1 91 [[image:image-20220822172228-2.png]]
Ben 20.1 92
Ben 30.1 93
Ben 20.1 94 **✎Note:**
95
96 * HMI COM3 is available in PI8000 series and COM3 is in COM2(hardware PIN 7 and PIN 8) .
97 * If PLC <= 20 points,such as LX3V-1208/LX3V-0806 PLC,PLC RS485A and RS485B mean PLC COM2 RS485+ and RS485- .PLC COM2 can support modbus. Please refer to PLC COM2 setting manual.
98
99 [[https:~~/~~/drive.google.com/drive/folders/13rgso7oUlatZQN_SNEcJCcN4toEdDPoP?usp=sharing>>url:https://drive.google.com/drive/folders/13rgso7oUlatZQN_SNEcJCcN4toEdDPoP?usp=sharing]]
100
Ben 43.1 101 == **LX5V serial communication** ==
Ben 28.1 102
Ben 34.1 103 This example introduces the establishment of serial port communication between Wecon V-BOX and LX5V. It is introduced through three parts: PLC software configuration, HMI software configuration, and hardware wiring.
Ben 20.1 104
105 **Software configuration of PLC**
106
107 **1)PLC programming software**
108
Ben 33.1 109 [[image:image-20220822172553-1.png]]
Ben 20.1 110
111 **2)New PLC project**
112
113 Click New Project and select the PLC model.
114
Ben 33.1 115 [[image:image-20220822172623-2.png]]
Ben 20.1 116
117 **3)Set Serial port parameters**
118
119 Follow the steps below to configure Serial port parameters
120
121 Baud rate:115200
122
123 Data bit:8
124
125 Stop bit:1
126
127 Parity:No verification
128
Ben 33.1 129 [[image:image-20220822172657-3.png]]
Ben 20.1 130
131 **4)Registers list**
132
Ben 33.1 133 [[image:image-20220822172730-4.png]]
Ben 20.1 134
Ben 33.1 135 **V-BOX software configuration**
Ben 28.1 136
Ben 35.1 137 **1)V-BOX programming software**
Ben 20.1 138
Ben 35.1 139 [[image:image-20220824104124-1.png]]
Ben 20.1 140
Ben 35.1 141 **2)V-NET add device**
Ben 20.1 142
Ben 35.1 143 Open V-NET client software → add device. As shown in the figure below, click "+" in the order of steps, and the Add Device window will pop up, enter the access key, password and remark, to add the device.
Ben 20.1 144
Ben 35.1 145 [[image:image-20220824104909-2.png]]
Ben 20.1 146
Ben 28.1 147
Ben 20.1 148 **3)Set communication port parameters**
149
150 Click the communication configuration button on the left to find the communication protocol with LX5V. After selecting the protocol, configure the communication parameters of the COM port.
151
152 Baud rate:115200
153
154 Data bit:8
155
156 Stop bit:1
157
158 Parity:No verification
159
160 [[image:image-20220811104012-1.png]]
161
Ben 28.1 162
Ben 20.1 163 **hardware connection**
164
165 **1)Hardware wiring diagram**
166
167 This example introduces WeconHMI with LX5V PLC to establish communication through serial port. The connection diagram is as follows:
168
Ben 28.1 169
170
Ben 20.1 171 [[image:image-20220811103005-4.png]]
172
173 [[image:image-20220811103227-7.png]]
174
175 The above are all the steps for establishing serial port communication between Wecon HMI with LX5V PLC.
176
Ben 45.1 177 == **LX5V-N Ethernet communication** ==
Ben 20.1 178
179 This example introduces the establishment of Ethernet communication between Wecon HMI and LX5V. It is introduced through three parts: PLC software configuration, HMI software configuration, and hardware wiring.
180
181 **Software configuration of PLC**
182
183 **1)PLC programming software**
184
185 [[image:image-20220810164710-1.png]]
186
187 **2)New PLC project**
188
189 Click New Project and select the PLC model.
190
191 [[image:image-20220811115454-1.png]]
192
193 **3)Set Ethernet port parameters**
194
195 Follow the steps below to configure Ethernet parameters
196
197 PLC IP address:192.168.39.200
198
199 default gateway:192.168.39.1
200
201 subnet mask:255.255.255.0
202
203 [[image:image-20220811140530-2.png]]
204
205 **4)Registers list**
206
207 [[image:image-20220811102219-3.png]]
208
209 **HMI software configuration**
210
211 **1)HMI programming software**
212
213 [[image:image-20220810171237-4.png]]
214
215 **2)New HMI project**
216
217 Click New Project and select the HMI model.
218
219 [[image:image-20220810172010-5.png]]
220
221 **3)Set communication port parameters**
222
223 Click the project setting button on the left to configure the IP address of the HMI machine to ensure that the HMI and PLC IP remain in a local area network.
224
225 HMI IP address:192.168.39.201
226
227 default gateway:192.168.39.1
228
229 subnet mask:255.255.255.0
230
231 [[image:image-20220811170753-2.png]]
232
233 Next, click Communication Settings to configure the IP of the HMI communication object.
234
235 [[image:image-20220811163047-1.png]]
236
237 **hardware connection**
238
239 **1)Hardware wiring diagram**
240
241 This example introduces WeconHMI with LX5V-N PLC to establish communication through ethernet. The connection diagram is as follows:
242
243 [[image:image-20220811170248-1.png]]
244
245 The above are all the steps for establishing ethernet communication between Wecon HMI with LX5V PLC.
246
247 (% style="text-align:center" %)
Jim 6.1 248 [[image:1624348978863-771.png||queryString="width=812&height=494" height="487" width="800" class="img-thumbnail"]]
Leo Wei 1.1 249
Ben 23.1 250 = **Rockwell PLC** =
Ben 22.1 251
Ben 37.1 252 == (% id="cke_bm_5621S" style="display:none" %)** **(%%)**MicroLogix** ==
253
254 MicroLogix 1000/1100/1200/1400/1500; SLC 5/03 5/04 5/05 PLC-5
255
256 **HMI Settings**
257
258 |**Item**|**Settings**|**Note**
259 |Protocol|Allen-Bradlley MicroLogix|
260 |Connection|RS232|
261 |Baud rate|19200|
262 |Data bit|8|
263 |Parity|None|
264 |Stop bit|1|
265 |PLC station No.|1|
266
267 **Address List**
268
269 |**Type**|**Device registers**|**Format**|**Range**|**Note**
270 |(% rowspan="5" %)Bit|I|I d.d|0.0~~255.15|
271 |O|O d.d|0.0~~255.15|
272 |B|B nnhh.dd|0.0~~ffff.15|nn: block number (hex)
273 |S|S d.d|0.0~~255.15|
274 |N|N nnhh.dd|0.0~~ffff.15|nn: block number (hex)
275 |(% rowspan="9" %)Word|S|S d|0~~255|
276 |TS|TS nnhh|0~~ffff|(% rowspan="8" %)nn: block number (hex)
277 |TP|TP nnhh|0~~ffff
278 |CS|CS nnhh|0~~ffff
279 |CP|CP nnhh|0~~ffff
280 |N|N nnhh|0~~ffff
281 |C|C nnhh|0~~ffff
282 |T|T nnhh|0~~ffff
283 |R|R nnhh|0~~ffff
284
285 **Cable Wiring**
286
287 [[image:image-20220824110724-1.png]]
288
289
290
291 == **CompactLogix** ==
292
Ben 11.1 293 (((
Ben 16.1 294 (((
Ben 38.1 295 This example introduces the establishment of Ethernet communication between Wecon V-box and CompactLogix L1769. It is introduced through three parts: PLC software configuration, V-box software configuration, and hardware wiring.
Ben 16.1 296 )))
Ben 11.1 297 )))
298
299 (((
Ben 15.1 300 (% class="wikigeneratedid" id="HSoftwareconfigurationofPLC" %)
301 (((
302 **Software configuration of PLC**
Ben 11.1 303 )))
304
Ben 15.1 305 (% class="wikigeneratedid" id="HPLCprogrammingsoftware" %)
Ben 11.1 306 (((
Ben 15.1 307 **1)PLC programming software**
308 )))
Ben 11.1 309
Ben 17.1 310 [[image:image-20220714162600-1.png]]
Ben 11.1 311
Ben 15.1 312 (% class="wikigeneratedid" id="HNewPLCproject" %)
Ben 11.1 313 (((
Ben 15.1 314 **2)New PLC project**
Ben 11.1 315 )))
316
317 (((
Ben 16.1 318 (((
Ben 15.1 319 Click New Project and select the PLC model.
Ben 11.1 320 )))
Ben 16.1 321 )))
Ben 11.1 322
323 (((
Ben 17.1 324 [[image:image-20220714162617-2.png]]
Ben 11.1 325 )))
326
327 (((
Ben 17.1 328
Ben 16.1 329
Ben 17.1 330 [[image:image-20220714162652-4.png]]
Ben 11.1 331 )))
332
333 (((
Ben 15.1 334 (% class="wikigeneratedid" id="HSetEthernetparameters" %)
335 (((
336 **3)Set Ethernet parameters**
337 )))
Ben 11.1 338
339 (((
Ben 15.1 340 (((
Ben 16.1 341 (((
Ben 11.1 342 Follow the steps below to configure Ethernet parameters
343 )))
Ben 15.1 344 )))
Ben 16.1 345 )))
Ben 11.1 346
347 (((
Ben 15.1 348 (((
Ben 16.1 349 (((
Ben 11.1 350 PLC IP address:192.168.40.101
351 )))
Ben 15.1 352 )))
Ben 16.1 353 )))
Ben 11.1 354
355 (((
Ben 15.1 356 (((
Ben 16.1 357 (((
Ben 11.1 358 default gateway:192.168.40.1
359 )))
Ben 15.1 360 )))
Ben 16.1 361 )))
Ben 11.1 362
363 (((
Ben 15.1 364 (((
Ben 16.1 365 (((
Ben 11.1 366 subnet mask:255.255.255.0
367 )))
Ben 15.1 368 )))
Ben 16.1 369 )))
Ben 11.1 370
371 (((
Ben 17.1 372 [[image:image-20220714162713-5.png]]
Ben 11.1 373 )))
374
375 (((
376
377 )))
378
379 (((
Ben 15.1 380 (% class="wikigeneratedid" id="HV-boxsoftwareconfiguration" %)
381 (((
382 **V-box software configuration**
383 )))
Ben 11.1 384
Ben 15.1 385 (% class="wikigeneratedid" id="HV-boxprogrammingsoftware" %)
386 (((
387 **1)V-box programming software**
388 )))
Ben 11.1 389
Ben 15.1 390 (% class="wikigeneratedid" %)
391 (((
Ben 17.1 392 [[image:image-20220714162725-6.png]]
Ben 15.1 393 )))
Ben 11.1 394
Ben 15.1 395 (% class="wikigeneratedid" id="HConfiguredevicenetwork" %)
396 (((
397 **2)Configure device network**
398 )))
Ben 11.1 399
400 (((
Ben 15.1 401 (((
Ben 16.1 402 (((
Ben 11.1 403 Click the Configuration Download button[[image:image-20220714115308-8.png||height="22" width="15"]], It is used to configure the device network, update the device time, obtain the device machine code, check the device network, etc.
404 )))
Ben 16.1 405
406 (((
407 In the example below, the IP address of V-Box is configured as 192.168.40.66, and the networking method is 4G connection
Ben 15.1 408 )))
Ben 16.1 409 )))
410 )))
Ben 11.1 411
412 (((
Ben 15.1 413 (((
Ben 17.1 414 [[image:image-20220714162737-7.png]]
Ben 16.1 415
416
Ben 11.1 417 )))
418 )))
419 )))
420 )))
421
Ben 15.1 422 (% class="wikigeneratedid" id="HV-netadddevice" %)
Ben 11.1 423 (((
Ben 15.1 424 **3)V-net add device**
Ben 11.1 425 )))
Ben 15.1 426 )))
Ben 11.1 427
428 (((
Ben 16.1 429 (((
Ben 21.1 430 Open VNET client software → add device. As shown in the figure below, click "+" in the order of steps, and the Add Device window will pop up, enter the device machine code/product code, device password, and device alias to add the device.   [[image:image-20220714162752-8.png]]
Ben 11.1 431 )))
432
433
434 )))
435
436 (((
Ben 15.1 437 (% class="wikigeneratedid" id="HSetcommunicationportparameters" %)
438 (((
439 **4)Set communication port parameters**
440 )))
Ben 11.1 441
Ben 16.1 442 (((
443 In the device list on the left, find the Vbox that communicates with the L1769, click it and select configuration,communication port configuration in the main interface to add a communication protocol.
Ben 11.1 444 )))
445
Ben 17.1 446 [[image:image-20220714162805-9.png]]
Ben 16.1 447 )))
448
449 (((
Ben 11.1 450 The communication port is selected as Ethernet, the device type is selected as Allen-Bradley, the protocol is Allen-BradleyMicro850_FreeTag EthemetIP, and the IP is the internal IP address of the L1769 PLC. The port number is 44818.
Ben 16.1 451 )))
Ben 11.1 452
Ben 17.1 453 [[image:image-20220714162814-10.png]]
Ben 11.1 454
455
Ben 16.1 456 (((
Ben 22.1 457 After adding the protocol Allen-BradleyMicro850_FreeTag, click[[image:image-20220714143838-2.png]]icon add label.[[image:image-20220714162827-11.png]]
Ben 16.1 458 )))
Ben 14.1 459
Ben 16.1 460 (% class="wikigeneratedid" id="HEngineeringproduction" %)
461 (((
462 **5)Engineering production**
463 )))
Ben 14.1 464
Ben 16.1 465 (% class="wikigeneratedid" %)
466 (((
467 (((
468 According to your own needs, use the V-NET client software to edit the required data monitoring points.
469 )))
Ben 14.1 470
Ben 17.1 471 [[image:image-20220714162841-12.png]]
Ben 14.1 472
Ben 16.1 473
474 (((
475 **hardware connection**
476 )))
477 )))
478
479 (((
480 **1)Hardware wiring diagram**
481 )))
482
483 (((
484 (((
485 This example introduces Wecon V-box with Allen-Bradley L1769 PLC to establish communication through Ethernet. The connection diagram is as follows:
486 )))
487
Ben 17.1 488 [[image:image-20220714162856-13.png]]
Ben 16.1 489
490 (((
Ben 41.1 491 The above are all the steps for establishing Ethernet communication between Wecon V-box with CompactLogix L1769 PLC.
Ben 26.1 492
493
494 == **Allen-Bradley Ethernet DF1** ==
495
496 [[download link>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Allen-Bradley%20Ethernet%20DF1.zip]]
497
498
499 = **Siemens PLC** =
Ben 16.1 500 )))
501 )))
502
Stone Wu 10.1 503 == **Siemens S7-1200** ==
Leo Wei 1.1 504
505 [[download link>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Communicate%20with%20S7-1200%20via%20Ehernet.zip]]
506
Stone Wu 10.1 507 == **Communication with S7-200 Smart** ==
Leo Wei 1.1 508
509 [[download link>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Communication%20with%20S7-200%20Smart.zip]]
510
Ben 26.1 511 = **Delta PLC** =
512
Stone Wu 10.1 513 == **Delta DVP Ethernet** ==
Leo Wei 1.1 514
515 [[download link>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Delta%20DVP%20Ethernet.zip]]
516
Stone Wu 10.1 517 == **Delta DVP Serial Protocol** ==
Leo Wei 1.1 518
519 [[download link>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Delta%20DVP%20Ethernet.zip]]
520
Stone Wu 10.1 521 == **Communicate with Mitsubishi FX Series** ==
Jim 6.1 522
523 [[download link>>url:https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Communicate%20with%20Mitsubishi%20FX%20Series.zip]]
524
Stone Wu 10.1 525 == **Communicate with VB inverter** ==
Jim 6.1 526
527 [[download link>>url:https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Communicate%20with%20VB%20inverter.zip]]
528
Stone Wu 10.1 529 == **Omron CP1 Series** ==
Jim 7.1 530
Jim 8.1 531 [[download link>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Communication%20with%20ORMON%20CP1%20Series.zip]]
Jim 7.1 532
Stone Wu 10.1 533 == **Omron CJ2M** ==
Jim 7.1 534
Jim 8.1 535 [[download link>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/%E9%80%9A%E8%AE%AF%E6%A1%88%E4%BE%8B/Communication%20with%20ORMON%20CJ2M.zip]]
Jim 7.1 536
Leo Wei 1.1 537 = **2 User define protocol** =
538
Stone Wu 19.1 539 More serial port script instruction,please refer manual:[[Lua script function>>doc:V-BOX.V-Net.Manual.04 Lua Script.01 Lua Functions.WebHome]]~-~-->[[3.Serial port operation>>url:http://docs.we-con.com.cn/wiki/vbox/view/HMI/04.Lua%20script%20%20function%20and%20operation/01.Lua%20script%20function/#H3.Serialportoperation]]
Leo Wei 1.1 540
Stone Wu 10.1 541 == **Read the temperature sensor.** ==
Leo Wei 1.1 542
543 the commond format is as beliow:
544
545 Send commond:01 03 02 00 00 03 04 73
546
547 Feedback commond:01 03 06 07 F7 0E 7E B7 35
548
549 Temperature data:07 F7,desimal = 2039,it means temperature is 20.39℃.
550
551 Humidity data:0E 7E,desimal = 3710, it mean humidity is 37.10%RH.
552
553 Script Demo:
554
555 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--
556
557 function com.main()
558 ~-~-dosomething
559 openPlc()
560 end
561 function openPlc()
562 if obj then
563 ~-~- If the serial port opened,then read/write data by timing
564
565 local wri = string.pack(">HHHH",0X0103,0X0200,0X0003,0X0473)
566 local arr = reading(wri)
567 ~-~- if arr ~~=nil then
568 ~-~- if arr[1] ==33 and arr[2] ==v[2][2] and arr[3] ==v[2][3] then
569 ~-~- local A = arr[4]*256
570 ~-~- local B = A+arr[5]
571 ~-~- addr_setword(v[1],B)
572 ~-~- end
573 ~-~- end
574
575 else
576 ~-~-judge if there is a serial object, then initialize and open the serial port
577 local configs = {
578 name = 'COM1', ~-~-Select serial port COM1
579 mode = 485, ~-~-Communication mode RS485
580 baud_rate = 9600, ~-~-Baud rate 9600
581 stop_bit = 1, ~-~-stop bit 1
582 data_len = 8, ~-~-data length 8
583 check_bit = 'NONE', ~-~-no parity
584
585 }
586 obj,err = serial.open(configs) ~-~-Open serial port
587 if not obj then
588 print("serial open :failed", err) ~-~- Open serial port failed
589 end
590 end
591 end
592
593 function reading(wri)
594 obj:flush() ~-~- Clear serial port
595 obj:write(wri) ~-~- Write serial port
596 print(string.byte(wri,1,#wri))
597 obj:flush() ~-~- Clear serial port 
598 local readed =obj:read(9,1000) ~-~- Read 9 bytes, timeout 1 second
599 if readed and readed ~~= "" then 
600 ~-~- judge that a non-empty string is read
601 print(string.byte(readed,1,#readed))
602 a={string.byte(readed, 1, #readed)}
603 if nil ~~= a[4] and nil ~~= a[5] and nil ~~= a[6] and nil ~~= a[7] then
604 a1=a[4]*256+a[5]
605 a2=a[6]*256+a[7]
606 addr_setword("@HDW0",a1)
607 addr_setword("@HDW1",a2)
608 end
609 return {string.byte(readed, 1, #readed)}
610 elseif readed == nil then
611 print("serial read err:", err or "")
612 return nil
613 end
614 return nil
615 end
616
617 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-