[西门子] 关于EtherCAT_Task和MainTask的设置

[复制链接]
查看72722 | 回复0 | 2024-3-19 14:22:01 | 显示全部楼层 |阅读模式
在初步接触CODESYS编程平台时,我们对有些特别的应用,要关注Application中的Task Configuration,这对于有效地降低PLC的负载率很有帮助。

另外,有些刚入门的朋友,可能会遇到程序完全正确,但是就是无法控制伺服或者无法按照正常的逻辑进行控制这个情况,那么下面介绍的内容就是其中一个原因。



Task Configuration

打开CODESYS编译器后,我们新建工程,一般会选择标准工程:



新建完成后,默认会包含Task Configuration,且把PLC_PRG也放在了Main_Task下方进行调用:



添加完成后,再次添加EtherCAT Master主站,那么此时,Task Configuration下方会自动添加一个EtherCAT_Task:





Task 配置

正常建立完成后,就可以使用Softmotion基本的功能块进行EtherCAT总线伺服的控制,但是默认的Main_Task和EtherCAT_Task都是4ms的周期,对于有些场合并不适合。这里就可以把总线周期进行修改,比如1ms:



此时,EtherCAT_Task就会自动变成1ms:



但是,PLC_PRG的任务周期(即Main_Task任务)仍然是4ms,那么如果把softmotion的MC功能块放在PLC_PRG中,会造成实际的EtherCAT主站周期和程序不一致,最后导致轴控和预设不同。

那么,这里建议初学者如下设置:删除Main_Task,把PLC_PRG放到EtherCAT_Task中进行调用。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则