Wiki source code of 1 Communication

Version 71.1 by Ben on 2022/08/24 14:27

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