雷赛PLC产品EtherCAT环网冗余功能介绍
导语:EtherCAT环网冗余功能可以提高EtherCAT网络的通信稳定性。即使EtherCAT网络中间的任一从站发生故障,或者网线出现问题,其他从站仍可以正常运行。这对于需要高稳定性和可靠性的设备来说非常有用。
导语:EtherCAT环网冗余功能可以提高EtherCAT网络的通信稳定性。即使EtherCAT网络中间的任一从站发生故障,或者网线出现问题,其他从站仍可以正常运行。这对于需要高稳定性和可靠性的设备来说非常有用。
EtherCAT环网冗余功能可以提高EtherCAT网络的通信稳定性。即使EtherCAT网络中间的任一从站发生故障,或者网线出现问题,其他从站仍可以正常运行。这对于需要高稳定性和可靠性的设备来说非常有用。
例如,在设备运行过程中,如果某一从站(伺服、步进、IO模块)的EtherCAT网线出现松动,设备仍能正常运行。在这种情况下,设备会发出报警并定位故障,以便恢复松动的网线,减少非计划停机和原材料损失。此外,如果单个从站发生故障,可在不停机的情况下就能重启或更换故障从站,有效提高设备生产效率。雷赛智能大型PLC产品LC2000和LC5000系列均支持环网功能,而在LC1000系列中,LC1048、LC1064、LC1096和LC1128也均支持环网功能。
01、EtherCAT环网功能应用案例
以某智能包装设备为例,其环网拓扑应用图如下:
方案优势:
提升设备可靠性
解决由于机台震动导致从站设备某处网线松动的情况下,设备依然正常运行。
提高30%的生产效率
通过网络诊断给出网络断开的节点位置,及时恢复网线,减少宕机时间。
减少原材料损失和设备损伤
网线故障预警时,设备可正常运行,设备维护更有计划性,减少突然停止带来的原材料损失和设备损伤。
02、EtherCAT环网功能使用说明
1、第一步:EtherCAT主站版本配置为3.5.15.30 SoftMotion。
以LC2128为例,打开LeadSys Studio,新建或打开LC2128的工程,检查EtherCAT主站版本配置为3.5.15.30 SoftMotion,检查版本方法如下图:
如果需要更改EtherCAT主站版本配置为3.5.15.30 SoftMotion方法如下:
1)选择“EtherCAT_Master_Leadshine_A”,右键后在下拉栏中选择“更新设备”。
2)在“更新设备”对话框下方勾选“显示所有版本(仅限专家)”,选择3.5.15.30 EtherCAT Master SoftMotion,点击“更新设备”,然后关闭窗口。
此后,可再次检查EtherCAT主站版本配置为3.5.15.30 SoftMotion。
2、第二步,用网线连接PLC编程调试电脑与PLC设备的调试口,配置IP地址在同一网段(PLC的LAN1默认为192.168.1.3),点击Device,扫描PLC设备,选中PLC,然后确定。
3、第三步,配置冗余环网,默认环网的起始网口是PLC的EtherCAT网口1,链式连接所有从站后,网口从最后一个从站的OUT网口,连入PLC的EtherCAT网口2,请按照下图,勾选“启用冗余”,冗余EtherCAT NIC网口点击“浏览”,选择eth1。点击“选项”,勾选“自动重启从站”。
注意:本步中,点击上图“浏览”,如果弹出下图提示,请回到第二步,先扫描PLC设备。
4、第四步,物理网络连接:环网的起始网口是PLC的EtherCAT网口1,链式连接所有从站(伺服、步进或IO模块等)后,网口从最后一个从站的OUT网口,连入PLC的EtherCAT网口2。
5、编译PLC程序,下载程序,运行,如下图。
03、EtherCAT环网功能验证
1、冗余环网运行后,第一个从站为同步时钟,是不能故障的,其IN和OUT网线不能同时拔掉。可以先拔掉第一个从站的IN,再插上。插上后等5秒后(从站数量较多时,建议等更多时间,再继续拔下个网线),再拔掉第一个从站的OUT网线,再插上,可发现,整个EtherCAT网络上设备都正常运行,不受影响。
2、拔掉第二个从站后面的任何一根网线,等5秒后,再插上,EtherCAT网络上设备都正常运行,不受影响。3、拔掉主的任一个EtherCAT网线,等5秒后,再插上,EtherCAT网络上设备都正常运行,不受影响。4、同时拔掉第2个及以后的任一从站的IN和OUT,或者理解为断电第2个及以后的任一从站,其他从站正常运行,不受影响。先插上IN,再插上OUT网线后(或该从站重新上电后),从站恢复运行,但是轴为故障状态。可采用SMC3_ReinitDrive和MC_Reset功能块,维修好从站后,手动恢复轴运行,示例如下:
MC_Reset0( Axis:= AxisName, Execute:= bReset, //恢复轴错误 Done=> , Busy=> , Error=> , ErrorID=> ); SMC3_ReinitDrive0( Axis:= AxisName, bExecute:= bReinitDrive0, //恢复轴通信 bVirtual:= , bDone=> , bBusy=> , bError=> , nErrorID=> );
//恢复轴通信 IF (Server.wState = 8) AND (AxisName.wCommunicationState <> 100) THEN bReinitDrive0:=TRUE ; //-------- //恢复轴通信 ELSE //ELSIF (AxisName.wCommunicationState <> 100) THEN bReinitDrive0:=FALSE ; END_IF
//恢复轴错误 IF (Server.wState = 8) AND (AxisName.wCommunicationState = 100) AND (AxisName.nAxisState = 1)THEN bReset:=TRUE ; END_IF //当 第一个从站故障是,由于没有同步时钟,每次复位后,再次故障,报错 为 SMC_ERRORSMC DI FIELDBLJS LOST_SYNCRONICITY IF (Server.wState = 8) AND (AxisName.wCommunicationState = 100) AND (AxisName.nAxisState <> 1)THEN bReset:=FALSE ; END_IF
END