硬件中断组织块
OB40~47用于快速响应信号模块、通信模块和功能模块的信号变化,具有硬件中断功能的上述模块将中断信号传送给到CPU时,将触发硬件中断,S7-300只能用OB40。
1)硬件组态
双击DI/DO模块,在属性对话框设置I0.0上升沿中断,I0.1下降沿中断。如下图所示:
2)编写OB40程序
判断是哪个模块的哪个点产生中断,然后执行相应的操作。
3)禁止和激活硬件中断
OB1程序在I0.2的上升沿调用SFC40激活OB40对应的硬件中断,I0.3的上升沿调用SFC39禁止OB40对应的硬件中断,SFC的MODE为2时,OB_NR为实参的OB的编号,程序如下:
5、延时中断组织块
PLC的普通定时器的工作和扫描工作方式有关,其定时精度较差,需要高精度的延时,应使用延时中断OB,用SFC32启动延时中断,延时时间1~60000ms,精度为1ms,
硬件组态
OB40程序:在I0.0的上升沿出发硬件中断,CPU调用OB40,在OB40中调用SFC32启动延时中断,延时10s,从LD12开始8B临时局部变量是调用OB40的日期时间,用MOVE指令讲起中的后4个字节LD16保存到MD20中。
10s延时时间到,CPU调用SFC32指定的OB20.在OB20中用MOVE保存调用OB20的日期时间的后4个字节,同时将Q4.0置为,并通过PQB4立即输出。
用I0.2将Q4.0复位,在OB1调用SFC34来查询延时中断的状态字,查询结果用MW8保存,其低字节为MB9,OB_NR的实参是延时中断OB的编号。RET_VAL为SFC执行时的错误代码,为0时无错误。
6、异步错误组织块
操作系统可以检测下列错误:不正确的CPU功能、操作系统执行中的错误、用户程序中的错误、I/O中的错误。当检测到一个错误,将启动相应的组织块如下图:
用户可以在组织块中编程,对发生的错误采取相应的措施,以减少或消除错误的影响,若没有生成或下载处理错误相应的组织块,当出现错误时CPU将进入STOP模式,即使下载一个空的OB,CPU也不会进入STOP。
利用系统功能SFC可以屏蔽、延迟或禁止各种OB的启动事件。