諶鵬
(南京信息職業(yè)技術(shù)學(xué)院,江蘇南京 210046)
隨著數(shù)控機(jī)床在機(jī)械加工行業(yè)中的廣泛應(yīng)用,數(shù)控編程技術(shù)與機(jī)床操作已越來越受到重視,特別是如何將計(jì)算機(jī)輔助設(shè)計(jì)及制造(CAD/CAM)軟件與數(shù)控加工操作有機(jī)結(jié)合已成為工程技術(shù)人員研究的重點(diǎn)。對(duì)于現(xiàn)有的CAD/CAM軟件,為方便尺寸計(jì)算在零件設(shè)計(jì)過程一般按照?qǐng)D樣中的理論尺寸進(jìn)行而不考慮尺寸的公差,因此在CAM設(shè)計(jì)過程中所生成的NC程序只能通過刀具補(bǔ)償指令配合機(jī)床數(shù)控系統(tǒng)中磨損量參數(shù)的設(shè)置來實(shí)現(xiàn)對(duì)零件尺寸公差的控制[1]。磨損量主要根據(jù)零件粗、精加工工藝要求結(jié)合零件的尺寸公差與數(shù)控加工中的測(cè)量尺寸通過計(jì)算來完成,其計(jì)算過程可以依照公式使用普通計(jì)算器或使用專業(yè)計(jì)算軟件實(shí)現(xiàn)。隨著手機(jī)應(yīng)用的普及,特別是智能手機(jī)其依靠強(qiáng)大操作系統(tǒng)的支持,可以想象如果能夠在手機(jī)上完成磨損量的計(jì)算,尤其是在沒有PC機(jī)的數(shù)控加工車間,那么這將會(huì)給數(shù)控機(jī)床操作人員帶來極大的便利。
本文以基于Windows Mobile操作系統(tǒng)的智能手機(jī)為研究對(duì)象,介紹了軟件的開發(fā)環(huán)境,討論了軟件的設(shè)計(jì)方法和操作流程。
該磨損量計(jì)算軟件使用了微軟公司的Visual Studio 2008完成設(shè)計(jì),由于智能手機(jī)上的應(yīng)用程序并不能直接在PC機(jī)上運(yùn)行,而必須依靠Visual Studio附帶的智能設(shè)備模擬器來完成,因此早期版本的編程軟件如Visual C++6.0并不能完成智能設(shè)備程序的設(shè)計(jì)[2]。同時(shí)當(dāng)今市場(chǎng)上的Windows Mobile智能手機(jī)一般已普遍使用6.1版本的操作系統(tǒng),為了支持該操作系統(tǒng),同時(shí)方便程序的設(shè)計(jì)和調(diào)試,故推薦使用 Visual Studio 2008完成軟件的設(shè)計(jì)。
由于Visual Studio 2008默認(rèn)支持Windows Mobile 5.0操作系統(tǒng)下應(yīng)用程序的開發(fā),因此開發(fā)支持6.1版本操作系統(tǒng)的應(yīng)用程序還必須獨(dú)立安裝Windows Mobile 6 SDK(software development kit),該程序可以直接從微軟公司的網(wǎng)站下載。同時(shí)為了支持應(yīng)用程序中數(shù)據(jù)的輸入和命令按鈕的操作,應(yīng)采用具有觸摸屏功能的智能手機(jī),因此該SDK程序必須選擇Professional版本,而非Standard版本(支持非觸摸屏設(shè)備)。
在完成智能設(shè)備程序的設(shè)計(jì)之后,可以在PC機(jī)上先對(duì)程序進(jìn)行仿真調(diào)試,以發(fā)現(xiàn)存在的問題,此時(shí)必須通過智能設(shè)備的模擬器程序來完成,該模擬器程序稱為Images。由于Visual Studio 2008自帶支持Windows Mobile 5.0操作系統(tǒng)的模擬器,因此為實(shí)現(xiàn)對(duì)6.1版本操作系統(tǒng)的模擬還必須獨(dú)立安裝Windows Mobile 6 Images,且必須選擇支持中文簡(jiǎn)體(CHS)的Professional版本。
該磨損量計(jì)算軟件采用VISUAL BASIC語言編寫,智能設(shè)備所采用的分辨率選擇為240×320,編程中使用的主要控件為:Label,TextBox,Button,CheckBox 和 RadioButton[3]。Label控件的功能為顯示磨損量計(jì)算所需各參數(shù)的說明文本;TextBox控件的功能為提供各參數(shù)的手寫或軟鍵盤輸入和輸出顯示;Button控件的功能為實(shí)現(xiàn)各參數(shù)的觸摸遞增或遞減;CheckBox控件的功能為提供外形特殊測(cè)量方式的復(fù)選;RadioButton控件的功能為提供外形或深度磨損量計(jì)算的選擇。下面對(duì)該軟件各功能的關(guān)鍵設(shè)計(jì)方法做出介紹,其在模擬器下的運(yùn)行界面如圖1所示。
圖1 磨損量計(jì)算軟件運(yùn)行界面
由于智能設(shè)備的顯示屏幕大小有限,一般不具有鼠標(biāo)和鍵盤功能,因此其屏幕的操作與PC機(jī)不同,數(shù)據(jù)的輸入可采用觸摸按鈕、手寫識(shí)別或軟鍵盤完成。為了方便用戶的操作,軟件中除“測(cè)量尺寸”參數(shù)采用操作系統(tǒng)自帶的輸入法輸入以外其他參數(shù)均采用了觸摸按鈕來完成參數(shù)的遞增和遞減操作,方法操作簡(jiǎn)便,可避免輸入法的頻繁切換和非法數(shù)據(jù)或字符的輸入。
觸摸按鈕的設(shè)計(jì)充分考慮了用戶使用的方便,當(dāng)用戶點(diǎn)擊觸摸按鈕時(shí)對(duì)應(yīng)參數(shù)可實(shí)現(xiàn)最小單位的單次遞增或遞減,而當(dāng)用戶長(zhǎng)按按鈕超過半秒鐘后對(duì)應(yīng)參數(shù)則實(shí)現(xiàn)自動(dòng)連續(xù)遞增或遞減。以上功能需通過設(shè)計(jì)一個(gè)延時(shí)函數(shù)來實(shí)現(xiàn),函數(shù)中需使用一個(gè)時(shí)長(zhǎng)為500 ms的定時(shí)器控件,通過延時(shí)判定按鈕是被點(diǎn)擊還是長(zhǎng)按,從而實(shí)現(xiàn)參數(shù)的單次操作或連續(xù)操作。同時(shí)在設(shè)計(jì)該項(xiàng)功能時(shí)還應(yīng)注意參數(shù)的遞增或遞減不能超過其上限或下限,否則參數(shù)為無效且會(huì)造成運(yùn)算的出錯(cuò),因此必須在代碼中進(jìn)行判定,當(dāng)參數(shù)值已到達(dá)其上限或下限時(shí)則不能再進(jìn)行遞增或遞減運(yùn)算,以“尺寸公差”中基本尺寸參數(shù)的自動(dòng)連續(xù)遞減操作為例其關(guān)鍵程序代碼如下:
以上程序代碼中,判定允許自動(dòng)連續(xù)遞減操作的條件為當(dāng)前參數(shù)值>0.1(最小基本尺寸)、當(dāng)前按鈕已按下(布爾型變量flag_b3)和定時(shí)器延時(shí)時(shí)間到布爾型變量flag_timer均為真,常數(shù)0.1為遞減的最小單位,Application.DoEvents語句為確保當(dāng)前程序運(yùn)行時(shí)窗口也能對(duì)其他控件的事件做出響應(yīng)。
由于“測(cè)量尺寸”參數(shù)的位數(shù)較多,采用觸摸按鈕對(duì)其操作并不方便,故直接使用操作系統(tǒng)自帶輸入法中的手寫方式或軟鍵盤完成參數(shù)的輸入,但操作時(shí)可能會(huì)因?yàn)橛脩舻恼`操作而輸入如字母、標(biāo)點(diǎn)符號(hào)或負(fù)數(shù)等非法字符,同時(shí)“尺寸公差”參數(shù)中的上偏差必須大于下偏差,因此必須對(duì)以上輸入結(jié)果進(jìn)行正確性驗(yàn)證,以防止程序的崩潰。此處是通過“計(jì)算”按鈕Click事件中的驗(yàn)證環(huán)節(jié)來進(jìn)行的,以“測(cè)量尺寸”參數(shù)為例其驗(yàn)證過程的程序代碼如下:
以上程序代碼中首先對(duì)輸入文本框中的數(shù)據(jù)是否為正數(shù)進(jìn)行判定,如果為負(fù)數(shù)或零則顯示警告并將文本框中的數(shù)據(jù)恢復(fù)為初始值,同時(shí)為出錯(cuò)標(biāo)志變量(flag_error)覆值。在完成以上功能時(shí)由于引入了Try...Catch結(jié)構(gòu),因此當(dāng)輸入的數(shù)據(jù)為非法字符時(shí)可由該結(jié)構(gòu)捕獲運(yùn)行時(shí)的錯(cuò)誤,從而避免整個(gè)程序的崩潰,且顯示警告并將文本框中的數(shù)據(jù)恢復(fù)為初始值,同時(shí)也會(huì)為出錯(cuò)標(biāo)志變量(flag_error)覆值。當(dāng)最后進(jìn)入磨損量計(jì)算環(huán)節(jié)時(shí),如出錯(cuò)標(biāo)志變量為真,則不會(huì)執(zhí)行計(jì)算過程。
磨損量的計(jì)算一般是在零件粗加工完成后進(jìn)行的,此時(shí)可測(cè)出當(dāng)前零件的外形尺寸和深度尺寸,并通過與零件的公差尺寸進(jìn)行比較,獲得最終的磨損值,該磨損值包含了對(duì)零件精加工余量、尺寸公差及刀具磨損量的補(bǔ)償[4]。其具體公式可寫為:
D(磨損)=原有D(磨損)+(外形基本尺寸+外形上下偏差平均值-外形測(cè)量值)/2
H(磨損)=原有H(磨損)+(深度測(cè)量值-深度基本尺寸-深度上下偏差平均值)
上式中D(磨損)和H(磨損)分別代表了外形磨損量和深度磨損量,其最終將配合數(shù)控加工程序中的刀具半徑補(bǔ)償和長(zhǎng)度補(bǔ)償命令對(duì)零件的加工尺寸做出調(diào)整,以滿足零件尺寸公差的要求。D(磨損)計(jì)算公式中的“除以2”是因?yàn)橥庑螠y(cè)量尺寸為雙邊值,而刀具半徑的補(bǔ)償則是單邊補(bǔ)償,如果遇到測(cè)量結(jié)果已經(jīng)是單邊值的情況則不能“除以2”。
軟件通過RadioButton控件來選擇計(jì)算的為外形磨損量或深度磨損量,并通過CheckBox控件來選擇外形測(cè)量尺寸是否為單邊值,同時(shí)還應(yīng)利用格式化函數(shù)Format()將計(jì)算好的磨損量保留其小數(shù)點(diǎn)后三位,最終在文本框中顯示給用戶。
完成軟件的設(shè)計(jì)之后可利用Visual Studio中的模擬器程序?qū)浖恼_性進(jìn)行仿真,該過程是在PC機(jī)上完成的,待測(cè)試無誤后則應(yīng)生成軟件的安裝文件(CAB文檔)供智能設(shè)備安裝。如果待安裝智能設(shè)備的屏幕不是240×320分辨率格式,則可以通過修改設(shè)計(jì)主頁面Form的FormFactor屬性以支持新的分辨率格式,例如選擇Windows Mobile 6 Professional VGA選項(xiàng)可支持480×640的分辨率格式,最后應(yīng)通過重新生成安裝文件對(duì)修改后的設(shè)置更新。
智能設(shè)備上運(yùn)行的程序必須依靠微軟公司開發(fā)的.NET Compact Framework程序支持,該程序?yàn)楣舱Z言運(yùn)行庫和類庫,其最新版本為3.5版,可以從微軟公司的網(wǎng)站下載并安裝至智能設(shè)備。
將智能設(shè)備與PC機(jī)通過USB電纜線連接,將磨損量計(jì)算軟件的安裝文件復(fù)制至智能設(shè)備的存儲(chǔ)卡后斷開智能設(shè)備與PC機(jī)的連接。啟動(dòng)智能設(shè)備的資源管理器,找到存儲(chǔ)卡上復(fù)制的文件,點(diǎn)擊該文件即可開始安裝,安裝時(shí)可以選擇安裝至系統(tǒng)內(nèi)存或存儲(chǔ)卡上,安裝后的文件為可執(zhí)行程序(.exe文件)。
在智能設(shè)備上選擇“開始”菜單并選擇“程序”按鈕,選擇軟件的快捷方式即可啟動(dòng)磨損量計(jì)算軟件。首先通過觸摸按鈕或手寫方式輸入給定參數(shù),然后選擇磨損量類型為外形或深度及外形尺寸測(cè)量是否為單邊方式,最后點(diǎn)擊計(jì)算按鈕,此時(shí)磨損量計(jì)算結(jié)果便顯示于文本框中,需要退出軟件時(shí)點(diǎn)擊屏幕右上角的“×”號(hào)圖標(biāo)即可。
下面以圖2中的外形結(jié)構(gòu)為例說明其加工過程與磨損量的計(jì)算方法。
1)根據(jù)數(shù)控加工程序中所使用的刀補(bǔ)號(hào)設(shè)置數(shù)控系統(tǒng)中對(duì)應(yīng)刀補(bǔ)號(hào)的磨損量(此處為0.3),該值將作為其外形方向的精加工余量(原有磨損量);
2)選擇數(shù)控系統(tǒng)中的粗加工程序,啟動(dòng)機(jī)床并完成零件的粗加工;
3)測(cè)量零件的外形尺寸(假設(shè)為50.31),并將測(cè)量值輸入至該磨損量計(jì)算軟件中,同時(shí)輸入軟件運(yùn)算所需要的外形尺寸公差(50-0.02-0.06)與原有磨損量(0.3),并選擇磨損量類型為“外形”。由于測(cè)量外形尺寸時(shí)將使用外徑千分尺測(cè)量零件的左右兩端,因此“外形單邊測(cè)量”選項(xiàng)不選,最后點(diǎn)擊“計(jì)算”按鈕,此時(shí)磨損量計(jì)算結(jié)果(0.125)便顯示于文本框中,如圖2所示。
圖2 待加工外形零件
4)將計(jì)算后的當(dāng)前磨損量值輸入數(shù)控系統(tǒng)中覆蓋原有的磨損量后,即可選擇精加工程序進(jìn)行外形結(jié)構(gòu)的精加工;
5)待精加工完成后可測(cè)量零件的最終尺寸,并確認(rèn)尺寸是否合格。
通過以上磨損量計(jì)算軟件配合機(jī)床的數(shù)控加工可方便操作人員迅速而正確地完成零件的加工制造,免去了傳統(tǒng)方法中需要紙、筆并配合計(jì)算器完成磨損量計(jì)算的煩惱,同時(shí)也避免了傳統(tǒng)方法容易計(jì)算出錯(cuò)而造成加工產(chǎn)品的報(bào)廢,提高了數(shù)控加工過程的準(zhǔn)確性與效率。
在介紹PC機(jī)上開發(fā)智能設(shè)備應(yīng)用程序的開發(fā)環(huán)境基礎(chǔ)上,利用Visual Studio 2008軟件編寫了運(yùn)行于Windows Mobile智能手機(jī)上的磨損量計(jì)算軟件,實(shí)現(xiàn)了磨損量的便捷計(jì)算。該軟件在多普達(dá)TOUCH HD型號(hào)智能手機(jī)上經(jīng)過測(cè)試,運(yùn)行正常。同時(shí)依靠Windows Mobile 6 SDK軟件的支持,該磨損量計(jì)算軟件還可以支持不同屏幕分辨率格式的智能設(shè)備,這大大提高了該軟件的通用性。
[1]劉玉生,吳昭同.基于特征的層次式公差信息表示模型及其實(shí)現(xiàn)[J].機(jī)械工程學(xué)報(bào),2003(3):1-7.
[2]傅曦,齊宇,徐駿.Windows Mobile手機(jī)應(yīng)用開發(fā)[M].北京:人民郵電出版社,2005.
[3]湯涌濤.Visual Basic 2008從入門到精通[M].北京:清華大學(xué)出版社,2008.
[4]李健,韋靈南,靳龍.CAD/CAM自動(dòng)編程中零件尺寸公差的保證[J].組合機(jī)床與自動(dòng)化加工技術(shù),2004(7):52~54.