<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    西門子S7-1200PLC的用戶結構:FC與FB塊
    發布時間: 2023-12-13 10:25 更新時間: 2024-12-27 09:10

    FC的特點
    西門子PLC的用戶結構,對于西門子系列PLC而言,S7-1200與S7-300、S7-400、S7-1500的用戶程序結構基本相同,均是由代碼塊和數據塊組成。代碼塊主要分為組織塊、函數(FC)和函數塊(FB),數據塊包括全局數據塊和背景數據塊(統稱為DB)。

    圖片

    FC是函數(function)的意思,與C#、Python等計算機語言類似,相當于一段用戶封裝的程序代碼,可以在程序的其他位置調用,其功能是用戶編寫的子程序,是一段完成特定任務的程序,可以被重復多次調用。

    FC、FB在step7編程軟件中(S7-300和S7-400系列編程軟件)又被稱為功能、功能塊。FB與FC類似。

    下面以PT100溫度變送器為例進行說明,假定該溫度變送器將0-100℃的溫度轉變為0-10 V的電壓,PLC通過模擬量輸入端采集該溫度信號,經A-D轉換后,得到0-27648的整數。式(5-1)是經A-D轉換后的整數T與實際溫度t之間的計算公式:
    T=27648×100(℃) (5-1)
    將上述運算編寫成函數FC,可以在其他程序中重復調用,而不需要重寫編寫。

    圖片

    生成FC
    打開TIA編程軟件,創建新項目“函數與函數塊”,點擊“項目視圖”切換至項目視圖模式,在項目樹中雙擊“添加新設備”,選擇并添加CPU-1214C DC/DC/DC。
    在項目樹中“PLC_1”的“程序塊”目錄中雙擊“添加新塊”,彈出“添加新塊”對話框窗口。

    1、Input(輸入):調用該函數時需要提供的輸入類型參數。
    2、Output(輸出):函數的執行過程中的輸出類型參數。
    3、InOut(輸入/輸出):函數執行時,該參數即是輸入類型,也是輸出類型。(注意2與3的區別,例如自鎖電路中的輸出線圈同時也作為輸入觸點的條件使用,則該參數為InOut參數而非Output參數,也就是說,Output參數不可以作為輸入信號進行使用。)

    圖片

    4、Return(返回值):自動生成的一個“溫度計算”的返回值參數,與函數名稱相同且不可修改,屬于輸出參數,其值返回給調用FC1的塊。該返回值默認數據類型為Void(空)。也就是沒有返回值,在調用FC1時,因為沒有返回值,所以看不到返回值的顯示內容。

    如果將該參數改成Void以外的其他參數,則在調用FC1的塊中會看到方框右側有該參數,表明有具體的返回值輸出。

    5、Temp(臨時局部數據):該數據的功能是,函數運行時用來存儲中間運算結果的,當函數FC(或FB)調用執行完畢后,該臨時數據會被清空,釋放執行時的系統資源。使用臨時局部數據應遵循“先賦值后使用”的原則,在接口區域定義變量時選擇合適的變量類型并予其合理的初值。

    圖片

    6、Constant(常量):在塊中使用并且帶有聲明符號名的常數,注意,因為時常數,所以該變量不可以被重新賦值;例如,定義Constant變量為Real類型,值為3.14,那么在FC、FB中執行時,PI(塊內部的局部變量)的值為3.14,且該值不可在FC、FB的程序中改變。

    FB的特點
    函數塊(FB)與FC類似,也是用戶編寫的子程序,但是該代碼塊擁有自己的存儲區(背景數據塊),而FC是沒有自己的存儲區的,FB的典型應用是執行不能在一個掃描周期結束的操作。

    圖片

    系統每次執行FB(函數塊,也被稱為功能塊)時,都需要指定一個背景數據塊,該背景數據塊在FB調用時自動打開,在FB調用結束時自動關閉。

    FB的接口參數與FC基本相同,區別是FB的輸入、輸出、靜態局部參數(Static)都會被保存在背景數據塊中進行保存,即使FB執行完畢,背景數據塊中的數據也不會丟失。

    生成FB
    打開TIA編程軟件,打開項目“函數與函數塊”,在項目樹中“PLC_1”的“程序塊”目錄中雙擊“添加新塊”,彈出“添加新塊”對話框窗口。

    圖片

    點擊“函數塊”按鈕,FB創建時默認按順序進行編號,此時沒有其他FB,因此會編號為FB1,默認編程語言為LAD(梯形圖)。修改和設置該函數塊名稱為“電動機控制”,點擊“確定”按鈕后,在項目樹中的程序塊目錄下,可以看到新生成的函數塊FB1。

    以兩個電動機的啟停控制為例,每個電動機的具體控制功能需求為:按下啟動按鈕,電動機立即開始轉動;按下停止按鈕后,延時一定時間后自動停止。
    創建FB局部變量
    在這個案例中,由于不止一個電動機,而且每個電動機啟動、停止的條件各不相同,延時停止的時間也不相同,因此,可以在FB1的接口中定義不同的啟動、停止條件和定時器,實現不同的電動機滿足不同的控制條件。

    圖片

    打開FB1,向下拉動分隔條,在接口區域內編輯FB1的局部變量,添加啟動、停止、定時器參數(形參)。

    IEC定時器、計數器本質上還是FB,與普通FB的區別在于,定時器、計數器FB是系統提供的FB,用戶只能使用它,不能修改它內部的程序代碼。


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595