简单的看下堆栈功能块,我们这里主要讲解自定义算法,系统自带的堆栈LIFO指令并不直观,大家使用起来也不方便,所以这里展示的是自定义FC实现堆栈算法。后进先出(有点像乘坐电梯,出电梯的时候,最后进来的反而是最先出去因为他更靠近出口。)
入栈出栈元素可以是字符串,字节、单字、双字、浮点型,根据项目实际情况修改指针偏移值就好,堆栈操作有些注意事项,堆栈为空的时候不能进行出栈操作。堆栈满的时候不能进行入栈操作。200SMART PLC由于没有数组类型变量,所以我们需要借助指针完成堆栈元素寻址。三菱FX3系列可以借助变址寻址,算法本质是一样的。栈是限定仅在表尾进行插入或删除操作的线性表,表尾端称为栈顶,表头端成为栈底,不含有任何元素的栈称为空栈,栈一般采用数组作为存储结构,200SMART没有数组类型,只能采用指针寻址。
1、堆栈(后进先出)功能框图2、后进先出 栈功能块输入输出引脚定义:
1、push入栈操作
2、pop出栈操作
3、reset复位
4、stackAddress 栈首地址指针
5、stackSize 栈大小
6、item 入栈出栈元素
7、stackPoint 栈指针
8、status栈状态 栈满=8001、栈空=8002 、正常=0<