李美熹 SPACE


又一个WordPress站点

首页 >全部文章 > 正文内容
2 :如何修改单个NC轴的控制周期 解忧系列-Lizzy的倍福园地
技术背景:在倍福控制系统中,运动控制由两个任务来完成缨尾目,即SAF和SVB源码哥。其中最重要的是SAF任务,它负责轨迹规划、位置控制、输入输出的转换、总线刷新等工作。再强大的TwinCAT控制器打工行歌词,哪怕是36核的服务器配合最新版的TwinCAT 3,也只有一个SAF任务。所有NC轴的控制周期,默认都等于SAF任务周期。TwinCAT NC最多可以控制255个轴豆花茶楼 ,按默认设置,这255个轴的控制周期都是2ms。
问题出现:有的应用场合,轴的数量很多,其中个别NC轴的控制周期要求低至1ms或者500us,而其余绝大部分NC轴的要求并不高。为了满足个别轴的严苛要求陈宇风,用户通常会把TwinCAT NC的SAF周期缩短,导致NC控制的CPU资源消耗成倍增加,甚至不得不升级到更高性能等级的控制器。
解决办法:实际上,TwinCAT NC轴的参数中,提供了一个选项“Divider”,用于成倍增加NC轴的控制周期。在Axis的Setting页面,可以看到:

Divider的取值,为2的n次方。即1,2,4,8......以此类推,相当于该轴的控制周期就是SAF的1,2,4,8倍。
在轴数较多的情况下长河摄影网,大面积使用Divider可以明显降低CPU利用率。本人测试中国绸都网 ,用主频1GHz的CX1020-0112带40个NC轴,其中39个虚轴,1个EtherCAT实轴。SAF周期2ms,无PLC程序,CPU利用率为22%。将39个虚轴的Divider设置为4以后,CPU利用率下降为15%。
注意事项:
1都锦生,修改NC轴的Divider后,总线通讯周期不变,但同步周期会增加相应倍数。比如上例中Divider设置为4厦门金光湖 ,打开EtherCAT伺服驱动器的DC界面,可以看到Sycn Unit Cycle Time的值自动变为8000us:

2,修改NC轴的Divider后,相应的总线周期也会修改。
测试时,分别设置3个NC轴的Divider为1,2,4,并映射到3个伺服驱动器。观察EtherCAT界面的Frame数量和Cycle,可以看到增加了Frame的数量也有3个,而周期分别是2ms,4ms,8ms。

3,修改NC轴的Divider后,不同控制周期的NC轴不能再联动。隋雨蒙
测试证明,Divider不同的NC轴,执行GearIn、CamIn或者FIFO运动就会报错。分析其原因,是因为NC轴的Setpoint Generator产生位置点的频率不同,而有联动关系的主从轴或FIFO组中的NC轴官场斗 ,其SetPosition应该是一一对应的。由于Divider的不同,这种对应关系被打破了,所以无法联动。
由于这个功能我自己也是刚刚发现,欢迎反馈使用中遇到的相关问题。我整理后会以留言的形式公布。同时,本文可以作为此前的文章“TwinCAT控制任务的CPU耗时统计与分析”的扩展阅读。
上一篇:开心赚宝 下一篇:乌龙院之活宝

繁华落尽 转瞬即逝

我们需要透过一系列的训练来突破关卡,我们需要达到一个不受到过去历史的羁绊的心境,透过这样的心境,进而引导成为一个适合进行前进到战士人,我们需要成为一个完美无缺的战士,我们的目标是遵循着力量进入无限的领域和穿越!