您现在的位置是:首页 > PLC技术 > PLC技术
施耐德Unity Pro的堆栈执行机制
来源:艾特贸易2017-06-04
简介栈 (Stack) 是一种数据结构,由 PLC 中顺序相连的若干个位存储单元组成。它采用后进先出 (Last In First Out) 的数据存取方式。铁路调度站车箱入库和出库就是一种堆栈机制,如图 3-14 所示
栈(Stack)是一种数据结构,由PLC中顺序相连的若干个位存储单元组成。它采用后进先出(Last In First Out)的数据存取方式。铁路调度站车箱入库和出库就是一种堆栈机制,如图3-14所示。 图3-14 堆栈执行机制 栈中的数据都是从栈顶“压入”的,进栈时,栈内原有的数据依次向下移动一层。数据出栈时,栈顶数据“弹出”,出栈后,栈内的原有的数据依次向上移动一层。 堆栈主要用于存放用户程序执行过程中的中间数据。 堆栈执行机制通过下例说明,如图3-15所示。
图3-15 堆栈执行机制示例 上述梯形图对应指令表语句如下所示:
从上述例子中可以看出,指令表语句和汇编语言程序很相似。CPU从上到下按照程序的顺序来解释、执行每一条指令,程序结束后完成一个循环扫描周期,再返回到起始位置重复执行,以实现对整个系统的控制。 梯形图编译器能够自动地插入必要的指令来处理堆栈操作,这些工作是在梯形图程序的编译过程中由系统软件自动完成的。对用户而言,这个过程是透明的。用户只要理解梯形图是一种图形化的编程语言,并且将控制过程与现场工艺对应起来即可,并不需要分析梯形图的编译执行方式。而使用指令表时,用户必须自己插入堆栈操作指令处理堆栈。对于复杂的控制程序,无论使用哪种编程语言,都要注意逻辑堆栈的深度问题。过多的堆栈操作会降低程序的运行速度和执行效率。
点击排行
