發布日期:2022-04-22 點擊率:572 品牌:西門子_Siemens
這幾種程序塊的功能簡要說明如下:
說明:
調用程序塊:OB,FB,FC(可以調用除OB塊外的其它程序塊);
被調用程序塊:FB,FC,SFB,SFC。
1、組織塊OB
OB由系統自動調用,并執行用戶在OB塊中編寫的程序,所以OB的基本作用是調用用戶程序。
在OB塊中編寫程序的最大容量,S7-300是16KB,S7-400是64KB。
除主程序循環OB1外,其它OB均是由事件觸發的中斷。
2、函數FC
函數FC有兩個作用:(1)作為子程序用;(2)作為函數用,函數中通常帶形參。
函數中程序的最大容量,S7-300是16KB,S7-400是64KB。
FC的形參通常也稱為接口區,參數類型分為輸入參數,輸出參數,輸入/輸出參數和臨時數據區。
在編寫函數FC的輸出參數時,應避免沒有直接輸出(否則,可能輸出一個隨機值,影響程序的判斷)。可以在函數的開始,將字輸出參數清0,位輸出參數復位。
3、函數塊FB
FB與FC相比,FB每次調用都必須分配一個背景數據塊,用來存儲接口數據區(TEMP類型除外)和運算的中間數據。其它程序可以直接使用背景數據區中的數據。
FB中程序的最大容量,S7-300是16KB,S7-400是64KB。
FB的接口區比FC多了一個靜態數據區(STAT),用來存儲中間變量。
程序調用FB時,形參不像FC那樣必須賦值,可以通過背景數據塊直接賦值。
由于FB帶有背景數據塊,輸出參數不會輸出隨機值,可以不在FB中編寫初始化程序。
4、數據塊DB
DB用來存儲用戶數據及程序的中間變量,為全局變量。DB的最大容量,S7-300為32KB,S7-400為64KB。
DB可分為共享數據塊(Share DB)、背景數據塊(Instance DB)和用戶自定義數據(UDT)類型的數據塊。
★ 共享數據塊可作為所有程序使用的全局變量,在CPU允許的條件下,一個程序可創建任意多個DB,每個DB的最大容量為64KB。
默認條件下,共享數據塊為掉電保持,在其屬性菜單中選中“Non Retain”可以更改為掉電數據丟失。
如CPU中無足夠的內部存儲空間保存數據,可將指定的數據保存到共享數據塊。存儲在共享數據塊中的數據可被其它任意一個塊調用(全局變量)。這一點和背景數據塊不同,背景數據塊只能被指定的功能塊(FB)使用,保存在背景數據塊中的數據只能在這個功能塊中有效。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV