姜列佳
(一汽解放汽車有限公司無錫柴油機廠,江蘇無錫 214000)
現(xiàn)代機械加工已經(jīng)逐步向數(shù)控技術(shù)化轉(zhuǎn)變,尤其是大批量加工,在大批量生產(chǎn)時,對數(shù)控程序的穩(wěn)定性和安全性都提出了更高的要求。
在筆者所在單位,近期某加工中心在正常生產(chǎn)加工中發(fā)生了一起面銑刀撞向工件的碰撞事故,導致面銑刀損壞、工件報廢、設(shè)備精度損傷。該事故發(fā)生時執(zhí)行的是當天日班新調(diào)試成功的刀具試驗程序,距首件調(diào)試成功該程序已重復(fù)執(zhí)行約150次。
而早在2005年某工序加工中心在同樣正常加工時,由于同樣原因?qū)е碌毒咧苯幼矓嘣诒患庸た桌铮ぜ蛔惨苿?6 mm 左右,造成刀具報廢、工件報廢、夾具定位銷被撞斷、精度重校的設(shè)備事故。而當時該事故發(fā)生時執(zhí)行的是早在2004年就編制調(diào)試成功的程序,距首件調(diào)試成功該程序已重復(fù)執(zhí)行了非常多次。
事后分析,兩起事故原因都是由于程序編制時缺少了一個刀長補正(D1),而且發(fā)生事故時程序都經(jīng)過了首件調(diào)試、并驗證加工了較長時間,這種設(shè)備碰撞的潛在隱患必須引起重視。要找出辦法控制在任何條件下,編制程序失補正都不會引起碰撞。
以近期的這起事故為例,對其原因分析,是由于新編制的主程序輸入時,在加工的第一把刀具(T2001)執(zhí)行動作的第一行(N250)中缺少D01刀具補償指令(圖1)。當運行程序至N250~295 任意行時,機床出現(xiàn)報警,而操作人員消除報警并執(zhí)行了“TO HOM_POS”操作,“TO HOM_POS”程序會將主軸當前的刀具補償D1 置為D0;此時再啟動加工程序時,由于程序結(jié)構(gòu)原因,會直接跳轉(zhuǎn)至N235開始運行,此時主軸上的刀具刀補是D0,程序也沒有再次輸入D1 刀補指令,造成機床運動后,主軸上刀具沒有了刀長補正,就會發(fā)生主軸與工件碰撞。
圖1 背景程序
再通過程序分析,看出D1 在程序中處于N250 段中,該段較長且D1 所占字符少,在編制和復(fù)查中的確不容易發(fā)現(xiàn);測試主程序中缺少D1情況下的首件調(diào)試加工,的確無法在調(diào)試中直接發(fā)現(xiàn)問題,該隱患只有在上述的特定情況下才會發(fā)生碰撞。
通過分析,決定側(cè)重于利用編程手段來解決這個問題,在經(jīng)過了前期的討論和準備后,逐一調(diào)試方案試驗。
(1)每次刀具移動前能不能進行D1判斷,分析當前刀具的刀長補正有沒有調(diào)用,能不能避免事故。經(jīng)過查詢系統(tǒng)參數(shù)列表,發(fā)現(xiàn)系統(tǒng)參數(shù)$P_TOOL,可以調(diào)用讀取當前刀長補正值;$P_TOOLNO讀取當前刀具編號,如圖2所示。
圖2 系統(tǒng)參數(shù)含義
進行程序編制,如圖3:在N250 執(zhí)行機床運動前判斷當前調(diào)用的刀補是不是D0,如果是D0,執(zhí)行M0停止。
圖3 方案一程序段
經(jīng)實際調(diào)試,發(fā)現(xiàn)問題:該判斷語句只能判斷N250 前有沒有輸入過D1,并不能分析出下一行(N250)D1有沒有輸入,也就是說即使N250編制時輸入D1 了,在上述特定情況下也會運行M0 導致程序中斷。如果放置在N250段后,在上述特定情況上,運行程序會先撞機床,后執(zhí)行判斷,失去了監(jiān)控意義。
(2)結(jié)論:方案一可實現(xiàn)部分監(jiān)控,實用性較差。
(1)對Z 軸機械坐標進行判斷,計算理論值和實際值進行判斷,如圖4。
圖4 系統(tǒng)參數(shù)含義
進行程序編制,在N250 行后添加判斷語句,如圖5,其中329.8 為G55 坐標系Z 向原點設(shè)定值,R252 為測頭補正值,R41 為刀長理論值。當Z 軸機械坐標值大于設(shè)定值,判斷生效,即執(zhí)行M0停止。
圖5 方案二程序段
實際調(diào)試,發(fā)現(xiàn)問題:由于實際刀長和刀長理論值(R41)存有偏差,而且G55坐標系Z向原點設(shè)定值(329.8)由于調(diào)整需要也會進行改動,測頭補償值(R252)頻繁刷新,均會導致判斷條件生效,誤報警。
(2)結(jié)論:方案二無法實現(xiàn)監(jiān)控。
(1)采用機床坐標系和基本坐標系對比的方式監(jiān)控,如圖6。
圖6 系統(tǒng)參數(shù)含義
進行程序編制,在N250行后添加判斷語句如圖7,其中R41為刀長理論值?;咀鴺讼岛蜋C床坐標系理論差值為當前刀具實際長度,當?shù)毒邔嶋H長度和理論長度差值大于1 時,判斷生效,即執(zhí)行M0停止。
圖7 方案三程序段
實際調(diào)試,發(fā)現(xiàn)問題:測試N250 沒有輸入D1,在上述特定情況下,運行程序會先撞機床,后執(zhí)行判斷。失去了監(jiān)控意義。
(2)結(jié)論:方案三無法實現(xiàn)監(jiān)控。
(1)尋找實現(xiàn)實時監(jiān)控的辦法,也就是說當機床實際運動時進行監(jiān)控。在西門子說明書發(fā)現(xiàn)這個功能,在程序編制上同樣能夠?qū)崿F(xiàn),即利用同步動作。同步動作可以啟動來自目前零件加工程序各種不同的動作,并同步地執(zhí)行它們??梢杂脤崟r(在插補循環(huán)中)評估的條件來定義這些動作的啟動點。故動作是反應(yīng)實時事件,程序段界限并不能限制它們的執(zhí)行。
一個同步動作也包含關(guān)于動作有效性和編程的實時變量被掃描的頻率,以及動作被啟動的頻率數(shù)據(jù)。以此方式,可以就一次或在插補循環(huán)中循環(huán)地觸發(fā)一個動作。動作是指:運行時間為重的應(yīng)用使之最適化(如刀具更換)、快速響應(yīng)一個外部事件、編程AC控制、設(shè)定安全性功能等。
在西門子的說明書中,對于同步動作指令的解釋(圖8)。
進行程序編制,在N245 段后添加同步動作,如圖9,其中329.8 為G55 坐標系Z 向原點設(shè)定值,R252為測頭補正值,R41為刀長理論值,500為N250運行后Z向值。當機床運行N250過程中Z軸機械坐標值大于設(shè)定值,執(zhí)行$AC_OVR=0(所有進給軸停止)、DBO_CYCALARM=0(NC向PLC系統(tǒng)發(fā)出報警),實現(xiàn)機床停止。
圖8 同步運動含義
圖9 方案四程序段
實際調(diào)試:如果N250 沒有輸入D1,在上述特定情況下,機床能及時停止并報警,但長期運行該段發(fā)現(xiàn)問題:實際刀長和刀長理論值存有偏差,而且G55 坐標系Z 向原點設(shè)定值由于調(diào)整需要也會進行改動,導致機床運行N250過程中Z軸機械坐標值經(jīng)常大于設(shè)定值,導致誤報警。
(2)結(jié)論:方案四可實現(xiàn)監(jiān)控,但具體數(shù)值仍需調(diào)整。
(1)通過系統(tǒng)參數(shù)代替固定值,如圖10,$P_UIFR[2,Z,TR]讀取G55 坐標系設(shè)定的Z 向值,$P_TOOLL($P_TOOLNO)讀取當前主軸上刀具輸入的刀長實際值,500 為N250 運行后Z 向值。當機床運行N250過程中Z軸機械坐標值大于設(shè)定值,執(zhí)行$AC_OVR=0 (所有進給軸停止)、DBO_CYCALARM=0(NC 向PLC 系統(tǒng)發(fā)出報警),實現(xiàn)機床停止。
圖10 方案五程序段
實際調(diào)試:實現(xiàn)了有效監(jiān)控,能在上述特定情況下停止運行,但跟綜發(fā)現(xiàn)利用該段僅能對下一行(N250)生效。
(2)結(jié)論:方案五可行性較高,但存在一種可能性,在N250運行后并沒有發(fā)生問題,但在執(zhí)行下一次移動時(比如N260)發(fā)生問題。
(1)利用ID開啟模態(tài)運行,如圖11。
圖11 ID含義
編程調(diào)試,如圖12,在N250 執(zhí)行后,直到CANCEL(11)行之間的整段中,只要Z 軸機械坐標值大于設(shè)定值,就執(zhí)行$AC_OVR=0(所有進給軸停止)、DBO_CYCALARM=0(NC向PLC系統(tǒng)發(fā)出報警),實現(xiàn)機床停止。
實際調(diào)試:實現(xiàn)了有效監(jiān)控,能在上述特定情況下停止運行,持續(xù)跟蹤并多次測試均情況穩(wěn)定,能及時發(fā)現(xiàn)異常。
(2)結(jié)論:方案六實現(xiàn)了有效監(jiān)控,并且是整段監(jiān)控,跟蹤有效,推廣至全線加工中心程序編制,并固態(tài)實施。
圖12 方案五程序段
實施效果跟蹤有效,同步運動的實際改善運用成功,給今后的程序編制添加了很多方便之處。更多操作人員可以利用同步動作,實現(xiàn)很多原來依靠程序無法實現(xiàn)、需要PLC 完成、或者根本沒有手段完成的功能。
同步運動的實際意義在于數(shù)控機床在加工過程中,可以并行處理幾個程序,當條件滿足時觸發(fā)動作,這就需要同步動作功能來實現(xiàn)。同步動作是指當前的零件程序執(zhí)行時觸發(fā)幾個不同的動作并使它們同步執(zhí)行。它可以在零件程序中定義,也可以在上電之后直接從一個由PLC 啟動的異子程序中定義。在每個同步動作中可以編程一個或多個動作。所有在一個程序段中編程的動作以相同的插補節(jié)拍啟動。同步動作的特點是可以不受運動方式的影響,在手動、自動方式下,一直循環(huán)掃描啟動條件一旦成立即執(zhí)行。
同步運動可應(yīng)用范圍廣泛。比如當Z 軸機械坐標大于1 051時,執(zhí)行換刀門開啟動作,節(jié)省換刀時間,可以降低單臺設(shè)備節(jié)拍,如圖13;當主軸功率達到某一定值時,自動降低進給率,提升的刀具耐用度;當更換新刀后,自動該刀具加工完停止,實現(xiàn)在線及時檢測;當夾具在指定位置完成指定動作(夾緊、松開等),實現(xiàn)夾具的自動避讓功能等等。這些應(yīng)用部分已經(jīng)應(yīng)用到目前的設(shè)備上,實施效果良好。
圖13 同步運動的其他應(yīng)用
同步動作語句“ID(S)=n WHEN 條件DO 動作”由多達5 個具有不同任務(wù)的指令單元組成,結(jié)構(gòu)如下。
(1)識別號(ID、IDS)一個同步動作的有效性范圍通過識別號確定。
1)無識別號:為非模態(tài)同步動作,在自動方式運行時生效且僅適用于下一個程序段。
2)ID=n(n=1~255):同步動作在自動方式下模態(tài)激活后續(xù)程序段。
通過CANCEL(n)或者通過編程一個新的具有相同ID號的另一個同步動作取消。
3)IDS=n(n=1~255):靜態(tài)同步動作在所有運行方式模態(tài)有效。它可以在零件程序中定義,也可以在上電之后直接從一個由PLC 啟動的異步子程序中定義。靜態(tài)同步動作與NC中所選擇的運行方式無關(guān),直接運行。
模態(tài)和靜態(tài)有效的同步動作以其ID(S)代碼的順序進行加工,ID(S)編制時一定注意n 編號不要同時執(zhí)行。
程序段方式有效的同步動作(無ID 號)在加工模態(tài)有效的同步動作結(jié)束之后,按照編程的順序進行處理。
(2)關(guān)鍵字:用來確定查詢條件和執(zhí)行相應(yīng)動作的次數(shù)。可以使用的條件有:沒有關(guān)鍵字、WHEN、WHENEVER、FROM、EVERY。
1)沒有關(guān)鍵字:如果沒有關(guān)鍵字,則該條件一直被看作滿足,同步動作在每個插補周期循環(huán)執(zhí)行,動作執(zhí)行不受條件制約。
2)WHEN:在每個插補節(jié)拍中對條件進行查詢,直到該條件被滿足時為止,然后將相應(yīng)的動作準確執(zhí)行一次。一旦動作執(zhí)行一次,條件不再檢查。
3)WHENEVER:條件滿足的每個插補周期循環(huán)執(zhí)行。即在每個插補節(jié)拍中對條件進行查詢,循環(huán)檢查;只要條件被滿足,就在每個插補節(jié)拍中執(zhí)行相應(yīng)的動作。
4)FROM:在每個插補節(jié)拍中對條件進行檢查,直到條件滿足時為止。如果條件滿足一次,只要同步動作有效,該動作在每個插補周期循環(huán)執(zhí)行,也就是說在該條件不再滿足后也如此。
5)EVERY:條件滿足一次,動作執(zhí)行一次。是脈沖沿控制即條件從狀態(tài)FALSE 轉(zhuǎn)換到TRUE,則執(zhí)行一次動作。
(3)條件:實時變量的邏輯量,在插補節(jié)拍中檢查該條件。比如比較實時變量、兩個比較結(jié)果之間的布爾邏輯聯(lián)系、計算實時表達式、時間(距離程序段開始/距離程序段結(jié)束)、測量值,測量結(jié)果等,確定是否應(yīng)該執(zhí)行一個動作。
(4)DO:當滿足條件時,執(zhí)行動作。
(5)動作:當滿足條件時給已開始的動作或者變量賦值,或?qū)⒛硞€程序當作動作調(diào)用等。
總結(jié)全文,可以發(fā)現(xiàn)應(yīng)用同步動作功能可以靈活完成PLC 難以控制的動作。同步動作還具有如下突出優(yōu)點:實時監(jiān)控、實時處理、響應(yīng)速度快、調(diào)整簡單方便、簡化了PLC程序。
當然,要實現(xiàn)防撞監(jiān)控不僅僅是可以利用同步運動,也可以使用設(shè)定加工區(qū)域、設(shè)定極限等方法實現(xiàn)。本文只是從一個方面來解決這個問題,主要目的是用于剖析在日新月異的數(shù)控技術(shù)變化面前,作為數(shù)控操作人員,不能僅僅局限于利用已知的技術(shù)手段進行技術(shù)革新,更要利用現(xiàn)有的資料和能挖掘的手段,積極嘗試,大膽探索,實現(xiàn)改善創(chuàng)新。
[1]SINUMERIK.840D/840Di/810D 工作準備部分[Z].2010.