PLC中的堆栈与嵌套是什么?有什么作用?
堆栈和嵌套是在PLC应用程序设计中经常碰到的两个术语。
1、堆栈
堆栈就是货仓,这是数字电子技术中借用的一个名词。具体到PLC来说,堆栈就是在PLC中的一个特定存储区,用来存储某些中间运算结果和存放程序断点及数据。堆栈操作的特点是:先进后出,后进先出。
如图为一具有11个存储单元的堆栈,最下面为栈底,最上面为栈顶。把一个数据
或运算结果送入堆栈,叫进栈或压栈;把运算结果取出叫出栈。进栈时,后来的永远在栈顶,原先栈中的数则依序向下移动一个单元。出栈时,栈顶的数从栈中弹出(不在栈中了)而下面的数则依序向上移动一个单元。这就和家中的米箱类似,先进米箱的米最后吃,最后倒进去的米先吃。进栈和出栈是对堆栈的两种操作,还有一种操作叫读栈。读栈只是读出栈顶的数据,而不会把数据从栈弹出。
上面介绍的是三菱FX2N的有关堆栈知识,在计算机中,堆栈是一个非常重要的概念,他可以帮助我们正确理解许多程序运行的过程
2、嵌套
嵌套就是套中套。例如,在一个大循环中,进入循环后发现其中还有一个小循环要先做,而且每一次大循环都要先做这个小循环,直到大循环做完,这就叫做循环嵌套。再如调用子程序,子程序是一段公共程序,可以在主程序的任何地方进行调用,调用完后又回到主程序继续往下运行。如果一个程序在调用子程序时,子程序在运行中,又去调用另一个子程序,这就叫子程序嵌套。从上面二个例子可以说明,在PLC中,所谓嵌套是指在执行某种功能操作的过程中,再次执行这种类型的功能操作,(当然操作内容已经不同)就叫做这种操作的嵌套。PLC对各种内容的嵌套的层数都有一定的规定。三菱FX2N对主控指令的嵌套应用最多8层,而对子程序调用嵌套最多5层等等。(技成培训原创,未经授权不得转载,违者必究!)
往期优秀文章回顾:
PLC顺序控制,行业大牛的图文案例讲述
举例讲解堆栈与嵌套,非常通俗易懂啦
堆栈和嵌套是在PLC应用程序设计中经常碰到的两个术语。
1、堆栈
堆栈就是货仓,这是数字电子技术中借用的一个名词。具体到PLC来说,堆栈就是在PLC中的一个特定存储区,用来存储某些中间运算结果和存放程序断点及数据。堆栈操作的特点是:先进后出,后进先出。
如图为一具有11个存储单元的堆栈,最下面为栈底,最上面为栈顶。把一个数据
或运算结果送入堆栈,叫进栈或压栈;把运算结果取出叫出栈。进栈时,后来的永远在栈顶,原先栈中的数则依序向下移动一个单元。出栈时,栈顶的数从栈中弹出(不在栈中了)而下面的数则依序向上移动一个单元。这就和家中的米箱类似,先进米箱的米最后吃,最后倒进去的米先吃。进栈和出栈是对堆栈的两种操作,还有一种操作叫读栈。读栈只是读出栈顶的数据,而不会把数据从栈弹出。
上面介绍的是三菱FX2N的有关堆栈知识,在计算机中,堆栈是一个非常重要的概念,他可以帮助我们正确理解许多程序运行的过程
2、嵌套
嵌套就是套中套。例如,在一个大循环中,进入循环后发现其中还有一个小循环要先做,而且每一次大循环都要先做这个小循环,直到大循环做完,这就叫做循环嵌套。再如调用子程序,子程序是一段公共程序,可以在主程序的任何地方进行调用,调用完后又回到主程序继续往下运行。如果一个程序在调用子程序时,子程序在运行中,又去调用另一个子程序,这就叫子程序嵌套。从上面二个例子可以说明,在PLC中,所谓嵌套是指在执行某种功能操作的过程中,再次执行这种类型的功能操作,(当然操作内容已经不同)就叫做这种操作的嵌套。PLC对各种内容的嵌套的层数都有一定的规定。三菱FX2N对主控指令的嵌套应用最多8层,而对子程序调用嵌套最多5层等等。(技成培训原创,未经授权不得转载,违者必究!)
往期优秀文章回顾:
PLC顺序控制,行业大牛的图文案例讲述
相关问答
利用堆栈进行算术逻辑运算的指令?
堆栈的概念(a)是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。(b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈...堆...
逻辑堆栈指令有什么用?
堆栈的概念(a)是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。(b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经...堆栈的...
假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺...
[最佳回答]这是以前做的科学计算的栈以及功能函数,支持小数、多位数、加减乘除、括号运算,会自动判断表达式正误,希望对你有所帮助,当然也包括了括号匹配功能...
刚入门java,有什么网站可以有题让我练习呢?
如果是想找高质量面试题的话不妨看看动力节点官网上面试题也是非常全面新鲜的!Java面试题及答案1、String类可以被继承吗?String类在声明时使用final关键字...
栈和队列数据结构各有什么特点,什么情况下用到栈,什么情况下...
[回答]我想数据结构教科书上肯定很清楚讲这个问题了吧。栈是在LIFO,即先进后出的场合,如程序嵌套返回时候就需要栈中保存的返回地址和信息。队列是FIFO,即...
Linux内核中的GCC特性-OSCHINA-中文开源技术交流社区
在C++、Ada和Java™语言等许多现代编程语言中都可以找到相似的功能。Linu...在复杂的条件结构中,通常依靠嵌套的if语句实现与清单2(见./linux/drivers/s....
jvm元空间与堆和栈的区别?
1内存分配策略1)静态存储:编译时确定每个数据目标在运行时的存储空间需求(代码中无可变数据结构无嵌套递归)。2)栈式存储:数据需求在编译时未知,运行时...1...
编程这条路要怎么走?
谢谢邀请!作为一名从业多年的程序员,目前也在带大数据和机器学习方向的研究生,所以我来回答一下这个问题。首先,编程有两条路可以选择,一条路是走研发级路...
Java从入门到精通有什么好的建议?
Java从入门到精通有什么好的建议?很高兴能为你分享,希望对你能有所帮助。Java编程语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java编程技...
正则表达式不包含怎么写?
不规则嵌套结构的分析最好还是用栈如果已经确定嵌套的结构才可以考虑使用正则先用贪婪取出整体的数据然后对数据规划出相似的结构第一个很简单就不用说...
扫一扫微信交流