8.堆栈指令(MPS/MRD/MPP) 堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列plc中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。 (1)MPS(进栈指令) 将运算结果送入栈存储器的第一段,同时将先前送入的数据依次移到栈的下一段。 (2)MRD(读栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动。 (3)MPP(出栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据从栈中消失,同时将栈中其它数据依次上移。 堆栈指令的使用如图9所示,其中图9a为一层栈,进栈后的信息可无限使用,最后一次使用MPP指令弹出信号;图9b为二层栈,它用了二个栈单元。
图9 堆栈指令的使用 a) 一层栈 b) 二层栈 堆栈指令的使用说明: 1)堆栈指令没有目标元件; 2)MPS和MPP必须配对使用; 3)由于栈存储单元只有11个,所以栈的层次最多11层。 9.逻辑反、空操作与结束指令(INV/NOP/END) (1)INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图10所示,如果X0断开,则Y0为ON,否则Y0为OFF。使用时应注意INV不能象指令表的LD、LDI、LDP、LDF那样与母线连接,也不能象指令表中的OR、ORI、ORP、ORF指令那样单独使用。
图10 反指令的使用 (2)NOP(空操作指令) 不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。 (3)END(结束指令) 表示程序结束。若程序的最后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。 |
电工学习网 ( )
GMT+8, 2023-5-12 22:59