氣缸是工業現場使用較多的一種執行器,它使用壓縮空氣作為動力,有兩個進氣孔,通過控制進氣與排氣,推動氣缸往復運動。一些安全系數較高的氣缸還配有抱閘。默認情況下抱閘閉合,氣缸不能運動。在通入壓縮空氣后抱閘打開,氣缸可自由運動。今天這篇文章我們來編寫一個用于控制氣缸往復運動的函數塊——FB5022_Cyclinder,它也可用于液壓缸的類似場合。
函數塊FB5022_Cyclinder有如下一些特點:
支持自動模式和維護(手動)模式。在自動模式下,氣缸會運動某個指定的時間,直到時間到達或者觸發前進/后退到位反饋信號;在維護(手動)模式下,氣缸運動跟隨按鈕信號,按下按鈕運動,松開按鈕停止;
氣缸運動時會使能抱閘松開信號;
當同時觸發前進/后退請求或者前進/后退的到位信號時,會報告錯誤;
下面我們來編寫函數。
打開博途開發環境,新建函數塊FB5022_Cyclinder,添加變量如下圖所示:
其中:
①輸入參數:
release:布爾型, 1=使能函數塊;
reqForward:布爾型 ,在自動模式下請求前進;
reqBackward:布爾型,在自動模式請求后退;
btnForward:布爾型,維護(手動)模式下請求前進;
btnBackward:布爾型,維護(手動)模式下請求后退;
timeForward:時間型,自動模式下前進的最長時間;
timeBackward:時間型,自動模式下后退的最長時;
mainMode:布爾型,1=維護/手動模式;
feedbackForward:布爾型,前進到位反饋信號;
feedbackBackward:布爾型,后退到位反饋信號;
②輸出參數:
forward:布爾型,前進;
backward:布爾型,后退;
brake:布爾型,抱閘輸出控制(1=松開);
error:布爾型,錯誤(1=有錯誤)
③靜態變量和臨時變量:
IEC_Timer_TP_Forward和IEC_Timer_TP_Backward是添加定時器指令時自動生成的多重背景數據塊變量;
其它變量請看圖中解釋;
為了便于閱讀,我將代碼分成了三個區域:自動、維護(手動)和控制,請看下面的圖片:
在OB1中調用該函數塊進行測試,如下圖所示:
審核編輯:劉清
-
西門子
+關注
關注
93文章
3008瀏覽量
115637 -
SCL
+關注
關注
1文章
239瀏覽量
17037
原文標題:西門子SCL編程實例——氣缸控制函數塊
文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論