EtherCAT ring redundancy enhances the communication stability of EtherCAT networks. Even if any slave station in the EtherCAT network fails or the network cable malfunctions, the other slave stations can still operate normally. This is extremely useful for devices requiring high stability and reliability.
For example, if the EtherCAT network cable of a slave station (servo, stepper, or I/O module) becomes loose during equipment operation, the equipment can still operate normally. In this case, the equipment will issue an alarm and locate the fault so that the loose network cable can be restored, reducing unplanned downtime and material loss. Furthermore, if a single slave station fails, it can be restarted or replaced without shutting down the entire system, effectively improving equipment production efficiency. Leadshine Intelligent's large-scale PLC products, the LC2000 and LC5000 series, both support ring network functionality, while in the LC1000 series, the LC1048, LC1064, LC1096, and LC1128 also support ring network functionality.
01. EtherCAT Ring Network Function Application Case
Taking a certain intelligent packaging equipment as an example, its ring network topology application diagram is as follows:
Advantages of the solution:
Improve equipment reliability
This addresses the issue of ensuring the equipment continues to operate normally even when a network cable becomes loose at a certain point on the slave device due to machine vibration.
Increase production efficiency by 30%
Network diagnostics can pinpoint the location of network disconnected nodes, allowing for timely network cable restoration and minimizing downtime.
Reduce raw material loss and equipment damage
When a network cable fault warning is issued, the equipment can continue to operate normally, making equipment maintenance more planned and reducing the loss of raw materials and equipment damage caused by sudden shutdowns.
02. EtherCAT Ring Network Function User Manual
1. First step: Configure the EtherCAT master version to 3.5.15.30 SoftMotion.
Taking LC2128 as an example, open LeadSys Studio, create or open a new LC2128 project, and check that the EtherCAT master station version is configured to be 3.5.15.30 SoftMotion. The method for checking the version is shown in the following figure:
If you need to change the EtherCAT master version configuration to 3.5.15.30 SoftMotion, the method is as follows:
1) Select “EtherCAT_Master_Leadshine_A”, right-click and select “Update Device” from the drop-down menu.
2) In the “Update Device” dialog box, check “Show all versions (Experts only)”, select 3.5.15.30 EtherCAT Master SoftMotion, click “Update Device”, and then close the window.
After that, you can check again that the EtherCAT master version configuration is 3.5.15.30 SoftMotion.
2. The second step is to connect the PLC programming and debugging computer to the debugging port of the PLC device using a network cable, and configure the IP addresses to be in the same network segment (the default LAN1 of the PLC is 192.168.1.3). Click Device, scan for PLC devices, select the PLC, and then confirm.
3. The third step is to configure a redundant ring network. By default, the starting port of the ring network is EtherCAT port 1 of the PLC controller. After chaining all slave stations, the network port connects from the OUT port of the last slave station to EtherCAT port 2 of the PLC controller. Please refer to the following figure, check "Enable Redundancy", click "Browse" for the redundant EtherCAT NIC port, and select eth1. Click "Options" and check "Automatically restart slave station".
Note: In this step, if you click "Browse" in the image above and a prompt like the one below pops up, please return to step two and scan the PLC device first.
4. Fourth step, physical network connection: The starting network port of the ring network is the EtherCAT port 1 of the PLC controller. After chaining all slave stations (servo, stepper or IO modules, etc.), the network port is connected from the OUT port of the last slave station to the EtherCAT port 2 of the PLC controller.
5. Compile the PLC program, download the program, and run it, as shown in the figure below.
03. EtherCAT Ring Network Function Verification
1. After the redundant ring network is in operation, the first slave station is the synchronous clock and cannot fail. Its IN and OUT network cables cannot be disconnected simultaneously. You can first disconnect the IN cable of the first slave station, and then plug it back in. After plugging it in, wait 5 seconds (if there are many slave stations, it is recommended to wait longer before unplugging the next network cable), then disconnect the OUT network cable of the first slave station, and then plug it back in. You will find that all devices on the EtherCAT network are operating normally and are not affected.
2. Disconnect any network cable after the second slave station, wait 5 seconds, and then plug it back in. Devices on the EtherCAT network will operate normally without being affected. 3. Disconnect any EtherCAT network cable from the master controller, wait 5 seconds, and then plug it back in. Devices on the EtherCAT network will operate normally without being affected. 4. Simultaneously disconnect the IN and OUT cables of the second and subsequent slave stations, or in other words, power off the second and subsequent slave stations. Other slave stations will operate normally without being affected. If you plug in the IN cable first, then the OUT cable (or power on the slave station again), the slave station will resume operation, but the axis will be in a fault state. You can use the SMC3_ReinitDrive and MC_Reset function blocks to manually restore axis operation after repairing the slave station, as shown in the example below:
MC_Reset0( Axis:= AxisName, Execute:= bReset, // Restore axis error Done=> , Busy=> , Error=> , ErrorID=> ); SMC3_ReinitDrive0( Axis:= AxisName, bExecute:= bReinitDrive0, // Restore axis communication bVirtual:= , bDone=> , bBusy=> , bError=> , nErrorID=> );
// Restore Axis Communication IF (Server.wState = 8) AND (AxisName.wCommunicationState <> 100) THEN bReinitDrive0:=TRUE ; //-------- // Restore Axis Communication ELSE //ELSIF (AxisName.wCommunicationState <> 100) THEN bReinitDrive0:=FALSE ; END_IF
// Recover axis error IF (Server.wState = 8) AND (AxisName.wCommunicationState = 100) AND (AxisName.nAxisState = 1)THEN bReset:=TRUE ; END_IF // When the first slave fails, due to the lack of a synchronized clock, after each reset, another failure occurs, reporting the error SMC_ERRORSMC DI FIELDBLJS LOST_SYNCRONICITY IF (Server.wState = 8) AND (AxisName.wCommunicationState = 100) AND (AxisName.nAxisState <> 1)THEN bReset:=FALSE ; END_IF
END