首页 理论教育延时中断组织块(OB20~OB23)

延时中断组织块(OB20~OB23)

【摘要】:S7提供多达4个OB,它们经过一段指定的延时后运行。运用延时中断,用户必须做2件事:必须调用SFC32;必须下载日期时间中断OB到CPU中。延时OB只有在CPU处于运行状态时才运行。一个暖启动或冷启动清除任何延时OB的启动事件。可以运用SFC39到SFC 42取消、延时和再使能延时中断。变量名是OB20的默认名称。

S7提供多达4个OB(OB20到OB23),它们经过一段指定的延时后运行。每一个OB在调用SFC32(SRT_DINT)后启动,延时时间在SFC的参数中设定。在编程SFC32(SRT_DINT)时,需提供OB号、延时时间和一个用户指定的标识符。

当指定的延时到,OB启动。当然,也可以取消还没有启动的延时中断。

1.延时中断OB的运行

当延时时间到(毫秒时间和OB号一起传给SFC32)时,操作系统启动相应的OB。运用延时中断,用户必须做2件事:必须调用SFC32(SRT_DINT);必须下载日期时间中断OB到CPU中。

延时OB只有在CPU处于运行状态时才运行。一个暖启动或冷启动清除任何延时OB的启动事件。如果延时中断还没有启动,可以调用SFC33(CAN_DINT)去取消它的执行。延时时间分辨率为1ms,如果延时时间超出则立即再次启动延时。通过调用SFC34(QRY_DINT)可以查询延时中断的状态。

如果以下事件发生,操作系统调用一个异步OB:

1)如果在调用SFC32(SRT_DINT)时启动的是没有下载到CPU中的OB。

2)如果一个延时中断OB执行未结束,下一个延时中断启动事件发生。可以运用SFC39到SFC 42取消、延时和再使能延时中断。

2.延时中断组织块OB的局部数据

表4-7所示为延时中断OB的临时变量。变量名是OB20的默认名称。

表4-7 延时中断OB的临时变量

978-7-111-38359-8-Chapter04-20.jpg