理论教育 任务启动和待机指令

任务启动和待机指令

时间:2023-06-17 理论教育 版权反馈
【摘要】:从程序中启动周期执行任务或追加任务时,可使用任务启动指令TKON实现;而待机指令TKOF则将任务置于待机状态。其梯形图符号如下:N为任务的序号。在周期执行任务时,其取值范围是0~31(十进制),对应于周期执行任务No.0~31。3)对于任务标志已经置为1的任务而言,执行TKON时无效,视作空操作指令。否则,任务出错标志A295.12将置位,CPU停止运行。图4-119 TKOF指令的使用示例

任务启动和待机指令

从程序中启动周期执行任务或追加任务时,可使用任务启动指令TKON实现;而待机指令TKOF则将任务置于待机状态。

(1)任务启动指令TKON(820)

任务启动指令TKON是使周期执行任务置为可执行状态或将中断任务变为追加任务来执行。其梯形图符号如下:

978-7-111-48236-9-Chapter04-131.jpg

N为任务的序号。在周期执行任务时,其取值范围是0~31(十进制),对应于周期执行任务No.0~31。在追加任务时,其取值范围是8000~8255(十进制),对应于中断任务No.0~255。

TKON的功能是将由N所指定的周期执行任务或追加任务置为可执行状态。当N=0~31(周期执行任务)时,同时将对应的任务标志(TK00~31)置为1。使用TKON置为可执行状态的周期执行任务或追加任务,只要TKOF指令不使之置为待机状态,在下一个周期仍保持为可执行状态,而且TKON可以在任何任务中设定其他任务。

注意:

1)TKON可以在周期执行任务或追加任务中执行,而不能在中断任务中执行。

2)当TKON将比自身任务号小的任务置为可执行状态时,该任务在本周期内不能执行,要到下一个周期方可执行。当TKON将比自身任务号大的任务置为可执行状态时,该任务在本周期内即被执行。

3)对于任务标志已经置为1的任务而言,执行TKON时无效,视作空操作指令。而将自身任务号置为可执行状态时,执行TKON也无效。

4)在一个扫描周期中必须具有一个或一个以上的置为可执行状态的周期执行任务或追加任务。否则,任务出错标志A295.12将置位,CPU停止运行。

TKON指令的使用示例如图4-118所示。

978-7-111-48236-9-Chapter04-132.jpg

图4-118 TKON指令的使用示例(www.daowen.com)

(2)任务待机指令TKOF(821)

任务待机指令TKOF是将周期执行任务或追加任务切换为待机状态。其梯形图符号如下:

978-7-111-48236-9-Chapter04-133.jpg

N为任务的序号。在周期执行任务时,其取值范围是0~31(十进制),对应于周期执行任务No.0~31。在追加任务时,其取值范围是8000~8255(十进制),对应于中断任务No.0~255。

TKOF功能是将由N所指定的周期执行任务或追加任务置为待机状态。N=0~31(周期执行任务)时,同时将对应的任务标志(TK00~31)置为0。所谓待机状态是指在本周期内任务处于不执行状态。使用TKOF置为待机状态的周期执行任务或追加任务,只要TKON指令不使之置为可执行状态,在下一个周期仍保持为待机状态。

注意:

1)TKOF可以在周期执行任务或追加任务中执行,而不能在中断任务中执行。

2)当TKOF将比自身任务号小的任务置为待机状态时,该任务将在下一个周期置为待机状态,而在本周期中仍然处于可执行状态。当TKOF将比自身任务号大的任务置为待机状态时,该任务在本周期内即处于待机状态。

3)若将自身任务置为待机状态,在执行TKOF指令的同时,本任务置为待机状态,即在TKOF之后的指令不被执行。

TKOF指令的使用示例如图4-119所示。

978-7-111-48236-9-Chapter04-134.jpg

图4-119 TKOF指令的使用示例

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

我要反馈