研选课堂
HOME
研选课堂
正文内容
plc编程的堆栈 PLC中的堆栈与嵌套是什么?有什么作用?
发布时间 : 2025-05-11
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC中的堆栈与嵌套是什么?有什么作用?

堆栈和嵌套是在PLC应用程序设计中经常碰到的两个术语。

1、堆栈

堆栈就是货仓,这是数字电子技术中借用的一个名词。具体到PLC来说,堆栈就是在PLC中的一个特定存储区,用来存储某些中间运算结果和存放程序断点及数据。堆栈操作的特点是:先进后出,后进先出。

如图为一具有11个存储单元的堆栈,最下面为栈底,最上面为栈顶。把一个数据

或运算结果送入堆栈,叫进栈或压栈;把运算结果取出叫出栈。进栈时,后来的永远在栈顶,原先栈中的数则依序向下移动一个单元。出栈时,栈顶的数从栈中弹出(不在栈中了)而下面的数则依序向上移动一个单元。这就和家中的米箱类似,先进米箱的米最后吃,最后倒进去的米先吃。进栈和出栈是对堆栈的两种操作,还有一种操作叫读栈。读栈只是读出栈顶的数据,而不会把数据从栈弹出。

上面介绍的是三菱FX2N的有关堆栈知识,在计算机中,堆栈是一个非常重要的概念,他可以帮助我们正确理解许多程序运行的过程

2、嵌套

嵌套就是套中套。例如,在一个大循环中,进入循环后发现其中还有一个小循环要先做,而且每一次大循环都要先做这个小循环,直到大循环做完,这就叫做循环嵌套。再如调用子程序,子程序是一段公共程序,可以在主程序的任何地方进行调用,调用完后又回到主程序继续往下运行。如果一个程序在调用子程序时,子程序在运行中,又去调用另一个子程序,这就叫子程序嵌套。从上面二个例子可以说明,在PLC中,所谓嵌套是指在执行某种功能操作的过程中,再次执行这种类型的功能操作,(当然操作内容已经不同)就叫做这种操作的嵌套。PLC对各种内容的嵌套的层数都有一定的规定。三菱FX2N对主控指令的嵌套应用最多8层,而对子程序调用嵌套最多5层等等。(技成培训原创,未经授权不得转载,违者必究!)

往期优秀文章回顾:

PLC顺序控制,行业大牛的图文案例讲述

PLC的FX系列的堆栈指令讲解

今天给大家分享的文章是关于PLC-FX系列的堆栈指令问题,具体是怎么样的呢?我们一起往下阅读。

FX2N的共有27条基本逻辑指令,其中包含了有些子系列PLC的20条基本逻辑指令。

堆栈指令(MPS/MRD/MPP)

堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。

(1)MPS(进栈指令) 将运算结果送入栈存储器的第一段,同时将先前送入的数据依次移到栈的下一段。

(2)MRD(读栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动。

(3)MPP(出栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据从栈中消失,同时将栈中其它数据依次上移。

堆栈指令的使用如图1所示,其中图1a为一层栈,进栈后的信息可无限使用,最后一次使用MPP指令弹出信号;图1b为二层栈,它用了二个栈单元。

堆栈指令的使用

(a)一层栈

(b)二层栈

堆栈指令的使用说明:

(1)堆栈指令没有目标元件。

(2) MPS和MPP必须配对使用。

(3)由于栈存储单元只有11个,所以栈的层次最多为11层。

更多三菱自动化文章分享,请点击下方“了解更多”阅读,或者关注小编,回复“进群”,加入三菱PLC技术微信交流群。

相关问答

plc堆栈指令通俗解释?

在讨论PLC(可编程逻辑控制器)的堆栈指令之前,让我们先了解一下堆栈的概念。堆栈是一种数据结构,它遵循"先进后出"(LastInFirstOut,LIFO)的原则。就像.....

plc设置堆栈指令?

1.堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利、在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器...

plc存储区详解?

关于这个问题,PLC存储区是指程序可编程控制器(PLC)中用于存储不同类型数据的区域。PLC存储区的划分可以根据不同PLC的架构和功能而有所不同,但一般包括以下几...

plc进栈指令怎么用?

先把分支处的状态保存在堆栈里,然后执行第一个分支程序,结束了,再从客栈里取出分支处的状态,执行下一个分支程序。如果没有保存堆栈,就要把分支处之前的程序...

plc什么时候用栈指令?

先把分支处的状态保存在堆栈里,然后执行第一个分支程序,结束了,再从客栈里取出分支处的状态,执行下一个分支程序。如果没有保存堆栈,就要把分支处之前的程...

plc的储存器分别存放啥?

PLC的储存器分别用于存放用户程序使用的操作数据,包括程序过程映像的输入和输出、位存储器、定时器、计数器、块堆栈、中断栈、诊断缓冲等区。同时PLC储存器...

谁帮我解释一下DIST和COLL指令?(欧姆龙PLC)?

DIST(080)—单字分配指令:用作单字分配或根据控制字C的内容用于堆栈操作。指令:COLL(081)—数据收集指令:根据控制字C的内容来进行数据收集、一个FIFO...D...

请问300PLC里,什么是变量,还有什么是局部变量?

在回答你的问题之前,有必要对变量声明表有一个基本了解。在STEP7中有两种用来定义符号地址的表格形式:符号表(共享符号)和变量声明表(局域符号),其本质都...

安装好三菱PLC的GXWorks2后无法打开,出现了“存储器或者界...

你是怎么处理的?我也碰到了这样的问题有用(0)回复lingxu999少了一个安装环境包。EnvMEL有用(0)回复renrenrong你有没有挂QQ和其它程序,有些程序运行有...

西门子plc中的OLD是什么意思?

OR(或)载入(OLD)指令采用逻辑OR(或)操作将堆栈第一级和第二级中的数值组合,并将结果载入堆栈顶部。执行OLD后,堆栈深度减1。如下例LDI0.0LDI0....OR(或)载...

 泽美道杨帆  李诗沣个人资料简介 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部