fb塊的in參數(shù)里設(shè)置了slot5 里面包含子參數(shù)
劉玉蓉
發(fā)布于2014-10-20 18:01
1
0
標(biāo)簽:
一段用在dp通訊里的程序,在圖一里fb121的in參數(shù)里slot4和slot5是怎么生成的,為什么在圖二里調(diào)用FB121對應(yīng)的slot4和slot5卻是個bool變量,slot4和slot5里的參數(shù)是怎么生成,怎么進(jìn)行數(shù)據(jù)傳遞的?
圖片說明: 1,圖一 2,圖二
佳答案
步驟如下:
1.建立自定義類型例如UDT1:在SIMATIC MANAGER中STEP7項目的BLOCKS右鍵--INSERT NEW OBJECT--DATA TYPE
2.編輯UDT1:雙擊打開UDT1,在其中輸入你想要包含的內(nèi)容(包括BOOL,INT,WORD等絕大多數(shù)STEP7中定義的數(shù)據(jù)類型,甚至可以輸入其他的UDT)
3.創(chuàng)建功能塊FB121,在上方的interface--in一欄輸入變量,例如SLOT4,在DATA TYPE 中輸入UDT1,剛才自定義的內(nèi)容會自動包括在SLOT4中(你可以觀察在接下來輸入的SLOT5,起始地址和SLOT4相差的字節(jié)數(shù)就是你的UDT1中定義的變量占用地址的總和)
4.調(diào)用FB121,因為SLOT4被定義為UDT1類型,因此必須在SLOT4引腳連接一個被定義為UDT1的變量,輸入這個變量后,會自動顯示這個變量的起始地址(也就是初始指針)
為什么要采用UDT類型,這個應(yīng)該是很顯而易見的:清晰,簡潔且尋址不易出錯。
對于許多功能類似僅僅參數(shù)值不同的對象,我們可以把這個對象的所有屬性(對應(yīng)于UDT1中輸入的不同類型的變量)綜合到一起定義一個UDT,然后在程序中只要建立不同的變量,但屬性都是UDT1,這樣就可以輕易的輸入及訪問不同對象的不同屬性(例如你程序中的SLOT4.LADDR,SLOT5.CONSIST等)