Wiki source code of 1 Communication

Version 38.1 by Ben on 2022/08/24 11:20

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 == **V-BOX 和维控 LX3V 串行通信** ==
51
52 Supported series: WECON LX2V/ LX2E/ LX3V/LX3VP/LX3VE/LX3VM
53
54 **HMI Settings**
55
56 |**Item**|**Settings**|**Note**
57 |Protocol|WECON LX2V/ LX2E/ LX3V/LX3VP/LX3VE/LX3VM|
58 |Connection|RS422/RS485|
59 |Baud rate|9600|
60 |Data bit|7|
61 |Parity|EVEN|
62 |Stop bit|1|
63 |PLC station No.|1|
64
65 **Address List**
66
67 |**Type**|**Device registers**|**HMI registers**|**Format**|**Range**|**Note**
68 |(% rowspan="6" %)Bit|X|X|Xo|0~~303237|
69 |Y|Y|Y o|0~~303237|
70 |M|M|M d|0~~99999|
71 |T|T|T d|0~~99999|
72 |C|C|C d|0~~99999|
73 |S|S|S d|0~~99999|
74 |(% rowspan="8" %)Word|X|X|Xo|0~~303237|
75 |Y|Y|Y o|0~~303237|
76 |M|M|M d|0~~99999|
77 |T|T|T d|0~~99999|
78 |C|C|C d|0~~199|
79 |D|D|D d|0~~7999|
80 |S|S|S d|0~~99999|
81 |SD|SD|SD d|8000~~9999|
82
83 **Cable Wiring**
84
85 * **RS485**
86
87 [[image:image-20220822172124-1.png]]
88
89 * **RS422**
90
91 [[image:image-20220822172228-2.png]]
92
93
94 **✎Note:**
95
96 * HMI COM3 is available in PI8000 series and COM3 is in COM2(hardware PIN 7 and PIN 8) .
97 * 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.
98
99 [[https:~~/~~/drive.google.com/drive/folders/13rgso7oUlatZQN_SNEcJCcN4toEdDPoP?usp=sharing>>url:https://drive.google.com/drive/folders/13rgso7oUlatZQN_SNEcJCcN4toEdDPoP?usp=sharing]]
100
101
102 == **V-BOX and Wecon LX5V serial communication** ==
103
104 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.
105
106 **Software configuration of PLC**
107
108 **1)PLC programming software**
109
110 [[image:image-20220822172553-1.png]]
111
112 **2)New PLC project**
113
114 Click New Project and select the PLC model.
115
116 [[image:image-20220822172623-2.png]]
117
118 **3)Set Serial port parameters**
119
120 Follow the steps below to configure Serial port parameters
121
122 Baud rate:115200
123
124 Data bit:8
125
126 Stop bit:1
127
128 Parity:No verification
129
130 [[image:image-20220822172657-3.png]]
131
132 **4)Registers list**
133
134 [[image:image-20220822172730-4.png]]
135
136 **V-BOX software configuration**
137
138 **1)V-BOX programming software**
139
140 [[image:image-20220824104124-1.png]]
141
142 **2)V-NET add device**
143
144 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.
145
146 [[image:image-20220824104909-2.png]]
147
148
149 **3)Set communication port parameters**
150
151 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.
152
153 Baud rate:115200
154
155 Data bit:8
156
157 Stop bit:1
158
159 Parity:No verification
160
161 [[image:image-20220811104012-1.png]]
162
163
164 **hardware connection**
165
166 **1)Hardware wiring diagram**
167
168 This example introduces WeconHMI with LX5V PLC to establish communication through serial port. The connection diagram is as follows:
169
170
171
172 [[image:image-20220811103005-4.png]]
173
174 [[image:image-20220811103227-7.png]]
175
176 The above are all the steps for establishing serial port communication between Wecon HMI with LX5V PLC.
177
178 == **V-BOX and Wecon LX5V-N Ethernet communication** ==
179
180 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.
181
182 **Software configuration of PLC**
183
184 **1)PLC programming software**
185
186 [[image:image-20220810164710-1.png]]
187
188 **2)New PLC project**
189
190 Click New Project and select the PLC model.
191
192 [[image:image-20220811115454-1.png]]
193
194 **3)Set Ethernet port parameters**
195
196 Follow the steps below to configure Ethernet parameters
197
198 PLC IP address:192.168.39.200
199
200 default gateway:192.168.39.1
201
202 subnet mask:255.255.255.0
203
204 [[image:image-20220811140530-2.png]]
205
206 **4)Registers list**
207
208 [[image:image-20220811102219-3.png]]
209
210 **HMI software configuration**
211
212 **1)HMI programming software**
213
214 [[image:image-20220810171237-4.png]]
215
216 **2)New HMI project**
217
218 Click New Project and select the HMI model.
219
220 [[image:image-20220810172010-5.png]]
221
222 **3)Set communication port parameters**
223
224 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.
225
226 HMI IP address:192.168.39.201
227
228 default gateway:192.168.39.1
229
230 subnet mask:255.255.255.0
231
232 [[image:image-20220811170753-2.png]]
233
234 Next, click Communication Settings to configure the IP of the HMI communication object.
235
236 [[image:image-20220811163047-1.png]]
237
238 **hardware connection**
239
240 **1)Hardware wiring diagram**
241
242 This example introduces WeconHMI with LX5V-N PLC to establish communication through ethernet. The connection diagram is as follows:
243
244 [[image:image-20220811170248-1.png]]
245
246 The above are all the steps for establishing ethernet communication between Wecon HMI with LX5V PLC.
247
248 (% style="text-align:center" %)
249 [[image:1624348978863-771.png||queryString="width=812&height=494" height="487" width="800" class="img-thumbnail"]]
250
251 = **Rockwell PLC** =
252
253
254 == (% id="cke_bm_5621S" style="display:none" %)** **(%%)**MicroLogix** ==
255
256 MicroLogix 1000/1100/1200/1400/1500; SLC 5/03 5/04 5/05 PLC-5
257
258 **HMI Settings**
259
260 |**Item**|**Settings**|**Note**
261 |Protocol|Allen-Bradlley MicroLogix|
262 |Connection|RS232|
263 |Baud rate|19200|
264 |Data bit|8|
265 |Parity|None|
266 |Stop bit|1|
267 |PLC station No.|1|
268
269 **Address List**
270
271 |**Type**|**Device registers**|**Format**|**Range**|**Note**
272 |(% rowspan="5" %)Bit|I|I d.d|0.0~~255.15|
273 |O|O d.d|0.0~~255.15|
274 |B|B nnhh.dd|0.0~~ffff.15|nn: block number (hex)
275 |S|S d.d|0.0~~255.15|
276 |N|N nnhh.dd|0.0~~ffff.15|nn: block number (hex)
277 |(% rowspan="9" %)Word|S|S d|0~~255|
278 |TS|TS nnhh|0~~ffff|(% rowspan="8" %)nn: block number (hex)
279 |TP|TP nnhh|0~~ffff
280 |CS|CS nnhh|0~~ffff
281 |CP|CP nnhh|0~~ffff
282 |N|N nnhh|0~~ffff
283 |C|C nnhh|0~~ffff
284 |T|T nnhh|0~~ffff
285 |R|R nnhh|0~~ffff
286
287 **Cable Wiring**
288
289 [[image:image-20220824110724-1.png]]
290
291
292
293 == **CompactLogix** ==
294
295 (((
296 (((
297 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.
298 )))
299
300
301 )))
302
303 (((
304 (% class="wikigeneratedid" id="HSoftwareconfigurationofPLC" %)
305 (((
306 **Software configuration of PLC**
307 )))
308
309 (% class="wikigeneratedid" id="HPLCprogrammingsoftware" %)
310 (((
311 **1)PLC programming software**
312 )))
313
314 [[image:image-20220714162600-1.png]]
315
316 (% class="wikigeneratedid" id="HNewPLCproject" %)
317 (((
318 **2)New PLC project**
319 )))
320
321 (((
322 (((
323 Click New Project and select the PLC model.
324 )))
325 )))
326
327 (((
328 [[image:image-20220714162617-2.png]]
329 )))
330
331 (((
332
333
334 [[image:image-20220714162652-4.png]]
335 )))
336
337 (((
338 (% class="wikigeneratedid" id="HSetEthernetparameters" %)
339 (((
340 **3)Set Ethernet parameters**
341 )))
342
343 (((
344 (((
345 (((
346 Follow the steps below to configure Ethernet parameters
347 )))
348 )))
349 )))
350
351 (((
352 (((
353 (((
354 PLC IP address:192.168.40.101
355 )))
356 )))
357 )))
358
359 (((
360 (((
361 (((
362 default gateway:192.168.40.1
363 )))
364 )))
365 )))
366
367 (((
368 (((
369 (((
370 subnet mask:255.255.255.0
371 )))
372 )))
373 )))
374
375 (((
376 [[image:image-20220714162713-5.png]]
377 )))
378
379 (((
380
381 )))
382
383 (((
384 (% class="wikigeneratedid" id="HV-boxsoftwareconfiguration" %)
385 (((
386 **V-box software configuration**
387 )))
388
389 (% class="wikigeneratedid" id="HV-boxprogrammingsoftware" %)
390 (((
391 **1)V-box programming software**
392 )))
393
394 (% class="wikigeneratedid" %)
395 (((
396 [[image:image-20220714162725-6.png]]
397 )))
398
399 (% class="wikigeneratedid" id="HConfiguredevicenetwork" %)
400 (((
401 **2)Configure device network**
402 )))
403
404 (((
405 (((
406 (((
407 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.
408 )))
409
410 (((
411 In the example below, the IP address of V-Box is configured as 192.168.40.66, and the networking method is 4G connection
412 )))
413 )))
414 )))
415
416 (((
417 (((
418 [[image:image-20220714162737-7.png]]
419
420
421 )))
422 )))
423 )))
424 )))
425
426 (% class="wikigeneratedid" id="HV-netadddevice" %)
427 (((
428 **3)V-net add device**
429 )))
430 )))
431
432 (((
433 (((
434 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]]
435 )))
436
437
438 )))
439
440 (((
441 (% class="wikigeneratedid" id="HSetcommunicationportparameters" %)
442 (((
443 **4)Set communication port parameters**
444 )))
445
446 (((
447 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.
448 )))
449
450 [[image:image-20220714162805-9.png]]
451 )))
452
453 (((
454 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.
455 )))
456
457 [[image:image-20220714162814-10.png]]
458
459
460 (((
461 After adding the protocol Allen-BradleyMicro850_FreeTag, click[[image:image-20220714143838-2.png]]icon add label.[[image:image-20220714162827-11.png]]
462 )))
463
464 (% class="wikigeneratedid" id="HEngineeringproduction" %)
465 (((
466 **5)Engineering production**
467 )))
468
469 (% class="wikigeneratedid" %)
470 (((
471 (((
472 According to your own needs, use the V-NET client software to edit the required data monitoring points.
473 )))
474
475 [[image:image-20220714162841-12.png]]
476
477
478 (((
479 **hardware connection**
480 )))
481 )))
482
483 (((
484 **1)Hardware wiring diagram**
485 )))
486
487 (((
488 (((
489 This example introduces Wecon V-box with Allen-Bradley L1769 PLC to establish communication through Ethernet. The connection diagram is as follows:
490 )))
491
492 [[image:image-20220714162856-13.png]]
493
494 (((
495 The above are all the steps for establishing Ethernet communication between Wecon V-box with Allen-Bradley L1769 PLC.
496
497 == ==
498
499 == **Allen-Bradley Ethernet DF1** ==
500
501 [[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]]
502
503
504 = **Siemens PLC** =
505 )))
506 )))
507
508 == **Siemens S7-1200** ==
509
510 [[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]]
511
512 == **Communication with S7-200 Smart** ==
513
514 [[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]]
515
516 = **Delta PLC** =
517
518 == **Delta DVP Ethernet** ==
519
520 [[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]]
521
522 == **Delta DVP Serial Protocol** ==
523
524 [[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]]
525
526 == **Communicate with Mitsubishi FX Series** ==
527
528 [[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]]
529
530 == **Communicate with VB inverter** ==
531
532 [[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]]
533
534 == **Omron CP1 Series** ==
535
536 [[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]]
537
538 == **Omron CJ2M** ==
539
540 [[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]]
541
542 = **2 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 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-