的軟件標準iec 61131-3與s7-300/400的程序結構是比較接近的,可以看得出來iec 61131-3采用了s7-300/400程序結構的基本思想,包括s7-300/400使用的名稱,例如功能和功能塊。兩者的功能(fc)除了輸出參數的個數外,沒有本質的區別。兩者最大的區別在于iec 61131-3根本就沒有數據塊,所以fb也沒有背景數據塊。但是在功能塊實例化(被調用)時,操作系統會給每次調用分配一個單獨的存儲區域,用來保存功能塊的局部變量的值。這個存儲區實際上相當于s7-300/400功能塊的背景數據塊,只是對用戶來說不是透明的,用戶不能訪問它。
個人認為s7-300/400的程序因為數據塊復雜了很多。例如書寫數據塊內的地址要說明數據塊的編號,或者采用opn指令打開數據塊。參數類型pointer和any為數據塊增加了兩個字節。為了減少背景數據塊又搞了個多重背景。當然數據塊也有它的優點,便于管理和監控數據,對于大型系統更是如此。背景數據塊中的數據本來應該是fb的被控對象私有的,允許別的塊訪問,破壞了它的私有性,但是訪問背景數據塊在編程時有時也會帶來方便。










