產地類別 | 進口 |
---|
產品簡介
詳細介紹
在S7-200/200 SMART PLC中,子程序是需要被調用才執行的,在S7-1200 PLC中也是一樣的,我們的FB塊或FC塊需要在OB1中調用后才執行,當然FB中也可以調用FC,或者FC中也可以調用FB,這就是嵌套調用。對于S7-1200 PLC,最多可以支持16層的嵌套調用。
FB或FC在使用時,都可以使用帶形式參數與不帶形式參數的FB/FC,帶參數的FB/FC可以實現重復調用,也很方便進行程序的移植。這篇文章就不再重復基礎,我們重點介紹一下帶參數的FB和FC如何建立以及如何使用。
1、函數FC的生成和調用
FC是不含存儲區的代碼塊,主要是用于執行特定的運算,或者是使用位邏輯指令執行的獨立控制,FC可以在程序的不同位置進行多次調用,對于重復發生的任務或動作中利用FC可以實現簡化程序的效果。FC的建立可以建立帶形式參數的FC,也可以建立不帶形式參數的FC。
我們需要知道的是FC是沒有相關的背景數據塊的,沒有可以存儲參數值的寄存器,所以我們在調用函數FC時,必須要給所有形參分配實參哦。
添加函數FC的方法如下:
在項目樹中找到“PLC_1"文件夾,雙擊“添加新塊",然后選擇FC塊,就可以新增一個FC塊了,我們可以對這個塊進行命名,選擇塊中程序的設計語言,以及分配這個塊的編號,當然這個塊編號可以系統自動分配,也可以我們自己手動分配。
我們要建立帶形式參數的FC,還需要在添加的FC塊接口區中建立相應的變量,這些變量我們就稱之為形式參數。
我們在程序接口區定義變量。在FC的接口參數中主要有五種變量,分別是INPUT、OUTPUT、INOUT、TEMP和常量Constant。
如下圖,我們建立好變量并編寫FC內部的程序,最后在OB1中調用這個數據運算的FC塊,我們可以看到在調用時是有分配實參的,是吧?
2、函數塊FB的生成和調用
FB塊跟FC塊相比,不同的地方在于我們在調用函數塊FB時是需要為它分配背景DB塊的,主要用于存儲塊的參數。因為FB在調用時會分配對應的DB塊,所以對于帶形式參數的FB,在調用時可以不對FB上的管腳賦予實參。
添加函數塊FB的方法如下
在項目樹中找到“PLC_1"文件夾,雙擊“添加新塊",然后選擇FB塊,就可以新增一個FB塊了,我們可以對這個塊進行命名,選擇塊中程序的設計語言,以及分配這個塊的編號,當然這個塊編號可以系統自動分配,也可以我們自己手動分配。
我們要建立帶形式參數的FB塊,同樣的需要建立相應的變量,在FB的接口參數中主要有六種變量,分別是INPUT、OUTPUT、INOUT、TEMP、Constant和Static變量,我們可以看到這相對比于FC塊多增了一個靜態變量Static。
對于靜態變量可以用于存儲前一個掃描周期的運算結果,如果前一掃描周期的運算結果,在下次運算還需要使用時,就可以把這個變量建立為靜態變量Static。
下圖是我們創建接口區的變量,然后編寫FB內部的程序,然后在OB1中進行調用,調用時使用單個實例DB的情況。張家界西門子PLC CPU S7-300模塊張家界西門子PLC CPU S7-300模塊