Wiki source code of 06 Communication Network Configuration
Last modified by Wecon on 2025/09/03 21:04
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = **EtherCAT Operation** = | ||
| 2 | |||
| 3 | |||
| 4 | (% style="text-align:center" %) | ||
| 5 | ((( | ||
| 6 | (% style="display:inline-block" %) | ||
| 7 | [[Figure 6-1 EtherCAT Operation Configuration Flow>>image:1687763900631-428.png]] | ||
| 8 | ))) | ||
| 9 | |||
| 10 | |||
| 11 | |||
| 12 | |||
| 13 | = **EtherCAT Communication Fundamentals** = | ||
| 14 | |||
| 15 | == EtherCAT Communication Specifications == | ||
| 16 | |||
| 17 | |=**Hierarchy**|=**Content**|=**Specification** | ||
| 18 | |(% rowspan="3" %)Application layer|PDO|Variable PDO mapping | ||
| 19 | |SDO|SDO request, SDO reply | ||
| 20 | |CIA 402|((( | ||
| 21 | Cyclic Synchronous Position Mode(CSP) | ||
| 22 | |||
| 23 | Origin return mode (HM) | ||
| 24 | ))) | ||
| 25 | |(% rowspan="2" %)Physical layer|Transport protocol|100BASE-TX (IEEE802.3) | ||
| 26 | |Communication interface|RJ45 Port * 2 (IN, OUT) | ||
| 27 | |||
| 28 | == Communication Structure == | ||
| 29 | |||
| 30 | Wecon VD3E series bus servo drives adopt IEC 61800-7 (CiA402)-CANOpen motion control sub-protocol. | ||
| 31 | |||
| 32 | |||
| 33 | (% style="text-align:center" %) | ||
| 34 | ((( | ||
| 35 | (% style="display:inline-block" %) | ||
| 36 | [[Figure 6-2 Communication structure>>image:1687763990838-324.png]] | ||
| 37 | ))) | ||
| 38 | |||
| 39 | |||
| 40 | PDO (Process Data Object) is composed of Object Dictionary (Object Dictionary) which can be mapped in PDO, and the content of process data is defined according to PDO mapping. | ||
| 41 | |||
| 42 | Email is a kind of aperiodic communication and can read and write all object dictionaries. | ||
| 43 | |||
| 44 | |||
| 45 | == State Machine == | ||
| 46 | |||
| 47 | EtherCAT devices support four states and are responsible for coordinating the state relationship between master and slave applications at initialization and running: | ||
| 48 | |||
| 49 | Init: Initialization, abbreviated as I; | ||
| 50 | |||
| 51 | Pre-Operational: Pre-Operational, abbreviated as P; | ||
| 52 | |||
| 53 | Safe-Operational: Safe operation, abbreviated as S; | ||
| 54 | |||
| 55 | Operational: Operational, abbreviated as O. | ||
| 56 | |||
| 57 | |||
| 58 | (% style="text-align:center" %) | ||
| 59 | ((( | ||
| 60 | (% style="display:inline-block" %) | ||
| 61 | [[Figure 6-3 Communication structure>>image:企业微信截图_16877640707184.png]] | ||
| 62 | ))) | ||
| 63 | |||
| 64 | |||
| 65 | When changing from initialization state to operational state, it must be changed in the order of "initialization → pre-Operational → safe Operational → Operational"! | ||
| 66 | |||
| 67 | Leapfrog transition when returning from operational state. Refer to the following table for state transition operation and initialization process: | ||
| 68 | |||
| 69 | |=**Status**|=**Operate** | ||
| 70 | |Initialization|There is no communication in the application layer, and the master station can only read and write ESC registers | ||
| 71 | |Initialization → pre-operational|((( | ||
| 72 | The master station configures the site address of the slave station; | ||
| 73 | |||
| 74 | Configure Email channels; | ||
| 75 | |||
| 76 | Configure DC distributed clock; | ||
| 77 | |||
| 78 | Request “pre-Operational" status | ||
| 79 | ))) | ||
| 80 | |Pre-operation|Application Layer Email Data Communication (SDO) | ||
| 81 | |Pre-operation → safe operation|((( | ||
| 82 | The master station uses Email to initialize the process data mapping; | ||
| 83 | |||
| 84 | The master station configures the SM channel used for process data communication; | ||
| 85 | |||
| 86 | The main station is configured with FMMU;; | ||
| 87 | |||
| 88 | Request "safe status" | ||
| 89 | ))) | ||
| 90 | |Safe operation|Allow input data to be read without output signal (SDO, TPDO) | ||
| 91 | |Safe operation → operation|((( | ||
| 92 | The master station sends valid output data; | ||
| 93 | |||
| 94 | Request “operation" status | ||
| 95 | ))) | ||
| 96 | |Operation|Input and output are all valid and can use Email communication (SDO, TPDO, RPDO) | ||
| 97 | |||
| 98 | == Communication Indicator Lamp == | ||
| 99 | |||
| 100 | The communication indicator for the VD3E servo drive is located on the CN5 (IN), CN6 (OUT) sockets, as shown INFigure 6-5As shown in. | ||
| 101 | |||
| 102 | |||
| 103 | (% style="text-align:center" %) | ||
| 104 | ((( | ||
| 105 | (% style="display:inline-block" %) | ||
| 106 | [[Figure 6-4 Communication indicator position>>image:1687764127429-364.png]] | ||
| 107 | ))) | ||
| 108 | |||
| 109 | |||
| 110 | (1) Connection lamp (yellow) | ||
| 111 | |||
| 112 | Used to display the status of CN5 and CN6 communication interfaces, and the display contents are shown in the following table. | ||
| 113 | |||
| 114 | |=**Connection lamp status**|=**Explanation** | ||
| 115 | |OFF|The port is not connected to the network cable | ||
| 116 | |ON|The port is connected to the network cable | ||
| 117 | |||
| 118 | (2) Communication lamp (green) | ||
| 119 | |||
| 120 | Used to display the status of CN5 and CN6 communication connections, as shown in the following table. | ||
| 121 | |||
| 122 | |=**Connection lamp status**|=**Explanation** | ||
| 123 | |ON|No communication connection was established with the master station | ||
| 124 | |BLINKING|A communication connection has been established with the master station | ||
| 125 | |||
| 126 | == Process Data PDO == | ||
| 127 | |||
| 128 | PDO outputs process data in real time. PDO can be divided into RPDO (for receiving instructions from master station) and TPDO (for feeding back its own status from slave station). | ||
| 129 | |||
| 130 | |||
| 131 | (% style="text-align:center" %) | ||
| 132 | ((( | ||
| 133 | (% style="display:inline-block" %) | ||
| 134 | [[Figure 6-6 PDO schematic diagram>>image:1687764189351-772.png]] | ||
| 135 | ))) | ||
| 136 | |||
| 137 | |||
| 138 | (1) PDO mapping parameters | ||
| 139 | |||
| 140 | PDO mapping is used to establish the mapping relationship between object dictionary and PDO. 1600h-17FFh is RPDO, 1A00h-1BFFh is TPDO: | ||
| 141 | |||
| 142 | |=**Name**|=**Parameter**|=**Nature** | ||
| 143 | |(% rowspan="2" %)RPDO|1600h|Variable mapping | ||
| 144 | |1701h ~~ 1705h|Fixed mapping | ||
| 145 | |(% rowspan="2" %)TPDO|1A00h|Variable mapping | ||
| 146 | |1B01h ~~ 1B04h|Fixed mapping | ||
| 147 | |||
| 148 | The following figure is an example of RxPDO mapping. | ||
| 149 | |||
| 150 | (% style="text-align:center" %) | ||
| 151 | ((( | ||
| 152 | (% style="display:inline-block" %) | ||
| 153 | [[Figure 6-7 Examples of RxPDO mapping>>image:1687764238838-148.png]] | ||
| 154 | ))) | ||
| 155 | |||
| 156 | |||
| 157 | The data type is defined as follows: | ||
| 158 | |||
| 159 | |=**Data type**|=**Description**|=**Numerical range** | ||
| 160 | |SINT|Signed 8bit|-128 ~~ 127 | ||
| 161 | |USINT|Unsigned 8bit|0 ~~ 255 | ||
| 162 | |INT|Signed 16bit|-32768 ~~ 32767 | ||
| 163 | |UINT|Unsigned 16bit|0~~65535 | ||
| 164 | |DINT|Signed 32bit|-21247483648 ~~ 21247483647 | ||
| 165 | |UDINT|Unsigned 32bit|0 ~~ 4294967295 | ||
| 166 | |STRING|String Value|ASCII | ||
| 167 | |||
| 168 | The following figure is an example of TxPDO mapping. | ||
| 169 | |||
| 170 | (% style="text-align:center" %) | ||
| 171 | ((( | ||
| 172 | (% style="display:inline-block" %) | ||
| 173 | [[Figure 6-8 Examples of TxPDO mapping>>image:1687764276184-189.png]] | ||
| 174 | ))) | ||
| 175 | |||
| 176 | |||
| 177 | The following figure is an example of a SyncManager PDO mapping. | ||
| 178 | |||
| 179 | (% style="text-align:center" %) | ||
| 180 | ((( | ||
| 181 | (% style="display:inline-block" %) | ||
| 182 | [[Figure 6-8 SyncManager PDO Mapping Example>>image:1687764295841-774.png]] | ||
| 183 | ))) | ||
| 184 | |||
| 185 | |||
| 186 | (2) Synchronize management of PDO allocation settings | ||
| 187 | |||
| 188 | In EtherCAT periodic data communication, process data can contain multiple PDO mapping data objects. The data objects 0x1C10 ~~ Ox1C2F used in CoE protocol define the corresponding PDO mapping object list of SM (Synchronous Management Channel), and multiple PDO can be mapped in different sub-indexes. | ||
| 189 | |||
| 190 | |=**Index (hex)**|=**Sub-index (hex)**|=**Content** | ||
| 191 | |1C12|01|Choose to use one of 0x1600, 0x1701-0x1705 as the actual RPDO | ||
| 192 | |1C13|01|Select to use one of 0x1A00, 0x1B01-0x1B04 as the actual TPDO | ||
| 193 | |||
| 194 | (3) PDO configuration | ||
| 195 | |||
| 196 | The PDO mapping parameter contains a pointer to the PDO corresponding process data that the PDO needs to send or receive, including index, sub-index and mapping object length. The sub-index 0 records the number N of objects mapped by the PDO, and the length of each PDO data can reach 4N bytes at most, which can map one or more objects at the same time. Sub-index ~~ N is the mapping content. The mapping parameter content is defined as follows: | ||
| 197 | |||
| 198 | |=**Number of digits**|=**31**|=**...**|=**16**|=**15**|=**...**|=**8**|=**7**|=**...**|=**0** | ||
| 199 | |Description|(% colspan="3" %)Index|(% colspan="3" %)Sub-index|(% colspan="3" %)Object length | ||
| 200 | |||
| 201 | The index and sub-index together determine the position of the object in the object dictionary, and the object length indicates the specific bit length of the object (hexadecimal representation) | ||
| 202 | |||
| 203 | |Object length|bit length | ||
| 204 | |08h|8 | ||
| 205 | |10h|16 | ||
| 206 | |20h|32 | ||
| 207 | |||
| 208 | For example, the mapping parameter of 6040h-00 (control word) is 60400010h | ||
| 209 | |||
| 210 | |((( | ||
| 211 | (% style="text-align:center" %) | ||
| 212 | [[image:1687764356036-174.png]] | ||
| 213 | ))) | ||
| 214 | |((( | ||
| 215 | The PDO configuration can only be designed when the EtherCAT communication state machine is in pre-operation (Pro-Operation, panel display 2), otherwise an error will be reported. | ||
| 216 | |||
| 217 | The PDO configuration parameters cannot be stored in the EEPROM. Therefore, after each power-on, please reconfigure the mapping object, otherwise, the mapping object is the default parameter of the drive | ||
| 218 | |||
| 219 | The SDO fault codes are returned when: | ||
| 220 | |||
| 221 | Modify PDO parameters in non-pre-operation state; | ||
| 222 | |||
| 223 | Pre-write values other than 1600/1701 ~~ 1705 in 1C12; Values other than 1A00/1B01 ~~ 1B04 are pre-written in 1C13. | ||
| 224 | |||
| 225 | **No more than 10 variable mappings can be added, otherwise the servo activation failure may occur.** | ||
| 226 | ))) | ||
| 227 | |||
| 228 | == Email Data SDO == | ||
| 229 | |||
| 230 | EtherCAT Email data SDO is used to transmit aperiodic data, such as configuration of communication parameters, servo drive operation parameters and so on. EtherCAT's CoE service types include: | ||
| 231 | |||
| 232 | (1) Emergency information; ② SDO request; ③ SDO response; ④ TxPDO; ⑤ RxPDO; ⑥ Remote TxPDO sending request; ⑦ Remote RxPDO sending request; ⑦ SDO information. | ||
| 233 | |||
| 234 | Wecon VD3E series bus servo drives currently support ② SDO requests; ③ SDO response. | ||
| 235 | |||
| 236 | == Distributed Clock == | ||
| 237 | |||
| 238 | Distributed clock enables all EtherCAT devices to use the same system time, thus controlling the synchronous execution of tasks of each device. The slave station device can generate a synchronization signal according to the synchronized system time. Wecon VD3E series bus servo drives only support DC synchronous mode. | ||
| 239 | |||
| 240 | (% style="text-align:center" %) | ||
| 241 | ((( | ||
| 242 | (% style="display:inline-block" %) | ||
| 243 | [[Figure 6-9 DC Synchronous Mode Schematic Diagram>>image:企业微信截图_16877644223063.png]] | ||
| 244 | ))) | ||
| 245 | |||
| 246 | |||
| 247 | |||
| 248 | == Status Indication == | ||
| 249 | |||
| 250 | (% style="text-align:center" %) | ||
| 251 | ((( | ||
| 252 | (% style="display:inline-block" %) | ||
| 253 | [[Figure 6-10 Status indication schema>>image:Servo pannel display.jpg||alt="1687764471147-216.png"]] | ||
| 254 | ))) | ||
| 255 | |||
| 256 | |||
| 257 | **Description:** | ||
| 258 | |||
| 259 | **(1) Communication connection status** | ||
| 260 | |||
| 261 | The first digit tube from the left of the 5-bit LED indicator on the servo drive panel is used to display the connection status of the two Ethernet communication ports: upper "-" CN6 (OUT) and lower "-" CN5 (IN) | ||
| 262 | |||
| 263 | Long dark: No communication connection detected | ||
| 264 | |||
| 265 | Long Bright: A communication connection has been established | ||
| 266 | |||
| 267 | **(2) Communication Operating status** | ||
| 268 | |||
| 269 | The servo drive panel of the 5-bit LED indicator lamp is the second digit tube from the left, which is used to display the EtherCAT state machine status of the slave station in character form. | ||
| 270 | |||
| 271 | |**Panel display**|**Meaning** | ||
| 272 | |((( | ||
| 273 | (% style="text-align:center" %) | ||
| 274 | [[image:企业微信截图_16877645391823.png]] | ||
| 275 | )))|Initialization state | ||
| 276 | |((( | ||
| 277 | (% style="text-align:center" %) | ||
| 278 | [[image:企业微信截图_16877645542304.png]] | ||
| 279 | )))|Pre-operation status | ||
| 280 | |((( | ||
| 281 | (% style="text-align:center" %) | ||
| 282 | [[image:企业微信截图_16877645685788.png]] | ||
| 283 | )))|Safe operation status | ||
| 284 | |((( | ||
| 285 | (% style="text-align:center" %) | ||
| 286 | [[image:企业微信截图_16877645873434.png]] | ||
| 287 | )))|Operating status | ||
| 288 | |||
| 289 | **(3) Display of servo operation mode** | ||
| 290 | |||
| 291 | Servo drive panel 5-bit LED indicator from the left of the third digit tube, used to display hexadecimal digital form display servo drive current operation mode. | ||
| 292 | |||
| 293 | |**Panel display**|**Meaning** | ||
| 294 | |((( | ||
| 295 | (% style="text-align:center" %) | ||
| 296 | [[image:企业微信截图_16877646313948.png]] | ||
| 297 | )))|Contour position control mode | ||
| 298 | |((( | ||
| 299 | (% style="text-align:center" %) | ||
| 300 | [[image:企业微信截图_16877646502614.png]] | ||
| 301 | )))|Contour speed control mode | ||
| 302 | |((( | ||
| 303 | (% style="text-align:center" %) | ||
| 304 | [[image:企业微信截图_16877646869001.png]] | ||
| 305 | )))|Contour torque control mode | ||
| 306 | |((( | ||
| 307 | (% style="text-align:center" %) | ||
| 308 | [[image:企业微信截图_16877647056651.png]] | ||
| 309 | )))|Origin return mode | ||
| 310 | |((( | ||
| 311 | (% style="text-align:center" %) | ||
| 312 | [[image:企业微信截图_16877647411761.png]] | ||
| 313 | )))|Interpolation mode | ||
| 314 | |((( | ||
| 315 | (% style="text-align:center" %) | ||
| 316 | [[image:企业微信截图_1687764758384.png]] | ||
| 317 | )))|Cyclic Synchronous Position mode | ||
| 318 | |((( | ||
| 319 | (% style="text-align:center" %) | ||
| 320 | [[image:企业微信截图_16877647747873.png]] | ||
| 321 | )))|Periodic synchronous speed mode | ||
| 322 | |((( | ||
| 323 | (% style="text-align:center" %) | ||
| 324 | [[image:企业微信截图_1687764789355.png]] | ||
| 325 | )))|Periodic synchronous torque mode | ||
| 326 | |||
| 327 | (4)**Servo status display** | ||
| 328 | |||
| 329 | Servo drive panel 5-bit LED indicator from the left of the fourth and fifth digit tube, used to display the servo status of the slave station. | ||
| 330 | |||
| 331 | |**Panel display**|**Meaning** | ||
| 332 | |((( | ||
| 333 | (% style="text-align:center" %) | ||
| 334 | [[image:企业微信截图_16877648316610.png]] | ||
| 335 | )))|Not ready nr | ||
| 336 | |((( | ||
| 337 | (% style="text-align:center" %) | ||
| 338 | [[image:企业微信截图_16877648448112.png]] | ||
| 339 | )))|Get ready ry | ||
| 340 | |((( | ||
| 341 | (% style="text-align:center" %) | ||
| 342 | [[image:企业微信截图_1687764861143.png]] | ||
| 343 | )))|Run rn | ||
| 344 | |((( | ||
| 345 | (% style="text-align:center" %) | ||
| 346 | [[image:企业微信截图_16877648784506.png]] | ||
| 347 | )))|Failure-free nF | ||
| 348 | |||
| 349 | == Introduction to CiA402 Control == | ||
| 350 | |||
| 351 | The use of Wecon VD3E Series Bus Type servo drives must be guided according to the procedure specified in Standard 402 Protocol. | ||
| 352 | |||
| 353 | (% style="text-align:center" %) | ||
| 354 | ((( | ||
| 355 | (% style="display:inline-block" %) | ||
| 356 | [[Figure 6-11 CiA402 state machine switching schema>>image:1687765004268-447.png]] | ||
| 357 | ))) | ||
| 358 | |||
| 359 | |||
| 360 | |||
| 361 | |=**Status**|=**Description** | ||
| 362 | |Initialization|((( | ||
| 363 | Drive initialization, internal self-test has completed. | ||
| 364 | |||
| 365 | Parameters cannot be set, and servo drive function cannot be performed. | ||
| 366 | ))) | ||
| 367 | |Servo trouble-free|((( | ||
| 368 | There is no fault in the servo drive. | ||
| 369 | |||
| 370 | Parameters can be set. | ||
| 371 | ))) | ||
| 372 | |Servo ready|((( | ||
| 373 | Servo drives are ready. | ||
| 374 | |||
| 375 | Parameters can be set. | ||
| 376 | ))) | ||
| 377 | |Wait to turn on servo enable|((( | ||
| 378 | The servo drive waits to turn on the servo enable. | ||
| 379 | |||
| 380 | Parameters can be set. | ||
| 381 | ))) | ||
| 382 | |Servo operation|The servo drive is running normally. | ||
| 383 | |Quick stop|((( | ||
| 384 | The servo drive is performing the quick shutdown function. | ||
| 385 | |||
| 386 | Only function codes with the attribute "Run valid" can be set. | ||
| 387 | ))) | ||
| 388 | |Malfunction shutdown|((( | ||
| 389 | The servo drive is performing the fault shutdown function. | ||
| 390 | |||
| 391 | Only function codes with the attribute "Run valid" can be set. | ||
| 392 | ))) | ||
| 393 | |Fault|((( | ||
| 394 | Failure shutdown is complete, and all drive functions are disabled. | ||
| 395 | |||
| 396 | Allow parameters to be changed to troubleshoot. | ||
| 397 | ))) | ||
| 398 | |||
| 399 | == Basic Characteristics == | ||
| 400 | |||
| 401 | The EtherCAT network cable is connected to the CN5 (IN), CN6 (OUT) interfaces, and its electrical characteristics conform to IEEE 802.3 standard. | ||
| 402 | |||
| 403 | (% style="text-align:center" %) | ||
| 404 | ((( | ||
| 405 | (% style="display:inline-block; width:714px;" %) | ||
| 406 | [[Figure 6-12 Communication port>>image:1687767552529-985.png||height="327" width="714"]] | ||
| 407 | ))) | ||
| 408 | |||
| 409 | |||
| 410 | |=**Pin**|=**Name**|=**Function description** | ||
| 411 | |1|TX+|Sending data+ | ||
| 412 | |2|TX-|Sending data- | ||
| 413 | |3|RX+|Receiving data+ | ||
| 414 | |4|-|- | ||
| 415 | |5|-|- | ||
| 416 | |6|RX-|Receiving data- | ||
| 417 | |7|-|- | ||
| 418 | |8|-|- | ||
| 419 | |||
| 420 | EtherCAT communication topology connections are very flexible, taking linear connections and ring connections as examples: | ||
| 421 | |||
| 422 | (% style="text-align:center" %) | ||
| 423 | ((( | ||
| 424 | (% style="display:inline-block" %) | ||
| 425 | [[Figure 6-13 Linear connection>>image:1687765312978-447.png]] | ||
| 426 | ))) | ||
| 427 | |||
| 428 | |||
| 429 | (% style="text-align:center" %) | ||
| 430 | ((( | ||
| 431 | (% style="display:inline-block" %) | ||
| 432 | [[Figure 6-114 Ring connection>>image:1687765334875-824.png]] | ||
| 433 | ))) |