Wiki source code of 1 Communication

Version 77.1 by Ben on 2022/08/24 15:15

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