如何解决错误 0x4260:Beckhoff twincat3 NC-PTP Motion 中的控制器启用信号在轴、StateDWord 0x21a1301 中丢失?

问题描述 投票:0回答:1

Beckhoff Twincat 系统通过 Ethercat 总线连接到两个轴。轴 1 和轴 2 分别以 2000 度/秒和 300 度/秒运行,仅使用 MC_MoveVelocity 功能块;运行约 1 小时 20 分钟后报告以下错误:

enter image description here

错误 2023/10/23 11:33:55 169 毫秒 | 'TCNC' (500):'轴 2'(轴 ID:2,Grp-ID:2):执行命令时,轴或耦合的从轴丢失其控制器启用信号 => 错误 0x4260(StateDWord:0x21a1301 ,CoupleState:0,ActPos:1525883.866652,ActVelo:299.993040) 严重性代码 说明 项目文件行抑制状态 错误 2023/10/23 11:33:55 169 毫秒 | 'TCNC' (500):'轴 1'(轴 ID:1,Grp-ID:1):执行命令时,轴或耦合的从轴丢失其控制器启用信号 => 错误 0x4260(StateDWord:0x21a1301 ,CoupleState:0,ActPos:10371623.101616,ActVelo:1999.996639)

查阅Twincat NC错误文档后发现如下: 文字 4260 16992 监控 “控制器启用” 轴或耦合从轴的控制器启用不存在(请参见轴接口 PlcToNc)。如果在主动定位一个轴或一组轴(也是主/从组)时撤回控制器启用,则会出现此错误。如果在没有控制器启用的情况下启动 PTP 轴或耦合的从动轴,也会出现该错误。

我检查了Twincat3 PLC代码,通过在线SCOPE监控,发现MC_POWER功能块中的BOOL变量Enable始终为TRUE,直到故障发生之前,该变量始终为TRUE。

enter image description here

motion twincat cnc industrial twincat-ads
1个回答
0
投票

问题在于,在高旋转速度下,GVL.Axis_Pos_WithRefZero_WithRepair_BeforeRounding[i]的值会很大,这会导致GVL.Axis_Pos_WithRefZero_WithRepair_AfterRounding[i]的计算在计算GVL时消耗大量CPU资源。 我的代码使用多个函数(例如 ConvertRangeTo360、ConvertRangeTo240 等)将角度值限制在特定范围内。这些函数使用循环结构,如果输入角度值很大,那么函数需要执行大量循环,这会消耗大量的CPU资源。

© www.soinside.com 2019 - 2024. All rights reserved.