您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400用户程序使用的块堆栈(B堆栈)
来源:艾特贸易2017-09-21
简介如果一个块的处理因为调用另外一个块,或者被更高优先级的 OB 块中止, CPU 将在块堆栈中存储以下信息: 1) 被中断的块的类型 (OB 、 FB 、 FC 、 SFB 、 SFC) 、编号和返回地址。 2) 从
如果一个块的处理因为调用另外一个块,或者被更高优先级的OB块中止,CPU将在块堆栈中存储以下信息:
1)被中断的块的类型(OB、FB、FC、SFB、SFC)、编号和返回地址。
2)从DB和DI寄存器中获得的块被中断时打开的共享数据块和背景数据块的编号。
3)局部数据堆栈的指针。
利用这些数据,可以在中断它的任务处理完后恢复被中断的块的处理。在多重调用时,堆栈可以保存参与嵌套调用的几个块的信息。图4-5中的OB1调用功能FC2,FC2的执行被电源故障组织块OB81中断,图中给出了块堆栈中的数据动态变化的情况。
CPU处于STOP模式时,可以在CPU的模块信息对话框中,查看块堆栈保存的进入STOP模式时没有处理完的块,在块堆栈中,信息按照它们被处理的顺序存储(见图4-5)。
每个中断优先级对应的块堆栈可以储存的数据的字节数与CPU的型号有关。
图4-5 块堆栈