劉新祺

摘 要 PLC是一種經常用于自動化編程控制的計算機,常用于汽車制造領域、機械制造領域等領域。其編程部分中故障檢測是必不可少的一部分。為了即時顯示故障信息,PLC需持續檢測故障情況以在故障發生時將將故障信息立即顯示在操作屏上。而傳統檢測方式采用逐個檢測,步驟復雜,對CPU要求也較高,提高了運行成本和設備成本。本文將利用變址寄存器加以循環語句來迭代運算,并用循環語句優化該檢測步驟,將原有的上千步運算步驟減至十余步,同時單次循環時間減少約10%。
【關鍵詞】PLC 故障檢測 優化算法 變址寄存器 循環語句
1 引言
PLC(Programmable logic Controller,簡稱PLC)編程是現代社會機械化生產的重要編程方式,其廣泛應用于各種自動化編程控制。2016年,PLC占有上百億人民幣的市場份額,其編程方式精簡與準確程度直接關系著生產效率與質量。而設備故障檢測步驟則是編程中的重要部分。當設備運行設備出現故障時,需要檢測出故障位置并將故障具體情況顯示在屏幕上。傳統的算法采用逐個檢測排查的方式,占用上千步,耗時近1ms。本文將利用變址寄存器循環語句優化該檢測步驟,在本例中將運算步驟精簡至十余步,耗時減少0.2ms,效率提高約10%。
2 背景
PLC起源于美國汽車制造業的激烈競爭。為了適應生產工藝的變革,一些公司研發出以計算機為基礎的系統,逐步演變為今天的PLC編程。
第一代的PLC只是繼電器控制裝置的替代產品,一直到上世紀70年代初,其僅由一些元器件和中小型集成電路組成,采用的是磁芯存儲器,僅有計數、定時等功能,也只能用于單一控制。后來隨著處理器的不斷變小,于70年代初出現了第二代的PLC。第二代PLC采用的是微處理器和半導體存儲器EPROM,功能逐漸增強,具有數據處理、其診斷、邏輯運算等功能,并且有了計算機接口,其應用面越來越廣,整體趨向標準化、系列化、專用化,占有越來越多的市場份額。第三代PLC出現在80年代中期,其CPU使用16位處理器或多微處理器,使用EPROM、CMOSRAM等半導體處理器,增加了三角函數等新運算方式,梯形圖語句表更加成熟,小型PLC體積更小,成本更低,大型PLC更加多元化、模塊化。歷經第四代PLC的提速后,出現在90年代中期的第五代PLC使用16位或32位微處理器,單步速度高達1ns/步,100%可與計算機通信,具有數值計算、大批量數據處理、函數運算等強大功能。
3 應用環境
不同CPU對程序容納量不同,步數越少則對CPU要求越低,成本也更低,即程序容量大小決定了選用哪款CPU,如少于1×10步,則可以選用最經濟的CPU12或32,如果超過了300000步,就必須選用成本倍增的CPU15或35。
舊的編程方法中將故障檢測內每條線路的檢測分別作為一步,單步簡單的疊加,不斷疊加結果則是耗時極長。這里我們以一個用該方法檢測故障的程序為例。
賦值語句即將故障數據傳遞至顯示屏的步驟,圖1左側的圓圈內為當前所在步驟步數。若上圖中將單個賦值語句刪除,再與圖2對比,可看到如果刪除賦值命令,每一處可節省7758step-7755step=3step。而僅該程序中賦值命令一共500條,總計可以減少1500step。
那么索性將程序中全部的500條賦值命令全刪除,可以發現如下變化:
(1)程序長度減少了1500step,。(16255step-14755step=1500step)
(2)最大循環時間減少了0.2ms。(2.42ms-2.22ms=0.20ms)
由此可見,賦值語句本身在程序中占有較大比重,若改進該部分則將極大地簡化程序。
4 利用變址寄存器計數加以循環語句簡化算法
首先輸入一個M值來規定循環的最大次數,即全部待檢電路的數目。變址寄存器充當了K值的角色。每次從變址寄存器中取一個值,檢查該編號的電路,若有故障則將該電路的編號輸出顯示,否則將K值加一,再進行上述步驟。具體操作方法如圖3。
左側Ⅰ區域為母線,其中左側較小數字為段數,右側較大數字為步驟數。Ⅱ區域為輸入區域,中間圓圈內IRO為變址寄存器,即流程圖中K的載體。W155.06等以W開頭的為邏輯開關,W是否連通間接顯示了該部分是否有故障。右側Ⅲ區域內為輸出內容。小框內FOR語句為循環開始語句,循環語句為FOR一直到下面的NEXT。最下方MOV語句為賦值語句,即輸出故障編號。小圓圈內的D32600為本程序中顯示屏代碼,將故障編碼移入顯示屏即將故障情況顯示出來。
5 改進后的結果
改進前故障排查語段占總時間的8.26%,改進后時間占比縮短至0.45%,縮短了95%;改進前故障排查語段占總步驟的9.23%,改進后步驟占比縮短至0.14%,縮短了98%。無論是時間上還是占據步驟上,改進后的算法均比改進前有了極大幅度的進步。
6 橫向推廣
我們可將這個思路橫向推廣到其他領域,這里以異常計數清零為例,將清零語句置入循環語句中,設定好循環的次數,即可實現僅輸入一個命令就能將所有的寄存器清零,即一鍵清零。
7 總結與展望
本文提出了一種利用變址寄存器加以循環語句的優化算法。這種算法與之前的算法相比,優點在于可以將很多重復進行的語段縮短為幾步,提升程序步驟的利用率,提高了經濟效益。作為自動化控制的重要手段,PLC定會迎來更為輝煌的未來。
參考文獻
[1]廖常初.PLC的發展趨勢[J].電氣時代,2003(12):54-56.
[2]張東明,文友先.PLC的發展歷程及其在生產中的應用[J].現代農業裝備,2007(09):60-64.
[3]劉衛平,王明泉.PLC的發展及應用前景[J].機械管理開發,2009,24(05):78-80.
[4]綦希林,曲非非.PLC的發展[J].微計算機信息:測控儀表自動化,2002(09):1-2.
[5]方原柏.PLC發展的新動向——IEC1131-3編程標準和開放式結構[J].昆明理工大學學報自然科學版,1999(06):102-103.
[6]陳潔.新技術形勢下PLC的發展前景[J]. 機械工程與自動化,2004(04):84-85.
[7]王兆義,陳治川,王生學.PLC發展的幾個特點和國產化[J].自動化博覽,2006,24(S1):12-14.
作者單位
遼寧大連經濟技術開發區第一高級中學 遼寧省大連市 116600