理论教育 多重输出电路指令优化方法

多重输出电路指令优化方法

时间:2023-06-16 理论教育 版权反馈
【摘要】:MPS/MRD/MPP指令为多重输出指令,借用了堆栈的形式处理一些特殊程序,如表3-7所示。这组指令用于多重输出电路,无操作数。图3-8 堆栈示意图下面介绍MPS、MRD、MPP多重输出指令的应用实例。1层堆栈电路实例从图3-9可以看到,X000的状态通过MPS指令被暂存在堆栈,然后在X003和X005前面需要使用时,通过MRD将堆栈状态读出。图3-10 2层栈电路4层栈多重输出电路如图3-11所示为一个4层栈的电路说明。如果图3-11电路改成图3-12所示的梯形图,则编程就不必使用MPS/MPP指令了。

多重输出电路指令优化方法

MPS/MRD/MPP指令为多重输出指令,借用了堆栈的形式处理一些特殊程序,如表3-7所示。

表3-7 MPS/MRD/MPP指令助记符及功能

978-7-111-35634-9-Chapter03-16.jpg

说明:

●MPS:进栈指令,将运算结果(或数据)压入栈存储器

●MRD:读栈指令,将栈的第一层内容读出来。

●MPP:出栈指令,读栈同时将栈第一层的内容弹出来。

这组指令用于多重输出电路,无操作数。在编程时,有时需要将某些触点的中间结果存储起来,那么可以采用这3条指令。如图3-8所示,可以将X004之后的状态暂存起来。对于中间结果的存储,PLC中已提供了栈存储器,FX2N PLC提供了11个栈存储器,当使用MPS指令时,当前的运算结果压入栈的第一层,栈中原来的数据依次向下推一层;当使用MRD指令时,栈内的数据不发生移动,而是将栈的第一层内容读出来;当使用MPP指令时,是将栈第一层的数据读出,同时该数据就从栈中消失,因此,又称出栈或弹栈。编程时,MPS与MPP必须成对出现使用,且连续使用次数应该少于11次。

978-7-111-35634-9-Chapter03-17.jpg

图3-8 堆栈示意图

下面介绍MPS、MRD、MPP多重输出指令的应用实例。

【实例3-6】1层堆栈电路实例

从图3-9可以看到,X000的状态通过MPS指令被暂存在堆栈,然后在X003和X005前面需要使用时,通过MRD将堆栈状态读出。最后在X007使用,堆栈内容不再做保存,采用了MPP指令。(www.daowen.com)

978-7-111-35634-9-Chapter03-18.jpg

图3-9 简单电路(1层栈)

【实例3-7】2层栈多重输出电路

在图3-10中,可以看到X000、X001、X004之后的状态都需要暂存,而且X001、X004被嵌套在X000的内部,形成了2层栈电路,同样X001、X004暂存的状态也先被读出,最后弹出的是X000的状态。

978-7-111-35634-9-Chapter03-19.jpg

图3-10 2层栈电路

【实例3-8】4层栈多重输出电路

如图3-11所示为一个4层栈的电路说明。电路功能虽然并不复杂,但是由于设计不合理,因此,出现了多层栈嵌套的现象,导致程序较长,影响执行效率。如果图3-11电路改成图3-12所示的梯形图,则编程就不必使用MPS/MPP指令了。

978-7-111-35634-9-Chapter03-20.jpg

图3-11 4层栈电路

978-7-111-35634-9-Chapter03-21.jpg

图3-12 4层栈优化电路

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈