Wiki source code of 1 Communication

Version 33.1 by Ben on 2022/08/22 17:28

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