Wiki source code of 1 Communication

Version 53.1 by Ben on 2022/08/24 11:35

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