在这部分实验中,将了解以下概念:
在传统PLC中,使用任务来对项目进行分段与使用任务中的程序来对项目进行分段。有三种不同类型的“任务”:
1)主任务=Logix中的连续任务;
2)STI任务=Logix中的周期性任务;
3)PII/DII任务=Logix中的事件任务。
但是,只能有一个STI和PII/DII。在Logix中可以有多个周期性任务和事件任务。这可以是一个功能强大的工具,但在执行前应先了解它。
在使用Logix编程时会遇到以下问题:对项目进行分段的最佳方法是什么?是在一个任务中使用多个程序更好?还是使用带有一个程序的多个周期性任务更好?最常见的回答是使用带有一个程序的多个周期性任务,这在99%的情况下都是错误的选择。为什么会这样?通过在线示例可以最好地回答这一问题。(www.xing528.com)
将通过使用一个程序来说明,该程序有一个带有5个单独程序连续任务、5个分别带有一个程序的周期性任务,以及一个带有5个程序的周期性任务。
对于连续任务,所有程序都相同,一个简单循环需要5ms的程序执行时间。因此,带有5个程序连续任务的执行时间约为25ms。5个周期性任务包含的程序与连续任务相同,因此执行时间也是每个5ms。问题是现在变为周期性任务的运行速率应该是多少?任务的运行优先级是多少?
参考信息
周期性任务优先级
对于周期性任务,可指定从1到15的优先级。1是最高的优先级,15是最低的优先级。优先级较高的任务始终会中断优先级较低的任务。如果任务优先级相同时会如何呢?它们将进行任务切换。
任务切换的意思是,当优先级相同的多个任务执行时,每运行1ms时间片时任务之间便会进行切换。例如,如果有3个优先级相同的周期性任务,则任务1运行1ms后将切换到任务2,任务2运行1ms后再切换到任务3,任务3也将运行1ms。然后一直按此模式进行下去,直到所有这些任务都执行完毕。大部分人都会选择21ms或25ms的周期性任务周期,并会设置相同的优先级。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。