梁 彤
(太鋼工程技術(shù)有限公司,山西 太原 030009)
PLC是可編程控制器的簡稱,是目前應用最廣泛的基礎自動化裝置,其應用領(lǐng)域覆蓋了過程工業(yè)、制造業(yè)和機電一體化設備,并在不同的應用規(guī)模上都獲得了較好的性能價格比。SIEMENS PLC S7-300/400則更是在中國的冶金行業(yè)得到了廣泛應用,本文結(jié)合自己的編程體會談談2個實例的應用。
很多情況下,尤其是針對一個大的工藝系統(tǒng),編程人員要想清晰自己的邏輯思維,同時方便于以后的生產(chǎn)調(diào)試及維護,首先應簡化程序結(jié)構(gòu),即對生產(chǎn)設備和控制功能加以分類整理。在工業(yè)過程中,按設備類別可分為高壓風機、互為備用自投的低壓風機、水泵、帶予警鈴的輸送機、雙向旋轉(zhuǎn)閥、煙道擋板及各單(雙)動作的氣動閥等;按啟動方式可分為直接啟動、軟啟動、變頻啟動等;按數(shù)據(jù)處理功能的不同分為帶延時報警輸出的模擬量處理、流量累積、設定值公式計算、檢測值N 秒N 次取平均值、檢測值提取最大或最小值等。然后對這些設備和功能分別建立通用的可分配參數(shù)的功能塊(FC、FB)。這些塊的輸入輸出使用形式參數(shù),調(diào)用時則賦予實際參數(shù)。上述兩種功能塊的區(qū)別在于調(diào)用時是否有參數(shù)的傳遞,而其內(nèi)部功能卻沒有變化。如果有一些變量在塊調(diào)用結(jié)束后還需要保持原值,則必須被存儲為靜態(tài)變量,而靜態(tài)變量只能被用于FB塊中,如西門子的PID 調(diào)節(jié)塊FB41,它們擁有自己獨立的背景數(shù)據(jù)塊。其特點是這些塊只需生成一次,只在用戶存儲器中保存一次,卻可以被程序無限次調(diào)用。
以活性炭法煙氣脫硫脫硝工藝為例說明最大值的提取。從安全生產(chǎn)的角度出發(fā),內(nèi)部充滿活性炭的吸附塔的溫度監(jiān)測至關(guān)重要,每座塔沿垂直方向分左右共設置有上、中、下6支熱電偶溫度檢測裝置,每支熱電偶沿水平方向采用了8點檢測模式,即每座塔共計有48個溫度檢測點,當其中有一個點超越溫度上限時,系統(tǒng)停機。為縮減程序的循環(huán)時間,沒有必要對每個溫度檢測點都進行越限判定,同時,在總貌畫面上,為方便操作工監(jiān)控,程序設計了8點溫度最高值篩選的FC標準功能塊,即每座塔只顯示一個最高的溫度點進行越限紅色閃爍報警。當然在吸附塔溫度畫面上,6座吸附塔共計288個溫度點都有獨立體現(xiàn),并且可按30℃一分段由淺至深予以不同的色彩顯示,在熱負荷試車時,非常直觀地反映出了6座吸附塔內(nèi)活性炭的升溫順序及升溫速率。該功能塊的具體建立過程如下。
(1)首先定義臨時變量,提取最大值塊的變量聲明見表1。
(2)用語句表STL編程如下:
表1 提取最大值塊的變量聲明表
(3)調(diào)用該功能塊,賦予如下實際參數(shù):
CALL FC 202
IN1:=DB11.DBD0
IN2:=DB11.DBD4
IN3:=DB11.DBD8
IN4:=DB11.DBD12
IN5:=DB11.DBD16
IN6:=DB11.DBD20
IN7:=DB11.DBD24
IN8:=DB11.DBD28
OUT:=DB18.DBD44
模擬量處理使用語句表編程會使程序短小精干、易于梳理,而如果是開關(guān)量抽取,則使用梯形圖編程會更為直觀,且便于調(diào)試。例如遇到5個相同的機械設備,其中隨機有4個出現(xiàn)故障時全線停車,如果采用梯形圖LAD 則可以作成如圖1所示梯形圖;或者采用故障累加計數(shù),越限輸出的方式進行編程,但是調(diào)試不太直觀。
圖1 梯形圖
冶金行業(yè)原料輸送及配比中,大量用到皮帶輸送機、刮板及振動篩等裝置,此類裝置一般都要求有欠速保護,通常我們建議采用PNP 或NPN 式接近開關(guān),該接線簡單、便宜、便于維護。除振動篩的欠速開關(guān)可能由于頻率太快,其信號需先經(jīng)過計數(shù)轉(zhuǎn)換器轉(zhuǎn)換為低頻脈沖再引入模板外,其他脈沖信號如果設備轉(zhuǎn)速不高則可以全部直接引入數(shù)字輸入模板。為方便生產(chǎn)調(diào)試及今后維護人員進行參數(shù)整定,程序設計了專用的FC打滑判定標準功能塊,即某設備在設定的刷新時間內(nèi),如果其轉(zhuǎn)速小于設定的計數(shù)值,則輸出一個故障信號,停止該設備運行。通過調(diào)用此功能塊,維護人員可以很直接地看出該設備當前的故障整定值,并可以很方便地按工藝設備的要求進行適當?shù)膮?shù)修改。實踐證明,在設備調(diào)試期,該方法非常實用。其功能塊的具體建立過程如下:
(1)首先定義臨時變量。欠速打滑判定塊的變量聲明見表2。
(2)用梯形圖LAD 或語句表STL編程如下:
(3)調(diào)用該功能塊,賦予如下實際參數(shù):
CALL FC 113
IN1:=I26.5
PULSE_No:=3
UNIT_RUN:=I49.1
SELECT_AN:=DB5.DBX60.6
TIMER1:=T1300
TIMER2:=T1301
LOAD_T2:=S5T#5S
TIMER3:=T1302
TIMER4:=T1303
Cn:=C6
IL_STOP:=DB33.DBX0.4
TMPD0:=DB33.DBW100
TEMP1:=DB33.DBX0.0
TEMP2:=DB33.DBX0.1
TEMP3:=DB33.DBX0.2
TEMP4:=DB33.DBX0.3
表2 欠速打滑判定塊的變量聲明表
這段程序的定義即為設備穩(wěn)定運行30s后,如果接線開關(guān)在5s內(nèi)所產(chǎn)生的脈沖數(shù)小于3個,則視設備為打滑欠速,保持10s的控制輸出用于聯(lián)鎖停機。對于不同的設備,調(diào)試人員只需修改#PULSE_No和#LOAD_T2這兩個變量的實際參數(shù)賦值即可。
大多數(shù)常規(guī)用到的控制設備都非常適合于建立標準功能塊,比如類似皮帶輸送機等設備在啟動之前,出于安全考慮,通常都要求在現(xiàn)場先進行響鈴警告,及時提醒員工規(guī)避風險,設定時間后,再行啟動電機,這樣可以將兩個設備的控制打包到一個FC 塊中。綜上所述,建立在FC/FB標準功能塊上的程序框架,可使所編制的程序精干利落、條理清晰、易讀易懂、更易于邏輯錯誤的查找,值得廣大編程人員進行不斷的自行開發(fā)和利用。