Wiki source code of 07 Communication

Version 10.1 by Jim on 2023/07/12 11:51

Hide last authors
Stone Wu 6.1 1 = **1 PLC COM2 Modbus RTU** =
Leo Wei 1.1 2
Stone Wu 5.1 3 == **Protocol Setting (D8126)** ==
Leo Wei 1.1 4
Leo Wei 2.1 5 |=(% scope="row" %)**Protocol**|=**Description**|=**Value of D8126**
6 |=WECON PLC Protocol|Using WECON PLC Protocol|01H
7 |=MODBUS RTU Master|PLC is slave device|02H
8 |=MODBUS ASCII Master|PLC is slave device|03H
9 |=MODBUS RTU Slave|PLC is master device|20H
10 |=MODBUS ASCII Slave|PLC is master device|30H
Leo Wei 1.1 11
Stone Wu 5.1 12 == **Communication format (D8120)** ==
Leo Wei 1.1 13
14 (% border="1" %)
15 |(% rowspan="2" %)**Item**|(% rowspan="2" %)**parameter**|(% colspan="8" %)**Bit value of D8120**
16 |**b7**|**b6**|**b5**|**b4**|**b3**|**b2**|**b1**|**b0**
17 |(% rowspan="6" %)(((
18
19
20
21 Baud rate
22
23 (Bps)
24 )))|115200|1|1|0|0|-|-|-|-
25 |57600|1|0|1|1|-|-|-|-
26 |38400|1|0|1|0|-|-|-|-
27 |19200|1|0|0|1|-|-|-|-
28 |9600|1|0|0|0|-|-|-|-
29 |4800|0|1|1|1|-|-|-|-
30 |(% rowspan="2" %)Stop bit|1 bit|-|-|-|-|0|-|-|-
31 |2 bit|-|-|-|-|1|-|-|-
32 |(% rowspan="3" %)(((
33
34
35 Parity
36 )))|None|-|-|-|-|-|0|0|-
37 |Odd|-|-|-|-|-|0|1|-
38 |Even|-|-|-|-|-|1|1|-
39 |(% rowspan="2" %)Data bit|7 bit|-|-|-|-|-|-|-|0
40 |8 bit|-|-|-|-|-|-|-|1
Stone Wu 4.1 41 |(% colspan="10" %)Example: the communication format is 9600.1.8.None, b7b6b5b4=1000, b3=0, b2b1=00, b 0=1. D8120=81H ( (10000001),,2,,=81H, 81H means hexadecimal number)
Leo Wei 1.1 42
Stone Wu 5.1 43 (% class="box infomessage" %)
44 (((
Leo Wei 1.1 45 **✎Note:** If use Data bit=7.Parity can not choose None.
Stone Wu 5.1 46 )))
Leo Wei 1.1 47
Stone Wu 5.1 48 == **WECON PLC - MODBUS (Slave) addresses rules** ==
Leo Wei 1.1 49
50 (% border="1" %)
51 |(% colspan="3" %)** PLC Bit Address**
52 |(% rowspan="2" %)PLC Address|(% colspan="2" %)MODBUS Address
53 |Hex|Decimal
54 |M0 ~~ M3071|0 ~~ 0xBFF|0 ~~ 3071
55 |M8000 ~~ M8256|0x1F40 ~~ 0x2040|8000 ~~ 8256
56 |S0 ~~ S999|0xE000 ~~ 0xE3E7|57344 ~~ 58343
57 |T0 ~~ T256|0xF000 ~~ 0xF100|61440 ~~ 61696
58 |C0 ~~ C255|0xF400 ~~ 0xF4FF|62464 ~~ 62719
Jim 9.1 59 |X0 ~~ X377|0xF800 ~~ 0xF8FF|63488 ~~ 63743
Jim 10.1 60 |Y0 ~~ Y377|0xFC00 ~~ 0xFCFF|64512 ~~ 64767
Stone Wu 6.1 61 |(% colspan="3" %)** PLC Word Address**
Leo Wei 1.1 62 |(% rowspan="2" %)PLC Address|(% colspan="2" %)MODBUS Address
63 |Hex|Decimal
64 |D0 ~~ D8255|0 ~~ 0x203F|0 ~~ 8255
65 |T0 ~~ T255|0xF000 ~~ 0xF0FF|61440 ~~ 61695
66 |C0 ~~ C199|0xF400 ~~ 0xF4C7|62464 ~~ 62663
67 |C200 ~~ C255|0xF700 ~~ 0xF7FF|63232 ~~ 63487
68
Stone Wu 8.1 69 == **MODBUS function code introduction** ==
Leo Wei 1.1 70
Stone Wu 5.1 71 **Function code 0x01(01): read coil (bit address)**
Leo Wei 1.1 72
73 Frame format: Station number of slave&0x01 + start address + number of coils + CRC
74
75 (% border="1" %)
76 |No.|(% style="width:352px" %)Data|(% style="width:252px" %)Number of byte|Instruction
77 |1|(% style="width:352px" %)Station number of slave|(% style="width:252px" %)1 byte|Value range 1~~247, set by D8121
78 |2|(% style="width:352px" %)0x01(function code)|(% style="width:252px" %)1 byte|Read coil
79 |3|(% style="width:352px" %)Start address|(% style="width:252px" %)2 bytes|
80 |4|(% style="width:352px" %)Number of coils|(% style="width:252px" %)2 bytes|
81 |5|(% style="width:352px" %)CRC|(% style="width:252px" %)2 bytes|
82
Stone Wu 5.1 83 **Function code 0x03(03): read register (word address)**
Leo Wei 1.1 84
85 Frame format: Station number of slave&0x03 + start address+ number of registers + CRC
86
87 (% border="1" %)
88 |No.|Data|Number of byte|Instruction
89 |1|Station number of slave|1 byte|Value range 1~~247, set by D8121
90 |2|0x03 (function code)|1 byte|Read register
91 |3|Start address|2 bytes|
92 |4|Number of registers|2 bytes|
93 |5|CRC|2 bytes|
94
Stone Wu 5.1 95 **Function code 0x05(05): write single coil**
Leo Wei 1.1 96
97 Frame format: Station number of slave&0x05 + address + state of coil + CRC
98
99 (% border="1" %)
100 |No.|Data|Number of byte|Instruction
101 |1|Station number of slave|1 byte|Value range 1~~247, set by D8121
102 |2|0x05 (function code)|1 byte|Write single coil
103 |3|address|2 bytes|
104 |4|State of coil|2 bytes|
105 |5|CRC|2 bytes|
106
Stone Wu 5.1 107 **Function code 0x06 (06): Write single register**
Leo Wei 1.1 108
109 Frame format: Station number of slave&0x06 + address + value + CRC
110
111 (% border="1" %)
112 |No.|Data|Number of byte|Instruction
113 |1|Station number of slave|1 byte|Value range 1~~247, set by D8121
114 |2|0x06 (function code)|1 byte|Write single register
115 |3|address|2 bytes|
116 |4|Value of register|2 bytes|
117 |5|CRC|2 bytes|
118
Stone Wu 5.1 119 **Function code 0x0f(15): Write continuous coils**
Leo Wei 1.1 120
121 Frame format: Station number of slave&0x0f + start address + number of coils + length + state of coil + CRC
122
123 (% border="1" %)
124 |No.|Data|Number of byte|Instruction
125 |1|Station number of slave|1 byte|Value range 1~~247, set by D8121
126 |2|0x0f (function code)|1 byte|Write contunuous coils
127 |3|Start address|2 bytes|
128 |4|Number of coil|2 bytes|
129 |5|Length|1 bytes|
130 |6|State of coils|[(N+7)/8] bytes|
131 |7|CRC|2 bytes|
132
Stone Wu 5.1 133 **Function code 0x10 (10): Write continuous registers**
Leo Wei 1.1 134
135 Frame format: Station number of slave&0x10 + start address + number of registers + length + value of register + CRC
136
137 (% border="1" %)
138 |No.|Data|Number of byte|Instruction
139 |1|Station number of slave|1 byte|Value range 1~~247, set by D8121
140 |2|0x10 (function code)|1 byte|Write contunuous registers
141 |3|Start address|2 bytes|
142 |4|Number of registers|2 bytes|
143 |5|Length|1 bytes|
144 |6|Value of register|N*2 bytes|
145 |7|CRC|2 bytes|
146
Stone Wu 5.1 147 == **Example** ==
Leo Wei 1.1 148
Stone Wu 5.1 149 **Read bit address from device**
Leo Wei 1.1 150
Stone Wu 5.1 151 (When reading the bit address, the return value of 256 means that the coil is turned ON, and the return value of 0 means that the coil is turned OFF.)
Leo Wei 1.1 152
153 (% style="text-align:center" %)
Stone Wu 5.1 154 [[image:1641781999957-637.png||height="390" width="750" class="img-thumbnail"]]
Leo Wei 1.1 155
Stone Wu 5.1 156 **Read word address from device**
Leo Wei 1.1 157
158 (% style="text-align:center" %)
Stone Wu 5.1 159 [[image:1641782024282-424.png||height="439" width="750" class="img-thumbnail"]]
Leo Wei 1.1 160
Stone Wu 5.1 161 **Write single coil**
Leo Wei 1.1 162
163 (% style="text-align:center" %)
Stone Wu 5.1 164 [[image:1641782057319-761.png||height="440" width="750" class="img-thumbnail"]]
Leo Wei 1.1 165
Stone Wu 5.1 166 Tip: (When writing a single coil or a continuous coil, write HFF00 to turn the coil on, and write H0000 to turn off the coil.)
Leo Wei 1.1 167
Stone Wu 5.1 168 **Write single register**
Leo Wei 1.1 169
170 (% style="text-align:center" %)
Stone Wu 5.1 171 [[image:1641782078927-432.png||height="442" width="750" class="img-thumbnail"]]
Leo Wei 1.1 172
Stone Wu 5.1 173 **Write continuous coils**
Leo Wei 1.1 174
175 (% style="text-align:center" %)
Stone Wu 5.1 176 [[image:1641782101687-540.png||height="452" width="750" class="img-thumbnail"]]
Leo Wei 1.1 177
Stone Wu 5.1 178 **Write continuous registers**
Leo Wei 1.1 179
180 (% style="text-align:center" %)
Stone Wu 5.1 181 [[image:1641782118748-978.png||height="448" width="750" class="img-thumbnail"]]
Leo Wei 1.1 182
Stone Wu 5.1 183 **PLC is slave devic**
Leo Wei 1.1 184
185 [[image:1641782203514-616.png||height="230" width="746"]]
186
187
Stone Wu 6.1 188 **WECON PLC Protocol (COM2)**
Leo Wei 1.1 189
190 [[image:1641782240401-942.png||height="161" width="754"]]
191
Stone Wu 6.1 192 = (% style="color:inherit; font-family:inherit" %)**2 N:N network**(%%) =
Leo Wei 1.1 193
194 **LX3VP COM2 N:N Application**
195
Stone Wu 5.1 196 == **LX3VP COM2 N:N Connection** ==
Leo Wei 1.1 197
198 PLC built-in N:N connection protocol provides a effective way to exchange data among multiple PLC (Max. 8 devices). Technically, it only requires the twisted pair RS485 cable to connect with each PLC COM2 (in parallel).
199
200 (% style="text-align:center" %)
Stone Wu 5.1 201 [[image:9.Communication example_html_8c43baa1ae891689.jpg||height="142" width="500" class="img-thumbnail"]]
Leo Wei 1.1 202
Stone Wu 6.1 203 == **COM2 N:N Instructions  ** ==
Leo Wei 1.1 204
205 User should put data to specified register unit. Exchanging the data among PLCs, This function only requires putting data in preset register block, all the data in this register block would share with other PLCs. There are five modes for choice, according to data volume and communication speed. See the preset register block from table below.
206
207 (% border="1" %)
208 |(% colspan="2" rowspan="3" %)**Station Number**|(% colspan="2" %)**Mode 0**|(% colspan="2" %)**Mode 1**|(% colspan="2" %)**Mode 2**
209 |**Bit (M)**|**Word(D)**|**Bit (M)**|**Word(D)**|**Bit (M)**|**Word(D)**
210 |**0**|**4**|**32**|**4**|**64**|**8**
211 |Master|NO. 0|~-~-|0-3|1000-1031|0-3|1000-1063|0-7
212 |(% rowspan="7" %)Slave|NO. 1|~-~-|32-35|1064-1095|32-35|1064-1127|32-39
213 |NO. 2|~-~-|64-67|1128-1159|64-67|1128-1191|64-71
214 |NO. 3|~-~-|96-99|1192-1223|96-99|1192-1255|96-103
215 |NO. 4|~-~-|128-131|1256-1287|128-131|1256-1319|128-135
216 |NO. 5|~-~-|160-163|1320-1351|160-163|1320-1383|160-167
217 |NO. 6|~-~-|192-195|1384-1415|192-195|1384-1447|192-199
218 |NO. 7|~-~-|224-227|1448-1479|224-227|1448-1511|224-231
219 |(% colspan="2" rowspan="3" %)**Station Number**|(% colspan="2" %)**Mode 3**|(% colspan="2" %)**Mode 4**| |
220 |**Bit (M)**|**Word(D)**|**Bit (M)**|**Word(D)**| |
221 |**64**|**16**|**64**|**32**| |
222 |Master|NO. 0|1000-1063|0-15|1000-1063|0-31| |
223 |(% rowspan="7" %)Slave|NO. 1|1064-1127|32-47|1064-1127|32-63| |
224 |NO. 2|1128-1191|64-79|1128-1191|64-95| |
225 |NO. 3|1192-1255|96-111|1192-1255|96-127| |
226 |NO. 4|1256-1319|128-143|1256-1319|128-159| |
227 |NO. 5|1320-1383|160-175|1320-1383|160-191| |
228 |NO. 6|1384-1447|192-207|1384-1447|192-223| |
229 |NO. 7|1448-1511|224-239|1448-1511|224-255| |
230
231 Communication between each PLC (up to 8 PLC), please see the connection construction below (For 3 PLC interconnection).
232
233 (% style="text-align:center" %)
Stone Wu 5.1 234 [[image:9.Communication example_html_b805bca9e1166337.jpg||height="93" width="600" class="img-thumbnail"]]
Leo Wei 1.1 235
Stone Wu 6.1 236 == **Special devices in N: N network** ==
Leo Wei 1.1 237
238 (% border="1" %)
Stone Wu 5.1 239 |=**Register**|=**Description**
Leo Wei 1.1 240 |D8120|Communication format settings
241 |D8126|COM2 communication protocol settings, 40h means N:N Master Device, 04h means N:N Slave device
242 |D8176|Station number, from 0 to 7, 0 means master device
243 |D8177|Total station number, from 1 to 7, only required for master device.
244 |D8178|Register block setting, from 0 to 5, only required for master device.
245 |D8179|Retry count settings, only required for master device.
246 |D8180|Timeout setting, unit: 10ms,only required for master device.
247 |D8201|Current connection scould time
248 |D8202|Maximum connection scould time
249 |D8203|Master error counter
250 |D8204~~D8210|Slave error counter
251 |D8211|Master N:N error code
252 |D8212~~D8218|Slave N:N error code
253 |M8183|Master data transfer sequence error
254 |M8183~~M8190|(((
255 Communication error flag:
256
257 M8183 - No.0 (Master);
258
259 M8184 - No. 1 (Slave 1)
260
261 ......
262 )))
263 |M8191|Processing sending data
264
Stone Wu 6.1 265 == **Communications format:** ==
Leo Wei 1.1 266
267 (% border="1" %)
Stone Wu 5.1 268 |=**Item**|=(% style="width: 115px;" %)**Parameters**|=(% style="width: 239px;" %)**b15(RS2)**|=**b14-b8**|=**b7**|=**b6**|=**b5**|=**b4**|=**b3**|=**b2**|=**b1**|=**b0**
Leo Wei 1.1 269 |(% rowspan="2" %)**Bit mode**|(% style="width:115px" %)8 bit|(% style="width:239px" %)0|(% rowspan="15" %)Retention|-|-|-|-|-|-|-|-
270 |(% style="width:115px" %)16-bit|(% style="width:239px" %)1|-|-|-|-|-|-|-|-
271 |(% rowspan="6" %)**Baud rate (Bps)**|(% style="width:115px" %)115200|(% style="width:239px" %)-|1|1|0|0|-|-|-|-
272 |(% style="width:115px" %)57600|(% style="width:239px" %)-|1|0|1|1|-|-|-|-
273 |(% style="width:115px" %)38400|(% style="width:239px" %)-|1|0|1|0|-|-|-|-
274 |(% style="width:115px" %)19200|(% style="width:239px" %)-|1|0|0|1|-|-|-|-
275 |(% style="width:115px" %)9600|(% style="width:239px" %)-|1|0|0|0|-|-|-|-
276 |(% style="width:115px" %)4800|(% style="width:239px" %)-|0|1|1|1|-|-|-|-
277 |(% rowspan="2" %)**Stop bit**|(% style="width:115px" %)1 bit|(% style="width:239px" %)-|-|-|-|-|0|-|-|-
278 |(% style="width:115px" %)2 bit|(% style="width:239px" %)-|-|-|-|-|1|-|-|-
279 |(% rowspan="3" %)**Parity**|(% style="width:115px" %)None|(% style="width:239px" %)-|-|-|-|-|-|0|0|-
280 |(% style="width:115px" %)Odd|(% style="width:239px" %)-|-|-|-|-|-|0|1|-
281 |(% style="width:115px" %)Even|(% style="width:239px" %)-|-|-|-|-|-|1|1|-
282 |(% rowspan="2" %)**Data bit**|(% style="width:115px" %)7 bit|(% style="width:239px" %)-|-|-|-|-|-|-|-|0
283 |(% style="width:115px" %)8 bit|(% style="width:239px" %)-|-|-|-|-|-|-|-|1
284
Stone Wu 6.1 285 == **Program example** ==
Leo Wei 1.1 286
287 LX3VP COM2 port communication parameters: 9600, 1, 8, NONE. Register block mode: 3
288
289 **PLC as master**
290
291 (% style="text-align:center" %)
Stone Wu 5.1 292 [[image:9.Communication example_html_a3fdef81ab69639.jpg||height="448" width="750" class="img-thumbnail"]]
Leo Wei 1.1 293
Stone Wu 5.1 294 **PLC as slave**
Leo Wei 1.1 295
296 (% style="text-align:center" %)
Stone Wu 5.1 297 [[image:9.Communication example_html_cc8af72b56d9c539.jpg||height="236" width="750" class="img-thumbnail"]]
Leo Wei 1.1 298
Stone Wu 5.1 299 (% class="box infomessage" %)
300 (((
301 ✎**Note:**
Leo Wei 1.1 302
303 * There are two modes of N:N protocol configuration. one is LX3VP built-in N:N protocol, the other one is LX3V N:N protocol (LX3V-2RS485-BD required).
304 * In LX3VP series PLC, only one kind of N:N configuration available. Second mode would be disabled when LX3VP built-in N:N protocol configured.
Stone Wu 5.1 305 )))
Leo Wei 1.1 306
Stone Wu 6.1 307 = (% style="color:inherit; font-family:inherit" %)**3 RS485-BD and ETH-BD communiaction**(%%) =
Leo Wei 1.1 308
309 Please kindly check the link as below.
310
Stone Wu 3.1 311 (% class="box infomessage" %)
Leo Wei 1.1 312 (((
Stone Wu 3.1 313 ✎**Note:** at present 5V PLC can not support RS485-BD and ETH-BD
Leo Wei 1.1 314 )))
315
316 [[http:~~/~~/docs.we-con.com.cn/wiki/bdmodule/view/Main/Communication/2RS485-BD-3V/>>http://docs.we-con.com.cn/wiki/bdmodule/view/Main/Communication/2RS485-BD-3V/]]
317
318 [[http:~~/~~/docs.we-con.com.cn/wiki/bdmodule/view/Main/Communication/LX3VP-ETH-BD/>>http://docs.we-con.com.cn/wiki/bdmodule/view/Main/Communication/LX3VP-ETH-BD/]]