欢迎光临散文网 会员登陆 & 注册

S7-200SMART案例应用之先进先出(FIFO)

2023-02-22 10:17 作者:WangQuan_FuGui  | 我要投稿

本文使用软件:STEP7 Micro/WIN SMART V2.7

硬件:CPU-ST30  

注:程序仅供参考!!!  

队列:“先进先出”的数据结构

队列是线性表的一种,在操作数据元素时,和栈一样,有自己的规则:使用队列存取数据元素时,数据元素只能从表的一端进入队列,另一端出队列,如图:

队列示意图

称进入队列的一端为“队尾”;出队列的一端为“队头”。数据元素全部由队尾陆续进队列,由队头陆续出队列。

队列的先进先出原则

队列从一端存入数据,另一端调取数据的原则称为“先进先出”原则。

(first in first out,简称“FIFO”)

上图中,根据队列的先进先出原则,(a1,a2,a3,…,an)中,由于 a1 最先从队尾进入队列,所以可以最先从队头出队列,对于 a2 来说,只有 a1 出队之后,a2 才能出队。

类似于日常生活中排队买票,先排队(入队列),等自己前面的人逐个买完票,逐个出队列之后,才轮到你买票。买完之后,你也出队列。先进入队列的人先买票并先出队列(不存在插队)。

队列的实现方式

1、添加子程序命名为 First In First Out,在子程序里建立相应的变量,如图:

变量表

2、在子程序里写程序,如图:

FIFO程序

3、在主程序里调用,FIFO子程序。

调用FIFO子程序

4、下载测试:

图1
图2
图3
图4

经测试,可实现“先进先出”的功能。

注:程序仅供参考!!! 

S7-200SMART案例应用之先进先出(FIFO)的评论 (共 条)

分享到微博请遵守国家法律