
任务配置的要点
1、设为“循环”类型,“任务周期”是指执行该类任务的时间间隔,一般的逻辑控制,普通 IO 端口变量状态变化比较慢,任务周期设定周期可以比较大一些,比如任务周期可设为 20ms;若需要及时处理的任务,任务周期设定周期则可以小一些。
2、EtherCAT 总线通信的任务配置,是一个比较特殊的“循环”类型的任务,具有最高的优先级,其任务周期的设定值,也将是 EtherCAT 总线的通信周期,一般为设为 1ms~4ms;设定值越小,运动控制的精度越高;当 所需控制的轴数越多,则需要设定周期越大,否则容易导致 CPU 的计算负荷过载。
3、CANopen 总线通信的任务配置,是另一个比较特殊的“循环”类型的任务,具有第二优先级,其任务周期的设定值,也将是 CANopen 总线的通信周期,一般为设为 4ms~8ms;设定值越小,运动控制的精度越高;当所需控制的轴数越多,通信所需的时间更长,则需要设定周期越大。
4、还有一些任务则在满足某些状态的情况下,才开始执行,例如由高速 IO 端口(HSIO)的状态变化,也称HSIO 中断信号,引发任务执行,不是按时间间隔来执行。
5、一个任务配置,只能设为一种执行类型、时间间隔及优先级,若要得到不同的执行特性,可以通过添加多个 任务配置;
6、一个任务配置内,允许包含有多个 POU,该多个 POU 将均以相同的时间间隔执行,执行时按该任务中 POU添加顺序执行。

鼠标选中“任务配置”,点击右键,可以增加新的任务。
请注意,上图中具有“ETHERCAT.EtherCAT_Task”项目的任务,将会是 EtherCAT 总线任务,其任务的优先级应设为 0。
任务优先级的安排
AM600 控制器的系统软件,默认对不同类型的任务配置,安排了不同的优先级,确保对运动控制等重要任务 优先执行,在一些需要高性能运动控制(MC)的应用中,可让控制器的性能得到合理利用。

优先级设定值越小,优先级越高;高优先级的 POU 可以打断低优先级 POU 的执行,如下图,其中ECT代表EtherCAT。
从上图可知:
控制器执行任务时,有一个用户观察不到的时间对准点,如上图左侧,在这个时间点开始,按最高优先级次高优先级...最低优先级的顺序开始执行;
低优先的任务在执行时,可能被高优先级的任务打断,待高优先级任务执行完成后,返回被打断的任务,继 续执行该低优先级任务;
EtherCAT 任务为最高优先级任务,按 EtherCAT 周期进入该任务,完整执行一遍该任务内的所有 POU 后,才返回较低优先级任务;