在欧姆龙中,可以通过SSET(设置栈大小),PUSH(向栈中压入数据)以及FIFO(以队列方式读取数据)来实现这一过程。
首先,通过SSET指令来设置栈大小,欧姆龙的队列需要固定4CH的空间存储栈管理信息,且因为FIFO会保留最后一个数据,为了确保你的程序可以结束掉,所以还需要多申请一个CH的空间用于存放工艺步骤结束标志。因为演示程序使用的是3个通道,那么这里的栈空间申请了8个通道。
勇哥来介绍一下演示程序的执行过程:
在演示程序中,首先我们执行SSET指令创建栈。
然后通过3个按钮分别调用PUSH指令由栈顶压入3个常量&1,&2,&3
接下再调用一次PUSH指令压入表示结束条件的常量0
再通过FIFO指令(先入先出)让栈内数据依次出栈,这条指令我们可以执行4次,把常量&1,&2,&3,&0依次出栈。
出栈数依次做比较指令,最后一个0不符合三条比较指令的任何一条,可以表示程序结束。
和栈有关的指令包括:
SSET 创建栈
PUSH 栈顶压入数据
FIFO 先入先出
LIFO 后入先出
SREAD 栈数据读取
SWRIT 栈数据更新
SINS 栈数据插入
SDEL 栈数据删除
SNUM 栈数据输出
在高级语言中,栈属于数据结构相关的功能,演示程序实现的实际上是按照用户输入的值依次进行分支处理过程。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
其它相关文章:
欧姆龙cp1h常用指令学习(十五)多重互锁指令MILH,MILC
欧姆龙cp1h常用指令学习(四)串口无协议读写指令TXD,RXD

