您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400用户程序使用的块堆栈(B堆栈)

来源:艾特贸易2017-09-21

简介如果一个块的处理因为调用另外一个块,或者被更高优先级的 OB 块中止, CPU 将在块堆栈中存储以下信息: 1) 被中断的块的类型 (OB 、 FB 、 FC 、 SFB 、 SFC) 、编号和返回地址。 2) 从

    如果一个块的处理因为调用另外一个块,或者被更高优先级的OB块中止,CPU将在块堆栈中存储以下信息:

   1)被中断的块的类型(OBFBFCSFBSFC)、编号和返回地址。

   2)DBDI寄存器中获得的块被中断时打开的共享数据块和背景数据块的编号。

   3)局部数据堆栈的指针。

    利用这些数据,可以在中断它的任务处理完后恢复被中断的块的处理。在多重调用时,堆栈可以保存参与嵌套调用的几个块的信息。图4-5中的OB1调用功能FC2FC2的执行被电源故障组织块OB81中断,图中给出了块堆栈中的数据动态变化的情况。

   CPU处于STOP模式时,可以在CPU的模块信息对话框中,查看块堆栈保存的进入STOP模式时没有处理完的块,在块堆栈中,信息按照它们被处理的顺序存储(见图4-5)。

    每个中断优先级对应的块堆栈可以储存的数据的字节数与CPU的型号有关。

块堆栈

    4-5    块堆栈