■ 昌河飛機工業(集團)有限責任公司 (江西景德鎮 333002) 胡 輝
在零件實際加工過程中,受材料變形、環境溫度、設備精度、刀具磨損及加工方法等因素的影響,零件的厚度會出現過厚或過薄的情況,這時需要操作者根據實際加工情況,對該工件的零點在某個方向進行偏置,這樣整個加工程序會整體偏移,使得最終加工結果滿足設計公差要求,FIDIA數控系統將該功能稱之為CQA(原點偏移)。操作者在手動設置CQA過程中,由于疏忽,如果偏置值設置過大,輕則造成工件報廢,重則造成設備撞機。為預防該錯誤發生,本文以FIDIA數控系統為例,介紹了工件零點偏置防錯功能開發方法。
操作者在FIDIA數控系統CQA界面中輸入偏置值,如圖1所示,對于數控系統本身來說,并不具備對該值大小進行判斷的功能,這就需要額外進行功能的開發,對該值進行實時監控,一旦該值大于某個設定值,數控系統會自動彈出提示信息,提示操作者對輸入值進行檢查復核,防止錯誤的發生。

圖1 CQA設定界面
該功能的開發步驟是利用數控系統自帶的PLC循環功能,在PLC主程序中增加一段PLC程序,將CQA系統參數輸入值讀入PLC某個變量,然后將該輸入值與設定值(本文以0.1mm為例,可在PLC程序中根據需要修改)進行比較,如果大于該值,則數控系統自動彈出PLC報警信息。
首先在PLCxxx.DEF文件中,增加一個長實數類型寄存器:.LONG CQAVALUE,一個報警信息號的內存位:.MBIT MPRI001。
在PLCxxx.PLC主程序中,增加以下子程序:
READP “CQA ZP”, CQAVALUE;將CQA在Z軸方向上的偏置值讀入到CQA VALUE變量中
IFLT NEG CQA VALUE ;如果CQA VALUE為負值,則將該值取反
CMP 100L,CQA VALUE ;將0.1與CQA VALUE變量值相減
IFGE JUMP PINI_001A ;如果≥0,則跳轉到PIN_001A程序;<0,則繼續往下執行
ACL MPRI001;讀取MPRI001內存位
IFEQ DBMSG 1;如果該位為0,則顯示定義的第一條PLC信息
BSET MPRI001;將MPRI001置為1
PEND ;程序結束
PINI_001A: ;程序入口PIN_001A
ACL MPRI001;讀取MPRI001內存位
IFEQ PEND ;如果MPRI001為0,則程序結束;為1,則繼續往下執行
BCLR MPRI001;如果為1,將MPRI001內存位清為0
PEND ;程序結束PLC001: .ASCIZ
/ATTENTION:CQA VALUE INCORRECT,PLEASE CHECK!/;PLC文本信息ATTENTION:CQA VALUE INCORRECT,PLEASE CHECK!(CQA值不正確,請檢查!),提示操作者對設定值進行檢查復核,該防錯功能生效。

圖2 PLC報警提示信息
將修改后的PLC程序重新進行編譯,加載到數控系統后進行測試,在CQA界面中,在Z軸方向輸入2mm,大于0.1mm,系統界面立即彈出PLC報警信息,如圖2所示,FP1_001
以上PLC程序例子僅僅是對CQA在Z軸方向上的輸入值進行監控,如果需要對X軸和Y軸方向上的輸入值進行監控,只需對程序進行簡單修改,將READP“CQA ZP”,CQA VALUE程序中的“CQA ZP”修改為“CQA XP”或“CQA YP”即可。在數控設備實際加工操作過程中,有可能由于疏忽,造成工件加工超差或設備損壞,作為數控設備維護人員,可通過開發完善的數控系統或設備功能,從技術層面預防事故的發生,提高設備的利用率。