电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

在分支电路中怎样使用堆栈操作指令?

2017-03-12 17:54分类:PLC编程入门 阅读:

 

 
    FX系列的MPS (Push)、MRD (Read)和MPP (Pop)指令分别是进栈、读栈和出栈指令,它们用于多分支输出电路(见图3-15)。
    MPS指令用于储存多重输出电路中分支处的逻辑运算结果,以便以后处理从该点引出的有线圈或输出指令的支路时调用该分支处的运算结果。以图3-15为例,3个线圈对应的输出指令都要使用XO和X5的并联电路的“或”运算结果,如果不用堆栈来保存该数据,在执行与第一个线圈串联的X1的触点对应的“AND X1”指令后,前两条指令的运算结果将会丢失。所以在第二条指令之后,应使用进栈指令(MPS)将“或”运算的结果保存在堆栈的栈顶,堆栈中原来的数据依次向下一层推移。
    因为存放在栈顶的数据要多次使用,在执行完第一个线圈对应的OUT指令之后,应使用读栈指令MRD,读取存储在栈顶的电路中分支点处的运算结果,这一操作相当于将X2的触点连接在该点,执行读栈指令后堆栈内的数据不会上移或下移。
 在处理最后一条输出分支电路时,应使用出栈指令MPP。该指令弹出(调用并去掉)存储在栈顶的电路中分支点处的运算结果,堆栈中各层的数据依次向上移动一层,栈顶的数据在送入运算结果寄存器后从栈内消失,X3的触点被连接在该点。
    综上所述,对于图3-15这样的单层分支电路,处理完分支点左边的电路后,应使用进栈指令,保存分支点的运算结果。在处理中间的分支电路时,应使用读栈指令,读取存放在栈顶中的数据。在处理最后一条分支电路时,一定要使用出栈指令,使执行进栈指令之前堆栈中原有的数据(不包括栈底的数据)复原。

上一篇:用指令表对电路块的串、并联编程时应注意什么问题?

下一篇:堆栈为什么要采用先进后出的数据存取方式?

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部