余勝林
(中國電子科技集團(tuán)公司第三十八研究所,安徽 合肥 230088)
筆者所廠于2010年引進(jìn)首條電鍍自動生產(chǎn)線,主要是為軍工產(chǎn)品的無氰鍍銀新工藝配套。同年年末無氰鍍銀工藝經(jīng)前期項目論證后正式上線,隨著生產(chǎn)量的加大,電流自動控制與軍品品種多、批量小的矛盾日益突顯,且關(guān)系到后續(xù)自動化改造升級的前景。因此筆者通過組建QC(質(zhì)量控制)攻關(guān)團(tuán)隊,查找問題的根源并制訂對策。本文在QC 活動成果的基礎(chǔ)上,主要闡述電流控制故障原因分析及如何通過合理編程來解決PLC(可編程邏輯控制器)硬件上的小BUG(漏洞),希望能為同行解決類似問題提供參考。
該電鍍自動生產(chǎn)線采用西門子公司S7-300 型可編程控制器,安裝了2 套由變頻器驅(qū)動的U 型龍門式吊車和人–機(jī)界面裝置,配備了可進(jìn)行編程控制的新型高頻開關(guān)電源,且采用模塊化程序設(shè)計,從而保證了控制系統(tǒng)的穩(wěn)定可靠,適應(yīng)用戶的不同需要。
無氰鍍銀生產(chǎn)線產(chǎn)量逐漸增大以后,在電流控制方面出現(xiàn)了以下故障:零件入槽后整流器無電流輸出或電流輸出不正確,需要人工干預(yù)。設(shè)備供應(yīng)商的軟件工程師在仔細(xì)檢查軟件后,提出故障可能是由操作失誤造成,隨后在人–機(jī)界面上增加了電流運行更改輸入框(見圖1),發(fā)現(xiàn)電流異常時可在此框中隨即更改。
圖1 人–機(jī)界面局部視圖Figure 1 Partial view of human–machine interface
但類似故障并沒有因設(shè)備操作人員熟練度的提升而降低,甚至有加劇的趨勢,因此初步判定故障產(chǎn)生的原因與設(shè)備操作人員無關(guān)。
工程人員繪制出PLC 控制整流器流程圖(圖2)后,QC 小組成員利用“頭腦風(fēng)暴法”將所有影響因素一一列出,并采取現(xiàn)場觀察、測量和試驗等方法進(jìn)行逐一驗證,找出了4 個影響因素,其中3 個因素與PLC 程序有關(guān),即掛具號自動計數(shù)程序出錯,電流設(shè)定值移庫參數(shù)設(shè)置不當(dāng),以及零件入槽時讀取電流設(shè)定值程序出錯。
圖2 PLC 控制整流器控制流程圖Figure 2 Flow chart of control of PLC rectifier
(1)程序中掛具號自動計數(shù)出錯,如圖3 所示,在工程機(jī)的監(jiān)控畫面上出現(xiàn)相同的掛具號。
圖3 工程機(jī)監(jiān)控截圖Figure 3 Screenshot during monitoring of engineering machine
利用Step7(S7-300/400 的編程軟件)在線監(jiān)視功能監(jiān)視PLC 掛具自動計數(shù)程序段(見圖4)時發(fā)現(xiàn),其中的RLO(邏輯運算結(jié)果)正跳沿指令失效,導(dǎo)致M405.0在數(shù)個掃描周期內(nèi)都是接通的,掛具計數(shù)并沒有循環(huán)遞次增加。
圖4 掛具自動計數(shù)程序段Figure 4 Program segment for automatic counting of racks
圖4 中符號的注釋參見表1,文中未作注釋的符號均為臨時符號,無具體含義。
(2)電流設(shè)定值移庫條件設(shè)置不當(dāng),即程序無法將電流設(shè)定值移到指定DB(數(shù)據(jù)庫)中。利用Step7 在線監(jiān)視功能查看PLC 中數(shù)據(jù)變化時發(fā)現(xiàn),與掛具號對應(yīng)DB 中的數(shù)值發(fā)生變化的同時,與前一掛具號對應(yīng)DB 中的數(shù)值也改變。分析PLC 程序(見圖5)時發(fā)現(xiàn),其與掛具號自動計數(shù)程序的條件相同,采用RLO 正跳沿指令,在M97.0 接通后數(shù)個掃描周期內(nèi)PLC 都進(jìn)行數(shù)據(jù)移庫操作,同時改變了數(shù)個對應(yīng)DB 內(nèi)的數(shù)值,若上一槽零件未到達(dá)指定鍍槽,則零件入槽時就讀取改變后的數(shù)值,這與現(xiàn)場發(fā)現(xiàn)電流設(shè)定值改變時,上一槽的電流值偶爾會改變且與新設(shè)定值相同的現(xiàn)象吻合。
圖5 電流設(shè)定值移庫程序段Figure 5 Program segment for transmission of preset electrical current value from one database to another
(3)零件入槽時讀取電流設(shè)定值程序出錯。在線監(jiān)視程序時發(fā)現(xiàn),行車到達(dá)指定鍍槽后,即使上述DB中有數(shù)據(jù),在存放控制整流器的臨時DB 內(nèi),與整流器對應(yīng)的數(shù)據(jù)始終為零。通過分析發(fā)現(xiàn),鍍件入槽、程序讀取電流設(shè)定值時,PLC 程序(見圖6)中采用了RLO 正跳沿指令,M237.0 接通后數(shù)個同期內(nèi)會發(fā)生讀取電流值動作,且MW200 的值在每個周期內(nèi)都會增加50,導(dǎo)致指針偏離正確DB 地址,無數(shù)可讀,最終表現(xiàn)為電流輸出為零。
從以上3 點可以看出,PLC 內(nèi)RLO 正跳沿指令失效是造成電流控制故障的主要原因。
圖6 讀取電流設(shè)定值程序段Figure 6 Program segment for reading preset electrical current
針對RLO 正跳沿指令失效這一硬件BUG,決定通過編寫單周期響應(yīng)程序來解決。由于掛具號改變條件與設(shè)定值移庫條件相同,因此將電流設(shè)定值移庫程序段移入掛具計數(shù)所在的程序模塊內(nèi),用同一個單周期響應(yīng)程序控制兩個操作,先進(jìn)行掛具計數(shù),然后進(jìn)行電流設(shè)定值移庫,從而保證掛具號循環(huán)遞次增大,電流設(shè)定值移入對應(yīng)的DB 內(nèi),同時將改變后的掛具號直接寫入上下料位對應(yīng)(38 號)工位的數(shù)據(jù)庫中,具體程序見圖7。
在解決零件入槽時讀取電流設(shè)定值程序出錯之時,綜合考慮了控制整流器與讀取電流設(shè)定值是一體的,因此決定設(shè)計一個新程序模塊FC25,統(tǒng)一考慮電流設(shè)定值讀取,電流自動比對、糾錯,以及終點電流清零功能,并通過行車位置信息和吊鉤動作信息共同決定電流設(shè)定值讀取,在整流器運行過程之中進(jìn)行電流值比對和糾錯,在零件出槽時對整流器發(fā)出清零指令,F(xiàn)C25 的工作原理如圖8 所示,改變后的程序見圖9。
圖7 掛具自動計數(shù)與電流設(shè)定值移庫程序段Figure 7 Program segment for automatic counting of racks and transmission of preset electrical current from one database to another
圖8 FC25 程序模塊的流程圖Figure 8 Flow chart of FC25 program module
圖9 修改后的讀取電流設(shè)定值程序段Figure 9 Modified program segment for reading preset electrical current
2年多的實踐證明了QC 小組活動能幫助工程師快速、準(zhǔn)確地找出PLC 應(yīng)用中的問題,從而使問題得以徹底解決。在解決問題的過程中,筆者也獲得了另外一個驚喜,即對自動生產(chǎn)線進(jìn)行改造,使其具有帶電入槽的功能[1]。
[1]余勝林.鋁合金電鍍自動生產(chǎn)線帶電入槽的實現(xiàn)[J].電鍍與涂飾,2012,31 (4):17-19.