Wiki source code of 1 Communication

Version 90.1 by Ben on 2022/08/24 16:14

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