李卓偉
(太原重工股份有限公司 技術(shù)中心,山西 太原 030024)
編碼器或直線式位移傳感器是工業(yè)自動化生產(chǎn)中必不可少的控制器件。如果所有設備編碼器或直線式位移傳感器都工作正常、程序編寫合理,設備通常并不會出現(xiàn)問題。但工業(yè)生產(chǎn)現(xiàn)場條件惡劣,在高溫、振動、電磁干擾等情況下,編碼器采集數(shù)據(jù)可能出現(xiàn)錯誤信號,嚴重者編碼器本身就由于干擾或壽命到期而損壞。由于此類事件的不可預知性,如果設備程序沒有對傳感器等的校驗程序,繼續(xù)按照錯誤信號執(zhí)行動作,必然會出現(xiàn)誤動作、設備損壞、制品不合格甚至人身傷害等嚴重事故發(fā)生。其解決方法可以通過安裝冗余傳感器或增加其他用來檢測傳感器故障與否的硬件,但勢必又增大了成本,因此必須在成本和有效避免危險之間找到平衡點。本文介紹了一種通過編程來檢測編碼器或直線式位移傳感器故障,以提高設備安全控制的方法。
本文使用西門子step 7編程軟件來描述編碼器校驗程序,其他PLC編程軟件的程序可照此思路編寫相應的程序。Fc2是編碼器校驗塊,這個塊的目的是把編碼器采集回來的ActualPos(實際數(shù))與控制機構(gòu)的最大和最小極限位置數(shù)、1個SwitchCal(極限位置處接近開關)、1個SwitchSv(中間位置處接近開關,此開關可選)位置做比較運算,校驗編碼器是否出現(xiàn)故障。
圖1 編碼器診斷塊
如圖1所示編碼器診斷塊有12個輸入:ActualPos編碼器采集的位置數(shù);MinPos檢測行程最小位置值;MaxPos檢測行程最大位置值;CtrlOn編碼器校驗塊的使能開關;SwitchCal極限位置處接近開關程序地址;MinPosCal極限位置處接近開關位置最小值;MaxPosCal極限位置處接近開關位置最大值;SvOn中間位置處接近開關使能開關;SwitchSv中間位置處接近開關程序地址;MinSwitchSv中間位置處接近開關位置最小值;MaxSwitchSv中間位置處接近開關位置最大值;Window窗口值。3個輸出:Warning警告;Diag診斷;Calibrated校驗結(jié)果;9個臨時變量:SvMaxPosOK;SvMinPosOK;SvMinMax1OK;Sv-MinMax0OK;Min1;Min0;Max0;Max1;RelCal。
為了便于理解程序,校驗程序中每個位置如圖2所示。
圖2 校驗程序位置示意圖
A MaxPos控制機構(gòu)行程最大位置
B MaxPosCal極限位置處接近開關位置最大值
C SwitchCal極限位置處接近開關
D MinPosCal極限位置處接近開關位置最小值
E Max1中間位置處接近開關位置最大值+
FMaxSwitchSv中間位置處接近開關位置最大值
G Max0中間位置處接近開關位置最大值-
H SwitchSv中間位置處接近開關
I Min0中間位置處接近開關位置最小值+
G MinSwitchSv中間位置處接近開關最小位置
K Min1中間位置處接近開關位置最小值-
L MinPos控制機構(gòu)行程最小位置
校驗程序先對其中的一些數(shù)進行處理,分別對MinSwitchSv和MaxSwitchSv分別進行加減運算,本文使用語句表編程語言。程序如下:
判斷選中中間位置處接近開關參與校驗(SvOn)的情況下,Max0小于等于Min0則出現(xiàn)數(shù)字重疊,警告輸出,圖2中是如果“G”小于等于“I”則設置不合適,報警(Warning)需要重新設定值。程序如下:
判斷實際值是否大于等于最小值,如圖2,數(shù)據(jù)是否大于“L”(MinPos),如果是,此項最小值檢測正常(MinPosOK)。程序如下:
再判斷實際值是否小于等于最大值,如圖2,數(shù)據(jù)是否小于“A”(MaxPos),如果是,此項最大值檢測正常(MaxPosOK)。程序如下:
判斷選中中間位置處接近開關(SwitchSv)檢測的情況下,判斷中間位置處接近開關發(fā)訊時數(shù)據(jù)是否正常,中間位置處接近開關發(fā)訊時,編碼器實際數(shù)是否在如圖 2 中,大于“K”(Min1)且小于“E”(Max1),如果是,此項檢測正常(SvMinMax1OK=1)。程序如下:
再次判斷選中中間位置處接近開關(SwitchSv)檢測的情況下,判斷中間位置處接近開關不發(fā)訊時數(shù)據(jù)是否正常。接近開關2不發(fā)訊時,編碼器實際數(shù)是否在如圖2中,數(shù)據(jù)是否在大于“G”(Max0)或者小于“I”(Min0)區(qū)域,如果是,此項檢測正常(SvMin-Max0OK=1)。程序如下:
引入中間變量“RelCal”,看實際值是否在如圖2中,大于“D”(MinPosCal)和小于“B”(MaxPosCal)之間,如果是“RelCal=1”。程序如下:
判斷極限位置處接近開關(SwitchCal)在發(fā)訊時,“RelCal”是否為“1”,即大于“D”(MinPosCal)和小于“B”(MaxPosCal)之間,如果是,正常,如果不是,數(shù)據(jù)有誤,“Diag”為1。程序如下:
判斷在極限位置處接近開關(SwitchCal)在發(fā)訊時,如果“RelCal”為“1”,同時,4 個判斷條件:“Max-PosOK”、“MinPosOK”、“S2MinMax1OK”、“S2MinMax-0OK”都為 1,“Diag”為“0”,校驗塊使能“CtrlOn”為“1”的情況下,輸出校驗正?!癈alibrated”為 1,并且輸出校驗正?!癈alibrated”自保。程序如下:
編寫好校驗程序塊后,設備的每一個編碼器就可以共用此塊校驗了,對應不同的編碼器輸入不同的輸入數(shù)據(jù),并且可以單獨控制是否需要校驗,“CtrlOn”是否為“1”。如果某個編碼器故障,或由于調(diào)試需要不想對某個編碼器校驗,只要在該編碼器校驗程序,如圖1中的“M10.0”處給相應的輸入“1”為校驗,“0”為不校驗。是用一個極限位置接近開關校驗還是用2個接近開關校驗,“SvOn”是否為“1”。如圖1中的“M10.1”處輸入“1”為極限位置接近開關和中間位置接近開關校驗,“0”為只用極限位置接近開關校驗。建議使用2個接近開關校驗,因為中間處接近開關可設置在設備的某危險位置的臨界位置上,一旦檢測到校驗有誤,可馬上停止機構(gòu)“手動”“自動”動作,處理故障,查看是編碼器故障還是接近開關松動,或者是損壞,之后在校驗通過后才能動作,從而把危險降到最低。在把校驗結(jié)果“Calibrated”綁定在每個與此動作相關的機構(gòu)“手動”、“自動”動作條件上時,能大大提高設備的安全穩(wěn)定性。
用編程軟件實現(xiàn)設備安全校驗是一種成本低、易實現(xiàn)、效果好的方法。在筆者對擠壓機自動控制系統(tǒng)若干年的調(diào)試及用戶反饋的設備運行狀況來看,校驗程序經(jīng)受住了時間的考驗,對提高系統(tǒng)的可靠性起到了重要作用。對于其他工業(yè)過程控制中涉及編碼器或是直線式位移傳感器的程序安全控制,都可起到有效校驗作用。
[1] 樓曉春.PLC控制系統(tǒng)外部故障的自診斷設計[J].輕工機械,2008,26(3):67-69.
[2] 康 毅,李正文,吳錦強.對提高PLC系統(tǒng)可靠性的探討[J].測控技術(shù),2004,23(10).
[3]WOLFGANG A.HALANG,BERNDJ.KRAMER.Safety Assurance in Process Control.IEEE SOFTWARE,1994,61-67[J].
[4] 羅雪蓮.PLC控制系統(tǒng)的故障診斷技術(shù)[J].兵工自動化,2004,(3):79-81.
[5] 劉茂銀,梅碧舟.壓力機控制系統(tǒng)中PLC的應用及設計[J].鍛壓裝備與制造技術(shù),2007,42(3):45-47.
[6] 張傳斌,王俊豪.PLC在設備故障檢測與診斷中的應用[J].機械制造與自動化,2006,(5):166-167.
[7] 朱朝寬.機床PLC改造過程中的故障自診斷設計[J].新技術(shù)新工藝,2005,(5):40-41.
[8] 夏燕蘭.PLC在數(shù)控沖床上的應用[J].鍛壓裝備與制造技術(shù),2007,42(5):41-43.