Wiki source code of 1 Communication

Version 59.1 by Ben on 2022/08/24 11:40

Show last authors
1 = (% style="color:inherit; font-family:inherit" %)**WECON PLC**(%%) =
2
3 == **Communication with LX3V serial** ==
4
5 Supported series: WECON LX2V/ LX2E/ LX3V/LX3VP/LX3VE/LX3VM
6
7 **HMI Settings**
8
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|
17
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
40 [[image:image-20220822172124-1.png]]
41
42 * **RS422**
43
44 [[image:image-20220822172228-2.png]]
45
46
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
54 == **Communication with LX5V serial** ==
55
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.
57
58 **Software configuration of PLC**
59
60 **1)PLC programming software**
61
62 [[image:image-20220822172553-1.png]]
63
64 **2)New PLC project**
65
66 Click New Project and select the PLC model.
67
68 [[image:image-20220822172623-2.png]]
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
82 [[image:image-20220822172657-3.png]]
83
84 **4)Registers list**
85
86 [[image:image-20220822172730-4.png]]
87
88 **V-BOX software configuration**
89
90 **1)V-BOX programming software**
91
92 [[image:image-20220824104124-1.png]]
93
94 **2)V-NET add device**
95
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.
97
98 [[image:image-20220824104909-2.png]]
99
100
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
115
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
122
123
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
130 == **Communication with LX5V-N Ethernet** ==
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" %)
201 [[image:1624348978863-771.png||queryString="width=812&height=494" height="487" width="800" class="img-thumbnail"]]
202
203 = **Rockwell PLC** =
204
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
246 (((
247 (((
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.
249 )))
250 )))
251
252 (((
253 (% class="wikigeneratedid" id="HSoftwareconfigurationofPLC" %)
254 (((
255 **Software configuration of PLC**
256 )))
257
258 (% class="wikigeneratedid" id="HPLCprogrammingsoftware" %)
259 (((
260 **1)PLC programming software**
261 )))
262
263 [[image:image-20220714162600-1.png]]
264
265 (% class="wikigeneratedid" id="HNewPLCproject" %)
266 (((
267 **2)New PLC project**
268 )))
269
270 (((
271 (((
272 Click New Project and select the PLC model.
273 )))
274 )))
275
276 (((
277 [[image:image-20220714162617-2.png]]
278 )))
279
280 (((
281
282
283 [[image:image-20220714162652-4.png]]
284 )))
285
286 (((
287 (% class="wikigeneratedid" id="HSetEthernetparameters" %)
288 (((
289 **3)Set Ethernet parameters**
290 )))
291
292 (((
293 (((
294 (((
295 Follow the steps below to configure Ethernet parameters
296 )))
297 )))
298 )))
299
300 (((
301 (((
302 (((
303 PLC IP address:192.168.40.101
304 )))
305 )))
306 )))
307
308 (((
309 (((
310 (((
311 default gateway:192.168.40.1
312 )))
313 )))
314 )))
315
316 (((
317 (((
318 (((
319 subnet mask:255.255.255.0
320 )))
321 )))
322 )))
323
324 (((
325 [[image:image-20220714162713-5.png]]
326 )))
327
328 (((
329
330 )))
331
332 (((
333 (% class="wikigeneratedid" id="HV-boxsoftwareconfiguration" %)
334 (((
335 **V-box software configuration**
336 )))
337
338 (% class="wikigeneratedid" id="HV-boxprogrammingsoftware" %)
339 (((
340 **1)V-box programming software**
341 )))
342
343 (% class="wikigeneratedid" %)
344 (((
345 [[image:image-20220714162725-6.png]]
346 )))
347
348 (% class="wikigeneratedid" id="HConfiguredevicenetwork" %)
349 (((
350 **2)Configure device network**
351 )))
352
353 (((
354 (((
355 (((
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 )))
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
361 )))
362 )))
363 )))
364
365 (((
366 (((
367 [[image:image-20220714162737-7.png]]
368
369
370 )))
371 )))
372 )))
373 )))
374
375 (% class="wikigeneratedid" id="HV-netadddevice" %)
376 (((
377 **3)V-net add device**
378 )))
379 )))
380
381 (((
382 (((
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]]
384 )))
385
386
387 )))
388
389 (((
390 (% class="wikigeneratedid" id="HSetcommunicationportparameters" %)
391 (((
392 **4)Set communication port parameters**
393 )))
394
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.
397 )))
398
399 [[image:image-20220714162805-9.png]]
400 )))
401
402 (((
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.
404 )))
405
406 [[image:image-20220714162814-10.png]]
407
408
409 (((
410 After adding the protocol Allen-BradleyMicro850_FreeTag, click[[image:image-20220714143838-2.png]]icon add label.[[image:image-20220714162827-11.png]]
411 )))
412
413 (% class="wikigeneratedid" id="HEngineeringproduction" %)
414 (((
415 **5)Engineering production**
416 )))
417
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 )))
423
424 [[image:image-20220714162841-12.png]]
425
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
441 [[image:image-20220714162856-13.png]]
442
443 (((
444 The above are all the steps for establishing Ethernet communication between Wecon V-box with CompactLogix L1769 PLC.
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** =
453 )))
454 )))
455
456 == **Siemens S7-1200** ==
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
460 == **Communication with S7-200 Smart** ==
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
464 = **Mitsubishi PLC** =
465
466 == **Communicate with Mitsubishi FX Series** ==
467
468 [[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]]
469
470 = **Delta PLC** =
471
472 == **Delta DVP Ethernet** ==
473
474 [[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]]
475
476 == **Delta DVP Serial Protocol** ==
477
478 [[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]]
479
480 = **Omron PLC** =
481
482 == **Omron CP1 Series** ==
483
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]]
485
486 == **Omron CJ2M** ==
487
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]]
489
490 = **Modbus RTU** =
491
492 == **V-BOX as master** ==
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
501 == **V-BOX as slave** ==
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
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
541 = **User define protocol** =
542
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]]
544
545 == **Read the temperature sensor.** ==
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 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-