Wiki source code of 1 Communication

Version 72.1 by Ben on 2022/08/24 14:31

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