Wiki source code of 1 Communication

Version 28.1 by Ben on 2022/08/20 16:50

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