时间中断组织块
300CPU只能使用OB10,400CPU可以使用OB10~17,可以设置在某一个特定的日期时间产生一次时间中断,也可以设置从设定日期时间开始,周期性的重复产生中断,可以用SFC28~SFC30设置、取消和激活时间中断。
1)、基于硬件组态的时间中断
要求在到达设置的日期和时间时,用Q4.0自动启动某台设备。具体如下:
硬件组态:打开CPU属性中的“时刻中断”选项卡,设置执行启动设备的日期和时间,执行方式为“一次”。
生成OB10,编写OB10程序如下,设置时间到时,将需要启动的设备对应的输出点置为1:
OB1程序:用I0.0将Q4.0复位
2)用SFC控制时间中断
除了在硬件组态功能中设置和激活时间中断外,也可以在用户程序中调用SFC来设置和激活时间中断,
在OB1调用SFC31来查询中断状态,读取的状态用MW16保存。如下图。
在I0.0的上升沿调用SFC28和SFC30分别来设置和激活时间中断OB10。用I0.1调用SFC29来禁止时间中断。各SFC的参数中的RET_VAL是执行时可能出现的错误代码,为0时无错误,OB_NR是组织块编号,SFC28用来设置时间中断,它的参数SDT是开始产生中断的日期和时间。PERIOD用来设置执行方式,w#16#0201表示每分钟产生一次中断。
OB10程序如下:将MW2加1.