西门子的S7-200系列PLC的堆栈指令有什么特点?
上面介绍的是三菱的FX系列PLC的堆栈,西门子S7-200的堆栈结构、堆栈操作和堆栈指令与FX系列PLC的基本上相同,二者的区别如下:
S7-200有1个9位的堆栈,栈顶用来存储逻辑运算的结果,相当于FX系列的运算结果寄存器。第2至第9层用来存储中间运算结果。堆栈中的数据一般按“先进后出”的原则存取。
以执行电路块并联指令OLD的堆栈操作为例,两个电路块的运算结果SO和S1分别存放在堆栈的最上面两层(见图3-18),执行OLD指令时,将两个二进制数SO和S1相“或”,运算结果S2存放在栈顶,因为空出了一位,第3~第9层中的数据依次向上移动一格。
入栈(LPS)指令复制栈顶的值并将其压入堆栈的第2层,栈中原来的数据依次向下一层推移,栈底值被推出丢失。 读栈(LRD)指令将堆栈中第2层的数据复制到栈顶。2~9层的数据不变,但是原栈顶的值消失。
出栈(LPP)指令使栈中各层的数据向上移动一层,第2层的数据成为堆栈新的栈顶值,原来栈顶的数据从栈内消失。
装载堆栈( LDS n)指令复制堆栈内第n层(n=1~8)的值到栈顶
(见图3-19)。栈中原来的数据依次向下一层推移,栈底值被推出丢失,使用这条指令的可能性极少。
下一篇:用户是否能监视堆栈中的数据?
相关推荐