Wiki source code of 1 Communication

Version 39.1 by Ben on 2022/08/24 11:23

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 (% class="wikigeneratedid" id="HSoftwareconfigurationofPLC" %)
303 (((
304 **Software configuration of PLC**
305 )))
306
307 (% class="wikigeneratedid" id="HPLCprogrammingsoftware" %)
308 (((
309 **1)PLC programming software**
310 )))
311
312 [[image:image-20220714162600-1.png]]
313
314 (% class="wikigeneratedid" id="HNewPLCproject" %)
315 (((
316 **2)New PLC project**
317 )))
318
319 (((
320 (((
321 Click New Project and select the PLC model.
322 )))
323 )))
324
325 (((
326 [[image:image-20220714162617-2.png]]
327 )))
328
329 (((
330
331
332 [[image:image-20220714162652-4.png]]
333 )))
334
335 (((
336 (% class="wikigeneratedid" id="HSetEthernetparameters" %)
337 (((
338 **3)Set Ethernet parameters**
339 )))
340
341 (((
342 (((
343 (((
344 Follow the steps below to configure Ethernet parameters
345 )))
346 )))
347 )))
348
349 (((
350 (((
351 (((
352 PLC IP address:192.168.40.101
353 )))
354 )))
355 )))
356
357 (((
358 (((
359 (((
360 default gateway:192.168.40.1
361 )))
362 )))
363 )))
364
365 (((
366 (((
367 (((
368 subnet mask:255.255.255.0
369 )))
370 )))
371 )))
372
373 (((
374 [[image:image-20220714162713-5.png]]
375 )))
376
377 (((
378
379 )))
380
381 (((
382 (% class="wikigeneratedid" id="HV-boxsoftwareconfiguration" %)
383 (((
384 **V-box software configuration**
385 )))
386
387 (% class="wikigeneratedid" id="HV-boxprogrammingsoftware" %)
388 (((
389 **1)V-box programming software**
390 )))
391
392 (% class="wikigeneratedid" %)
393 (((
394 [[image:image-20220714162725-6.png]]
395 )))
396
397 (% class="wikigeneratedid" id="HConfiguredevicenetwork" %)
398 (((
399 **2)Configure device network**
400 )))
401
402 (((
403 (((
404 (((
405 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.
406 )))
407
408 (((
409 In the example below, the IP address of V-Box is configured as 192.168.40.66, and the networking method is 4G connection
410 )))
411 )))
412 )))
413
414 (((
415 (((
416 [[image:image-20220714162737-7.png]]
417
418
419 )))
420 )))
421 )))
422 )))
423
424 (% class="wikigeneratedid" id="HV-netadddevice" %)
425 (((
426 **3)V-net add device**
427 )))
428 )))
429
430 (((
431 (((
432 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]]
433 )))
434
435
436 )))
437
438 (((
439 (% class="wikigeneratedid" id="HSetcommunicationportparameters" %)
440 (((
441 **4)Set communication port parameters**
442 )))
443
444 (((
445 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.
446 )))
447
448 [[image:image-20220714162805-9.png]]
449 )))
450
451 (((
452 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.
453 )))
454
455 [[image:image-20220714162814-10.png]]
456
457
458 (((
459 After adding the protocol Allen-BradleyMicro850_FreeTag, click[[image:image-20220714143838-2.png]]icon add label.[[image:image-20220714162827-11.png]]
460 )))
461
462 (% class="wikigeneratedid" id="HEngineeringproduction" %)
463 (((
464 **5)Engineering production**
465 )))
466
467 (% class="wikigeneratedid" %)
468 (((
469 (((
470 According to your own needs, use the V-NET client software to edit the required data monitoring points.
471 )))
472
473 [[image:image-20220714162841-12.png]]
474
475
476 (((
477 **hardware connection**
478 )))
479 )))
480
481 (((
482 **1)Hardware wiring diagram**
483 )))
484
485 (((
486 (((
487 This example introduces Wecon V-box with Allen-Bradley L1769 PLC to establish communication through Ethernet. The connection diagram is as follows:
488 )))
489
490 [[image:image-20220714162856-13.png]]
491
492 (((
493 The above are all the steps for establishing Ethernet communication between Wecon V-box with Allen-Bradley L1769 PLC.
494
495 == ==
496
497
498 == **Allen-Bradley Ethernet DF1** ==
499
500 [[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]]
501
502
503 = **Siemens PLC** =
504 )))
505 )))
506
507 == **Siemens S7-1200** ==
508
509 [[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]]
510
511 == **Communication with S7-200 Smart** ==
512
513 [[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]]
514
515 = **Delta PLC** =
516
517 == **Delta DVP Ethernet** ==
518
519 [[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]]
520
521 == **Delta DVP Serial Protocol** ==
522
523 [[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]]
524
525 == **Communicate with Mitsubishi FX Series** ==
526
527 [[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]]
528
529 == **Communicate with VB inverter** ==
530
531 [[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]]
532
533 == **Omron CP1 Series** ==
534
535 [[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]]
536
537 == **Omron CJ2M** ==
538
539 [[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]]
540
541 = **2 User define protocol** =
542
543 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]]
544
545 == **Read the temperature sensor.** ==
546
547 the commond format is as beliow:
548
549 Send commond:01 03 02 00 00 03 04 73
550
551 Feedback commond:01 03 06 07 F7 0E 7E B7 35
552
553 Temperature data:07 F7,desimal = 2039,it means temperature is 20.39℃.
554
555 Humidity data:0E 7E,desimal = 3710, it mean humidity is 37.10%RH.
556
557 Script Demo:
558
559 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--
560
561 function com.main()
562 ~-~-dosomething
563 openPlc()
564 end
565 function openPlc()
566 if obj then
567 ~-~- If the serial port opened,then read/write data by timing
568
569 local wri = string.pack(">HHHH",0X0103,0X0200,0X0003,0X0473)
570 local arr = reading(wri)
571 ~-~- if arr ~~=nil then
572 ~-~- if arr[1] ==33 and arr[2] ==v[2][2] and arr[3] ==v[2][3] then
573 ~-~- local A = arr[4]*256
574 ~-~- local B = A+arr[5]
575 ~-~- addr_setword(v[1],B)
576 ~-~- end
577 ~-~- end
578
579 else
580 ~-~-judge if there is a serial object, then initialize and open the serial port
581 local configs = {
582 name = 'COM1', ~-~-Select serial port COM1
583 mode = 485, ~-~-Communication mode RS485
584 baud_rate = 9600, ~-~-Baud rate 9600
585 stop_bit = 1, ~-~-stop bit 1
586 data_len = 8, ~-~-data length 8
587 check_bit = 'NONE', ~-~-no parity
588
589 }
590 obj,err = serial.open(configs) ~-~-Open serial port
591 if not obj then
592 print("serial open :failed", err) ~-~- Open serial port failed
593 end
594 end
595 end
596
597 function reading(wri)
598 obj:flush() ~-~- Clear serial port
599 obj:write(wri) ~-~- Write serial port
600 print(string.byte(wri,1,#wri))
601 obj:flush() ~-~- Clear serial port 
602 local readed =obj:read(9,1000) ~-~- Read 9 bytes, timeout 1 second
603 if readed and readed ~~= "" then 
604 ~-~- judge that a non-empty string is read
605 print(string.byte(readed,1,#readed))
606 a={string.byte(readed, 1, #readed)}
607 if nil ~~= a[4] and nil ~~= a[5] and nil ~~= a[6] and nil ~~= a[7] then
608 a1=a[4]*256+a[5]
609 a2=a[6]*256+a[7]
610 addr_setword("@HDW0",a1)
611 addr_setword("@HDW1",a2)
612 end
613 return {string.byte(readed, 1, #readed)}
614 elseif readed == nil then
615 print("serial read err:", err or "")
616 return nil
617 end
618 return nil
619 end
620
621 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-