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,用戶只能使用它,不能修改它內部的程序代碼。
- 西門子S7-1200PLC網絡通信基礎 2024-12-27
- PLC VS 運動控制器 2024-12-27
- 西門子s7-200plc中斷指令的用法與步驟ATCH指令 DTCH指令 2024-12-27
- SINAMICS V90在木工旋切機上的應用 2024-12-27
- 全集成過程控制系統BRAUMAT 2024-12-27
- LOGO在新能源電機整流電源控制系統上的應用 2024-12-27
- S7-200 SMART在溫室卷簾電機控制的應用 2024-12-27
- LOGO!在油位雙泵控制系統中的應用 2024-12-27
- G120的ECO功能介紹 2024-12-27
- 如何實現G120驅動參數組DDS的創建和切換 2024-12-27
- S120 Chassis-2優化的降容特性 2024-12-27
- Smart200和G120X的PN通訊-使用SINA_PARA_S讀寫G120X參數 2024-12-27
- SINAMICS S120驅動異步電機電氣保證值 2024-12-27
- 在伺服模式下DCDCCONV使用中如何建立連接VSM10模塊上 2024-12-27
- 在伺服模式下DCDCCONV使用中如何建立連接VSM10模塊 2024-12-27
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595