Wiki source code of 1 Communication

Version 67.1 by Ben on 2022/08/24 12:00

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