當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > PLC可編程控制器 > 大型PLC可編程控制器
發(fā)布日期:2022-04-22 點(diǎn)擊率:27 品牌:西門(mén)子_Siemens
一、前言 FIFO功能即FirstInputFirstOutput先進(jìn)先出,在很多情況下要用到此功能。以前此技術(shù)主要在計(jì)算機(jī)高級(jí)語(yǔ)言開(kāi)發(fā)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)中應(yīng)用,但隨著PLC技術(shù)的日益突飛猛進(jìn),需要通過(guò)PLC進(jìn)行數(shù)據(jù)傳送、緩存存儲(chǔ)的事件越來(lái)越多,尤其是在數(shù)據(jù)緩存過(guò)程中,對(duì)FIFO功能使用場(chǎng)合越來(lái)越多。西門(mén)子S7-300/400PLC是德國(guó)西門(mén)子公司的中型、大型PLC,也是當(dāng)今世界上工控行業(yè)的主流產(chǎn)品。在SiemensS7系列PLC開(kāi)發(fā)軟件SimaticSTEP7工具中,Siemens公司提供了兩個(gè)專用功能FC84ATT和FC85FIFO,通過(guò)這兩個(gè)FC功能完成對(duì)FIFO功能數(shù)據(jù)的寫(xiě)入和導(dǎo)出,但是每次只能允許一字,也就兩字節(jié)長(zhǎng)的數(shù)據(jù)。為了實(shí)現(xiàn)每次多字節(jié)的FIFO功能,需要用戶自己開(kāi)發(fā)相應(yīng)的功能塊FB來(lái)實(shí)現(xiàn),在本文中就介紹了實(shí)現(xiàn)每次20字節(jié)FIFO功能FB200功能塊的代碼,以及實(shí)際應(yīng)用舉例。 二、SiemensFC84ATT和FC85FIFO功能的介紹 1、FC84ATT 1.1、FC84ATT功能和構(gòu)成介紹 FC84ATT是實(shí)現(xiàn)增加數(shù)據(jù)到FIFO功能的數(shù)據(jù)存儲(chǔ)區(qū)中,通過(guò)每次執(zhí)行此指令實(shí)現(xiàn)把一字的數(shù)據(jù)增加到FIFO功能數(shù)據(jù)存儲(chǔ)區(qū)中,F(xiàn)IFO功能存儲(chǔ)區(qū)中以字為單位,具體組成如下: l存儲(chǔ)區(qū)表中第一字為FIFO存儲(chǔ)區(qū)允許的最大數(shù)據(jù)存儲(chǔ)個(gè)數(shù),即最多可以存儲(chǔ)多少個(gè)字的數(shù)據(jù)。 l存儲(chǔ)區(qū)表中第二字為FIFO存儲(chǔ)區(qū)當(dāng)前已經(jīng)存儲(chǔ)數(shù)據(jù)的個(gè)數(shù),即已經(jīng)存儲(chǔ)了多少個(gè)字的數(shù)據(jù)。 l存儲(chǔ)區(qū)表中從第三字開(kāi)始為FIFO存儲(chǔ)區(qū)實(shí)際存儲(chǔ)的數(shù)據(jù)。 1.2、FC84ATT功能參數(shù)說(shuō)明 通過(guò)SimaticSTEP7進(jìn)行程序開(kāi)發(fā)時(shí),調(diào)用FC84ATT功能,出現(xiàn)如下圖: 從圖2-1中可以看到,F(xiàn)C84ATT共有四個(gè)參數(shù),分別為EN、DATA、TABLE和ENO,在四門(mén)子資料中對(duì)其描述如下表2-1: 1.3、舉例說(shuō)明 如果信號(hào)M100.0的狀態(tài)為1(即被激活),F(xiàn)C84ATT功能被執(zhí)行。在下面的例子中,增加的數(shù)據(jù)寫(xiě)到FIFO表中的第五行,F(xiàn)IFO的容量也就是FIFO表中第二行由4變?yōu)?。如果FC84ATT被執(zhí)行而且沒(méi)有錯(cuò)誤發(fā)生,那么使能輸出ENO置為1,具體如下: 2、FC85FIFO 2.1、FC85FIFO功能和構(gòu)成介紹 FC85FIFO是完成把FIFO表中的數(shù)據(jù)按照先進(jìn)先出原則,依次讀出,以供使用,與FC84ATT配合使用,完成FIFO的寫(xiě)進(jìn)與讀出功能。通過(guò)每次執(zhí)行此指令實(shí)現(xiàn)把一個(gè)字的數(shù)據(jù)從FIFO功能數(shù)據(jù)存儲(chǔ)區(qū)中讀出,F(xiàn)IFO功能存儲(chǔ)區(qū)中以字為單位,具體組成如下: l存儲(chǔ)區(qū)表中第一字為FIFO存儲(chǔ)區(qū)允許的最大數(shù)據(jù)存儲(chǔ)個(gè)數(shù),即最多可以存儲(chǔ)多少個(gè)字的數(shù)據(jù)。 l存儲(chǔ)區(qū)表中第二字為FIFO存儲(chǔ)區(qū)當(dāng)前已經(jīng)存儲(chǔ)數(shù)據(jù)的個(gè)數(shù),即已經(jīng)存儲(chǔ)了多少個(gè)字的數(shù)據(jù)。 l存儲(chǔ)區(qū)表中從第三字開(kāi)始為FIFO存儲(chǔ)區(qū)實(shí)際存儲(chǔ)的數(shù)據(jù),也是FIFO指針?biāo)赶虻臄?shù)據(jù)。 2.2、FC85FIFO功能參數(shù)說(shuō)明 通過(guò)SimaticSTEP7進(jìn)行程序開(kāi)發(fā)時(shí),調(diào)用FC85FIFO功能,出現(xiàn)如下圖: 從圖2-1中可以看到,F(xiàn)C85FIFO共有四個(gè)參數(shù),分別為EN、ENO、TABLE和RET_VAL,在西門(mén)子資料中對(duì)其描述如下表2-2: 2.3、舉例說(shuō)明 如果信號(hào)M100.0的狀態(tài)為1(即被激活),F(xiàn)C85FIFO功能被執(zhí)行。在下面的例子中,從FIFO存儲(chǔ)區(qū)域中讀出的數(shù)據(jù)寫(xiě)到RET_VAL指定的地址中,F(xiàn)IFO的容量也就是FIFO表中第二行由5變?yōu)?。同時(shí)整個(gè)FIFO中存儲(chǔ)的數(shù)據(jù)依次向上移動(dòng)一行。如果FC85FIFO被執(zhí)行而且沒(méi)有錯(cuò)誤發(fā)生,那么使能輸出ENO被置為1。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV
型號(hào):140CPS11420
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):140CPS11420
型號(hào):TWDDRA16RT
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):TWDDRA16RT
型號(hào):VFD220A43A-C
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD220A43A-C
型號(hào):VFD300B43A
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD300B43A
型號(hào):VFD370B43A
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD370B43A
型號(hào):VFD450B43A
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD450B43A