(1)函數(shù)(FC)介紹
①函數(shù)(FC)是用戶編寫的程序塊,是不帶存儲器的代碼塊。由于沒有可以存儲塊參數(shù)值的數(shù)據(jù)存儲器,因此,調用函數(shù)時,必須給所有形參分配實參。
②FC里有一個局域變量表和塊參數(shù)。局域變量表里有:Input(輸入參數(shù))、Output(輸出參數(shù))、InOut (輸入/輸出參數(shù))、Temp(臨時數(shù)據(jù))、Return(返回值RET_VAL)。Input(輸入參數(shù))將數(shù)據(jù)傳遞到被調用的塊中進行處理。Output(輸出參數(shù))是將結果傳遞到調用的塊中。InOut(輸入/輸出參數(shù))將數(shù)據(jù)傳遞到被調用的塊中,在被調用的塊中處理數(shù)據(jù)后,再將被調用的塊中發(fā)送的結果存儲在相同的變量中。Temp(臨時數(shù)據(jù))是塊的本地數(shù)據(jù),并且在處理塊時將其存儲在本地數(shù)據(jù)堆棧。關閉并完成處理后,臨時數(shù)據(jù)就變得不再可訪問。Return包含返回值RET_VAL。
(2)函數(shù)(FC)的應用
函數(shù)(FC)類似于VB語言中的子程序,用戶可以將具有相同控制過程的程序編寫在FC中,然后在主程序Main[OB1]中調用。創(chuàng)建函數(shù)的步驟是:先建立一個項目,再在TIA博途軟件項目視圖的項目樹中選中“已經添加的設備”(如:PLC_1)→“程序塊”一“添加新塊”,即可彈出要插入函數(shù)的界面。以下用例1說明函數(shù)(FC)的應用。
【例1】用函數(shù)FC實現(xiàn)電動機的啟??刂啤?/strong>
【解】①新建一個項目,本例為“啟停控制(FC)”。在TIA博途軟件項目視圖的項目樹中,選中并單擊已經添加的設備“PLC_1”-“程序塊”-“添加新塊”,如圖1所示,彈出添加塊界面。
圖1
②如圖2所示,在“添加新塊”界面中,選擇創(chuàng)建塊的類型為“函數(shù)”,再輸入函數(shù)的名稱(本例為啟??刂?/strong>),之后選擇編程語言(本例為LAD),最后單擊“確定”按鈕,彈出函數(shù)的程序編輯器界面。
圖2
③在“程序編輯器”中,輸入如圖3所示的程序,此程序能實現(xiàn)啟??刂?,再保存程序。
圖3
④在TIA 博途軟件項目視圖的項目樹中,雙擊“Main[OB1]”,打開主程序塊“Main[OB1]”,選中新創(chuàng)建的函數(shù)“啟??刂?/strong>(FC1)”,并將其拖拽到程序編輯器中,如圖4所示。至此,項目創(chuàng)建完成。
圖4
【例2】用函數(shù)實現(xiàn)電動機的啟??刂?。
【解】本例的1、2步與例1相同。
③在TIA博途軟件項目視圖的項目樹中,雙擊函數(shù)塊“啟??刂?/strong>(FC1)”,打開函數(shù),彈出“程序編輯器”界面,先選中Input(輸入參數(shù)),新建參數(shù)“Start”和“Stopl”,數(shù)據(jù)類型為“Bool”。再選中InOut (輸入/輸出參數(shù)),新建參數(shù)“Motor”,數(shù)據(jù)類型為“Bool”,如圖5所示。最后在程序段1中輸入程序.
圖5
如圖6所示,注意參數(shù)前都要加“#”。
圖6
④在TIA 博途軟件項目視圖的項目樹中,雙擊“Main[OBI]”,打開主程序塊“Main[OB1]”,選中新創(chuàng)建的函數(shù)“啟??刂?/strong>(FC1)”,并將其拖拽到程序編輯器中,如圖7所示。
圖7
如果將整個項目下載到PLC中,就可以實現(xiàn)“啟??刂啤?。這個程序的函數(shù)“FC1”的調用比較靈活,與例1不同,啟動不只限于I0.0,停止不只限于I0.1,在編寫程序時,可以靈活分配應用。
【例3】某系統(tǒng)采集一路模擬量(溫度),溫度的范圍是0~200℃,要求對溫度值進行數(shù)字濾波,算法是:把最新的三次采樣數(shù)值相加,取平均值,即是最終溫度值。
【解】①數(shù)字濾波的程序是函數(shù)FC1,先創(chuàng)建一個空的函數(shù),打開函數(shù),并創(chuàng)建輸入數(shù)“GatherV”,就是采樣輸入值;創(chuàng)建輸出參數(shù)“ResultV”,就是數(shù)字濾波的結果;創(chuàng)建輸入輸出參數(shù)“LastV”(上一個數(shù)值)、“LastesV”(上上一個數(shù)值)和“EarlyV”(當前數(shù)值)輸入輸出參數(shù)既可以在方框的輸入端,也可以在方框的輸出端,應用比較靈活;創(chuàng)建臨時變量參數(shù)“Templ”,臨時變量參數(shù)既可以在方框的輸入端,也可以在方框的輸出端,應用也比較靈活,如圖8所示。
圖8
②在FC1中,編寫濾波梯形圖程序,如下圖9所示:
圖9
③在Main[OB1]中,編寫梯形圖闖紅燈徐如下10所示:
圖10
審核編輯:劉清
-
存儲器
+關注
關注
38文章
7492瀏覽量
163853 -
PLC控制
+關注
關注
9文章
251瀏覽量
27289 -
SIMATIC
+關注
關注
1文章
231瀏覽量
15759 -
數(shù)據(jù)存儲器
+關注
關注
1文章
69瀏覽量
17781 -
S7-1500
+關注
關注
3文章
300瀏覽量
6409
原文標題:電工知識—SIMATIC S7-1500 函數(shù)(FC)及其應用(2)
文章出處:【微信號:設備原理與維修俱樂部,微信公眾號:設備原理與維修俱樂部】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論