|
前段時(shí)間有個(gè)朋友問(wèn)在S7-1200的PLC中是否有與S7-200PLC中的FIFO和LIFO相同功能的指令,打開(kāi)TIA Portal軟件看了下,發(fā)現(xiàn)并不存在這兩個(gè)指令。所有需要用的時(shí)候,只能自己用其他的指令來(lái)編寫(xiě)者兩個(gè)指令了。 編寫(xiě)之前首先了解下FIFO指令的意思,F(xiàn)IFO指令稱(chēng)為先入先出指令,按照順序把數(shù)據(jù)進(jìn)行壓棧的操作,讀取數(shù)據(jù)的時(shí)候按照壓棧的順序進(jìn)行讀取出來(lái),因此為了可進(jìn)行數(shù)據(jù)的壓棧處理,我們需要建立個(gè)數(shù)組類(lèi)型的變量,然后把需要寫(xiě)入的數(shù)據(jù)按順序分別寫(xiě)入到數(shù)組中的元素里面。 下面就為大家介紹下用SCL如何來(lái)編寫(xiě)一個(gè)FIFO的程序。在這里面主要分為四個(gè)步驟來(lái)完成
1、添加一個(gè)數(shù)據(jù)塊,并在數(shù)據(jù)塊中建立相應(yīng)的變量,特別需要建立一個(gè)數(shù)組數(shù)據(jù)類(lèi)型的變量,用于存儲(chǔ)壓棧的數(shù)據(jù),如下圖所示: 
2、新建一個(gè)FB塊(也可使用FC編寫(xiě),取決于個(gè)人的喜歡),然后在FB塊中建立如下圖所示的接口參數(shù)。
3、FB塊的接口區(qū)建立完成后,開(kāi)始編寫(xiě)程序,首先編寫(xiě)用于數(shù)據(jù)壓棧的程序,程序如下圖所示 
4、編寫(xiě)用于出棧的程序,具體程序見(jiàn)下圖所示: 
5、編寫(xiě)完后,需要在OB1中調(diào)用該FB塊,并對(duì)該FB塊進(jìn)行對(duì)應(yīng)的背景DB的的分配,如下圖所示:
總結(jié):整個(gè)例子中主要對(duì)掌握f(shuō)or循環(huán)指令的使用和如何通過(guò)對(duì)數(shù)組中元素的下標(biāo)值的更改來(lái)實(shí)現(xiàn)對(duì)各個(gè)元素的數(shù)據(jù)的讀寫(xiě)操作。
整個(gè)例子中主要對(duì)掌握f(shuō)or循環(huán)指令的使用和如何通過(guò)對(duì)數(shù)組中元素的下標(biāo)值的更改來(lái)實(shí)現(xiàn)對(duì)各個(gè)元素的數(shù)據(jù)的讀寫(xiě)操作。 來(lái)源:技成培訓(xùn)網(wǎng)原創(chuàng)文章 作者:曾鑫;未經(jīng)許可,盜取必究 !
|