理论教育 和利时LM机多任务组织优化方案

和利时LM机多任务组织优化方案

时间:2023-07-01 理论教育 版权反馈
【摘要】:图8-33 事件触发任务配置实例3.和利时LM机任务程序执行任务配置后,它的执行一般要遵守以下5条规则:任务的条件满足,任务才执行。

和利时LM机多任务组织优化方案

1.和利时LM机任务类型

和利时LM机任务(Task)有4种类型:

(1)循环(cyclic)任务,规定有循环间隔时间,到了间隔时间才执行。

(2)自由运行(freewheeling)任务,也是周而复始地运行,但是不必确定它的周期。

(3)事件触发(triggered by event)。

(4)外部事件触发(triggered by external event)任务。

其中每个任务都分为32个等级(0~31),等级号低,执行的优先权高,优先调用。

此外,还有系统事件,即中断方式工作的事件,也可以看成为任务。因为产生这些事件也可以调用程序。这在本书第4章中介绍脉冲量输入、输出时,已做过说明。这里不再重复。只是要指出的是,这里的“外部事件触发”与“系统事件”是不同的。前者是根据目标机提供的范围定义,而后者是系统已经生成好了的,直接可调用。

2.和利时LM机任务配置

在“对象管理器”的“资源”窗口上,单击“任务配置”,将弹出“任务配置”窗口。这时,再单击主菜单中的插入项,再单击其中的“Insert Task”项,将在工程中加入相关任务。如图8-30所示窗口就已加入了多个任务。

从图8-30可知,这里“NewTask1”任务设定为循环任务,循环间隔时间为1s。优先级为1。

在窗口的左方(框)单击鼠标右键,将弹出图8-31所示的弹出菜单。使用它也可以插入任务,还可以对任务进行编辑。同时,还可使能(Enable,默认为使能)任务,或不使能任务(Desable,即不让其起作用,只用做备份)。

配置任务后,还要为其配置任务要调用的程序。否则配置的任务,什么事也不能做。为此,可在菜单中点击“Append Program Call”。点击后,将弹出如图8-32所示的任务调用程序窗口。在它的“程序调用”下,可键入要调用的程序。

从图8-32可知,该工程的“NewTask3”将调用程序P3。而“NewTask1”调用程序P1、P2,“NewTask2”设定为“自由运行”(图中未示出),调用程序PPLC_PRG。

978-7-111-39745-8-Chapter09-38.jpg

图8-30 此工程已加入4个任务

978-7-111-39745-8-Chapter09-39.jpg

图8-31 任务配置弹出菜单

978-7-111-39745-8-Chapter09-40.jpg

图8-32 任务调用程序窗口

对任务“NewTask1”而言,做了上述配置的结果是,当PLC运行时,每隔1s,执行一次本任务。而执行本任务,所要做的工作只有一个。就是调用程序P1、P2。所以事实上,就是令P1、P2每隔1s运行一次,而不像原来的PLC_PRG老是连续重复运行。

而对任务“NewTask2”设定为“自由运行”,它调用程序PPLC_PRG。做了这样配置的结果是,当PLC运行时,PLC_PRG将老是周而复始地运行。与原来PLC_PRG含义一样。

而对任务“NewTask3”,因为设为“事件触发”,所以,还要做进一步设定。如图8-33所示为它进一步设定的实例。

从图8-33可知,它指定为“事件触发”,执行它后,将调用程序P3。而触发的事件指定为“aa”。而可作为触发的事件有两点规定:一是“aa”必须是全局变量;二是事件是指事件发生在“aa”从OFF到ON的时刻。所以,这里配置的“NewTask3”,目的就是每当全局变量“aa”从OFF到ON的时刻,调用程序P3一次。

978-7-111-39745-8-Chapter09-41.jpg

图8-33 事件触发任务配置实例

3.和利时LM机任务程序执行

任务配置后,它的执行一般要遵守以下5条规则:

(1)任务的条件满足,任务才执行。

(2)如有若干个任务条件同时满足,优先级高的任务先执行。(www.daowen.com)

(3)如有若干个任务条件同时满足,且优先级相同,则等待时间长的先执行。

(4)一个任务条件,如调用多个程序,这些将按配置时的顺序,依次执行。

(5)任务配置后,PLC_PRG程序是否无需调用,按“自由运行”方式执行,取决于目标PLC。

提示:对和利时LM机,使用多任务组织后,“PLC_PRG”再也不是默认的系统调用的程序了。要启用它,与其他名称的程序一样,也必须调用或用“自由运行”任务调用。否则,它将不运行。

如图8-34所示为上述任务配置后程序运行的情况。图8-34中显示了P1及P3程序的部分指令。PLC_PRG及P2程序略。

978-7-111-39745-8-Chapter09-42.jpg

图8-34 任务配置后程序运行情况

有了上述任务配置及图8-34程序,PLC运行后,每隔1s,P1程序将执行一次,即变量w1将加1一次。经过取模运算,变量b1每隔5s等于0一次。经过比较,则变量aa将从OFF到ON一次。而当aa从OFF到ON一次,则执行“NewTask3”一次,也就是调用程序P3一次。执行P3一次,将使变量wp加2一次。

以上配置与程序只是理解任务配置与调用机理的简单例子。实际任务配置及程序组织,当然要根据PLC要实现的功能去做了。

总之,PLC程序多任务组织可以使PLC对系统的控制更加精确,实时性更好,可以提高PLC的控制品质。同时,还可以使PLC程序的可读性、可修改性也得以提高,确实是PLC编程的好方法。

4.和利时LM机程序初始化

PLC程序开始运行时,有的变量初始值不是0,而要另赋以其他值。此外,有的指令要在第一周期运行一次。凡此等等,一般称为PLC程序初始化。

和利时LM机程序初始化的方法有:

1.声明变量时赋值

这是较简便的方法。例如:

978-7-111-39745-8-Chapter09-43.jpg

978-7-111-39745-8-Chapter09-44.jpg

这里就在声明变量w1、w2的同时,分别用十六进制数10、12对其赋值。

2.首周期赋值

如图8-35所示即为这个程序。从图可知,程序开始运行时,在节1,“first”常闭触点必为ON,故执行赋值,把十六进制数10、11分别赋值给w3、w4。而执行节2后,将使“first”为ON。这可以使次一周期后,节1的赋值将不再执行。可知,正是“first”这样安排,才实现首周期赋值。

3.Start的事件调用初始化程序

如图8-36所示为事件调用初始化程序。

978-7-111-39745-8-Chapter09-45.jpg

图8-35 首周期赋值程序

978-7-111-39745-8-Chapter09-46.jpg

图8-36 Start事件调用初始化程序

为此,它先要进行任务配置。如图8-36a所示,它配置“System events”中的“start”为激活。而且要调用“p_start”程序。这意味着,只要程序开始运行,将执行程序“p_start”。

如图8-36b所示为“p_start”程序。很简单,就是把十六进制数10、11分别赋值给w3、w4。

需要说明的是,程序初始化不一定都是与程序的多任务组织相联系,这里只是方便并对此做了以上介绍。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈