首页 > 代码库 > 西门子PLC学习笔记二十一-(中断处理二)

西门子PLC学习笔记二十一-(中断处理二)

1.循环中断

循环中断组织块用于按一定时间间隔循环执行中断程序,例如周期性地定时执行某一段程序,间隔时间从STOP切换到RUN模式时开始计算。

循环中断组织块OB30~OB38默认的时间间隔和中断优先级如表所示。CPU318只能使用OB32和OB35,其余的S7-300CPU只能使用OB35。S7-400CPU可以使用的循环中断OB的个数与CPU型号有关。

循环中断组织块的时间间隔、优先级、OB号表如下:

技术分享

示例:在I0.0的上升沿时启动OB35对应的循环中断,在I0.1的上升沿禁止OB35对应的循环中断,在OB35中使用MW2加1。

程序如下图:

1)启用、禁用OB35中断

技术分享

2)OB35完成自加业务

技术分享


2.硬件中断组织块

硬件中断组织块(OB40~OB47)用于快速响应信号模块(SM,即输入/输出模块)、通信处理器(CP)和功能模块(FM)的信号变化。具有中断能力的信号模块将中断信号送到CPU时,或者当功能模块产生一个中断信号时,将触发硬件中断。

CPU318只能使用OB40和OB41,其余的S7-300CPU只能使用OB40,S7-400CPU可以使用的硬件中断OB的个数与CPU型号有关。

例:CPU313C-2DP集成的16点数字量输入I124.0~I125.7可以逐点设置中断特性,通过OB40对应的硬件中断,在I124.0的上升沿将CPU集成的数字量输出Q124.0置位,在I124.1的下降沿江Q124.0复位。此外要求在I0.2的上升沿时激活OB40对应的硬件中断,在I0.3的下降沿禁止OB40对应的硬件中断。

程序如下:

1)设置硬件

技术分享

2)启用、禁用OB40

技术分享

3)OB40获取中断地址,进行业务操作

程序中的OB40_MDL_ADDR代表硬件中断的字节地址,OB40_POINT_ADDR代表硬件中断的位地址

技术分享


注:仿真程序模拟硬件中断,如下图所示

技术分享

技术分享

点击Apply即可完成地址是124.0的硬件中断。

问:在目前该程序中,仿真软件模拟的硬件中断的字节地址一直是07fff,但是模拟的位地址正确,想问一下本程序中是否有哪块儿编写的不正确,请纠正。

程序代码可以在此下载。





西门子PLC学习笔记二十一-(中断处理二)