Wiki source code of 1 Communication

Version 62.1 by Ben on 2022/08/24 11:52

Show last authors
1 = (% style="color:inherit; font-family:inherit" %)**WECON PLC**(%%) =
2
3 == **LX3V Serial Port** ==
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 == **LX5V Serial Port** ==
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 == **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 == **S7-200 Smart Ethernet** ==
456
457 [[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]]
458 )))
459 )))
460
461 == **Siemens S7-1200 Ethernet** ==
462
463 [[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]]
464
465 = **Mitsubishi PLC** =
466
467 == **Mitsubishi FX Series Port** ==
468
469 [[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]]
470
471 = **Delta PLC** =
472
473 == **DVP Ethernet** ==
474
475 [[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]]
476
477 == **Delta DVP Serial Protocol** ==
478
479 [[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]]
480
481 = **Omron PLC** =
482
483 == **CP1 Series Port** ==
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/Communication%20with%20ORMON%20CP1%20Series.zip]]
486
487 == **CJ2M Series Port** ==
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%20ORMON%20CJ2M.zip]]
490
491 = **Modbus RTU** =
492
493 == **V-BOX as master** ==
494
495 Select the protocol “(% class="mark" %)Modbus RTU Slave(All Fuction)”,
496
497 (% class="mark" %)then set BaudRate,Port,Stop Bit,Data Bit,Parity
498
499 (% style="text-align:center" %)
500 [[image:1624342015914-382.png||height="486" width="800" class="img-thumbnail"]]
501
502 == **V-BOX as slave** ==
503
504 Select the protocol “(% class="mark" %)**Modbus RTU Master”**,
505
506 (% class="mark" %)then set BaudRate,Port,Stop Bit,Data Bit,Parity
507
508 (% style="text-align:center" %)
509 [[image:1624348709622-711.png||queryString="width=809&height=493" height="488" width="800" class="img-thumbnail"]]
510
511 **Address List**
512
513 (% class="table-bordered" %)
514 |**Type**|**Register**|**Function code & Description**
515 |(% rowspan="11" %)Word|(% rowspan="3" %)3|04 (read input register: read current binary value in one or more input registers)
516 |06 (write single register: write a binary value to a holding register)
517 |10 (write values to multiple addresses )
518 |(% rowspan="3" %)4|03 (read holding register: read current binary value in one or more holding registers)
519 |06 (write single register: write a binary value to a holding register)
520 |10 (write values to multiple addresses )
521 |(% rowspan="3" %)W6|03 (read holding register: read current binary value in one or more holding registers)
522 |06 (write single register: write a binary value to a holding register)
523 |10 (write values to multiple addresses )
524 |(% rowspan="2" %)W16|03 (read holding register: read current binary value in one or more holding registers)
525 |10 (write values to multiple addresses )
526 |(% rowspan="11" %)Bit|(% rowspan="3" %)0|01 (Read coil state)
527 |05 (Force a single coil to force the on/off state of a logic coil)
528 |0F (Write multiple bits, ie write continuously)
529 |(% rowspan="3" %)1|02 (Read the input state)
530 |05 (Force a single coil to force the on/off state of a logic coil)
531 |0F (Write multiple bits)
532 |(% rowspan="3" %)W5|01 (Read coil state to obtain the current state of a set of logic coils)
533 |05 (Force a single coil to force the on/off state of a logic coil)
534 |0F (Write multiple bits)
535 |(% rowspan="2" %)W15|01 (Read coil state to obtain the current state of a set of logic coils)
536 |0F (Write multiple bits)
537
538 == **communicate with VB inverter** ==
539
540 [[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]]
541
542 = **User define protocol** =
543
544 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]]
545
546 == **Read the temperature sensor.** ==
547
548 the commond format is as beliow:
549
550 Send commond:01 03 02 00 00 03 04 73
551
552 Feedback commond:01 03 06 07 F7 0E 7E B7 35
553
554 Temperature data:07 F7,desimal = 2039,it means temperature is 20.39℃.
555
556 Humidity data:0E 7E,desimal = 3710, it mean humidity is 37.10%RH.
557
558 Script Demo:
559
560 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--
561
562 function com.main()
563 ~-~-dosomething
564 openPlc()
565 end
566 function openPlc()
567 if obj then
568 ~-~- If the serial port opened,then read/write data by timing
569
570 local wri = string.pack(">HHHH",0X0103,0X0200,0X0003,0X0473)
571 local arr = reading(wri)
572 ~-~- if arr ~~=nil then
573 ~-~- if arr[1] ==33 and arr[2] ==v[2][2] and arr[3] ==v[2][3] then
574 ~-~- local A = arr[4]*256
575 ~-~- local B = A+arr[5]
576 ~-~- addr_setword(v[1],B)
577 ~-~- end
578 ~-~- end
579
580 else
581 ~-~-judge if there is a serial object, then initialize and open the serial port
582 local configs = {
583 name = 'COM1', ~-~-Select serial port COM1
584 mode = 485, ~-~-Communication mode RS485
585 baud_rate = 9600, ~-~-Baud rate 9600
586 stop_bit = 1, ~-~-stop bit 1
587 data_len = 8, ~-~-data length 8
588 check_bit = 'NONE', ~-~-no parity
589
590 }
591 obj,err = serial.open(configs) ~-~-Open serial port
592 if not obj then
593 print("serial open :failed", err) ~-~- Open serial port failed
594 end
595 end
596 end
597
598 function reading(wri)
599 obj:flush() ~-~- Clear serial port
600 obj:write(wri) ~-~- Write serial port
601 print(string.byte(wri,1,#wri))
602 obj:flush() ~-~- Clear serial port 
603 local readed =obj:read(9,1000) ~-~- Read 9 bytes, timeout 1 second
604 if readed and readed ~~= "" then 
605 ~-~- judge that a non-empty string is read
606 print(string.byte(readed,1,#readed))
607 a={string.byte(readed, 1, #readed)}
608 if nil ~~= a[4] and nil ~~= a[5] and nil ~~= a[6] and nil ~~= a[7] then
609 a1=a[4]*256+a[5]
610 a2=a[6]*256+a[7]
611 addr_setword("@HDW0",a1)
612 addr_setword("@HDW1",a2)
613 end
614 return {string.byte(readed, 1, #readed)}
615 elseif readed == nil then
616 print("serial read err:", err or "")
617 return nil
618 end
619 return nil
620 end
621
622 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-