S7-200SMART案例應(yīng)用之先進先出(FIFO)
2023-02-22 10:17 作者:WangQuan_FuGui | 我要投稿
本文使用軟件:STEP7 Micro/WIN SMART V2.7
硬件:CPU-ST30??
注:程序僅供參考?。。?/span>??
隊列:“先進先出”的數(shù)據(jù)結(jié)構(gòu)
隊列是線性表的一種,在操作數(shù)據(jù)元素時,和棧一樣,有自己的規(guī)則:使用隊列存取數(shù)據(jù)元素時,數(shù)據(jù)元素只能從表的一端進入隊列,另一端出隊列,如圖:

稱進入隊列的一端為“隊尾”;出隊列的一端為“隊頭”。數(shù)據(jù)元素全部由隊尾陸續(xù)進隊列,由隊頭陸續(xù)出隊列。
隊列的先進先出原則
隊列從一端存入數(shù)據(jù),另一端調(diào)取數(shù)據(jù)的原則稱為“先進先出”原則。
(first in first out,簡稱“FIFO”)
上圖中,根據(jù)隊列的先進先出原則,(a1,a2,a3,…,an)中,由于 a1?最先從隊尾進入隊列,所以可以最先從隊頭出隊列,對于 a2?來說,只有 a1?出隊之后,a2?才能出隊。
類似于日常生活中排隊買票,先排隊(入隊列),等自己前面的人逐個買完票,逐個出隊列之后,才輪到你買票。買完之后,你也出隊列。先進入隊列的人先買票并先出隊列(不存在插隊)。
隊列的實現(xiàn)方式
1、添加子程序命名為 First In First Out,在子程序里建立相應(yīng)的變量,如圖:

2、在子程序里寫程序,如圖:

3、在主程序里調(diào)用,F(xiàn)IFO子程序。

4、下載測試:




經(jīng)測試,可實現(xiàn)“先進先出”的功能。
注:程序僅供參考?。?!?
標(biāo)簽: