Wiki source code of 1 Communication

Version 50.1 by Ben on 2022/08/24 11:33

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