韋琳
隨著微型計(jì)算機(jī)的產(chǎn)生和發(fā)展,計(jì)算機(jī)數(shù)控得到廣泛應(yīng)用和提高[1]。數(shù)控技術(shù)是用數(shù)字信息對(duì)機(jī)械運(yùn)動(dòng)和工作過程進(jìn)行控制的技術(shù);是制造業(yè)實(shí)現(xiàn)自動(dòng)化、柔性化、集成化生產(chǎn)的基礎(chǔ);是提高產(chǎn)品質(zhì)量、提高勞動(dòng)生產(chǎn)率必不可少的物質(zhì)手段[2]。
當(dāng)代的數(shù)控機(jī)床正朝著高速度、高精度化、智能化、多功能化、高可靠性的方向發(fā)展。數(shù)控機(jī)床的人機(jī)界面設(shè)計(jì)直接影響其工作效率和操作舒適性,因?yàn)榱己玫娜藱C(jī)界面操作簡(jiǎn)單、有效,且具有引導(dǎo)功能,使用戶感覺愉快、增強(qiáng)興趣,從而提高使用效率。
PC機(jī)上的豐富軟件資源、友好的人機(jī)界面,是其它數(shù)控系統(tǒng)所無法比擬的?;谖C(jī)的開放式數(shù)控系統(tǒng)已成為世界數(shù)控技術(shù)的發(fā)展潮流,以PC機(jī)為平臺(tái)的數(shù)控技術(shù)的應(yīng)用范圍迅速擴(kuò)大。
本系統(tǒng)正是采用“PC+運(yùn)動(dòng)控制器”的開放式數(shù)控系統(tǒng),具有信息處理能力強(qiáng)、開放程度高、運(yùn)動(dòng)軌跡控制精確、通用性好等特點(diǎn).系統(tǒng)完成數(shù)控裝備的運(yùn)動(dòng)控制功能,人機(jī)交互功能,數(shù)據(jù)管理功能和相關(guān)的輔助控制功能。
數(shù)控編程是從零件圖紙到獲得數(shù)控加工程序的全過程。它的主要任務(wù)是計(jì)算加工鉆頭的位置,一般取為鉆頭軸線軸線與工件表面的交點(diǎn),多軸加工中還要給出各軸矢量[3]。
使用數(shù)控編程模板有利于利用已有的經(jīng)驗(yàn)和專家知識(shí),達(dá)到企業(yè)內(nèi)部資源共享的目的。系統(tǒng)提供了加工程式模板和鉆頭軌跡模板。在模板中不斷注入數(shù)控編程員、加工工藝師和技術(shù)工人的知識(shí)、經(jīng)驗(yàn)和習(xí)慣,建立起規(guī)范的數(shù)控加工工藝過程,為強(qiáng)化企業(yè)生產(chǎn)管理、提供產(chǎn)品的加工效率和質(zhì)量打下良好的工藝技術(shù)基礎(chǔ)。
加工中心一般分為立式加工中心和臥式加工中心,立式加工中心(三軸)最有效的加工面僅為工件的頂面,臥式加工中心借助回轉(zhuǎn)工作臺(tái),也只能完成工件的四面加工。目前高檔的加工中心正朝著五軸控制的方向發(fā)展,五軸聯(lián)動(dòng)加工中心有高效率、高精度的特點(diǎn),如配置上五軸聯(lián)動(dòng)的高檔數(shù)控系統(tǒng),還可以對(duì)復(fù)雜的空間曲面進(jìn)行高精度加工[4-5]。
要求對(duì)多軸數(shù)控鉆孔機(jī)進(jìn)行數(shù)學(xué)建模,就需要了解在工廠車間里多軸數(shù)控鉆孔機(jī)的工作過程。首先,對(duì)我們所要設(shè)計(jì)的刷子(這里以制作平板刷為例)進(jìn)行了解:我們要求做的刷子上的刷毛是有一定角度傾斜的,如圖1所示:
圖1 平板和轉(zhuǎn)子之間的相對(duì)位置
α角為在X軸方向與板子的最大夾角,β角為在Y軸方向與板子的最大夾角,這些角度代表刷毛的傾斜角度。鉆孔機(jī)械部分:圖1中中間黑色的部分是鉆子,它的位置是固定不變的,因此,它在板子上的鉆孔深度和角度也都固定不變,但是,平板刷的制作工藝要求,鉆孔在X軸和Y軸方向上都有一定的傾斜角度,按此要求鉆子要進(jìn)行角度傾斜鉆孔,這時(shí)就需要板子沿X軸和Y軸方向偏轉(zhuǎn)。偏轉(zhuǎn)必然會(huì)帶來位移上的誤差,我們建立的數(shù)學(xué)模型就是要計(jì)算出位移上的誤差進(jìn)行正確的補(bǔ)償,精確的確定平板刷上的鉆孔位置。
下面是假設(shè)的X平面的工作方式,在水平平面上R+r連接于兩軸,其中R與上半軸固定,且R不變。小r在滑塊的水平運(yùn)動(dòng)牽引下移動(dòng),且r可伸縮,與原r成夾角α,滑塊移動(dòng)距離為 S,在打孔工作中,打孔點(diǎn)在原 R與上半軸的交會(huì)處,Lx是下一孔的位置,打孔器是固定不動(dòng)的,如果要在Lx的右端點(diǎn)打孔的話,就應(yīng)該在滑塊移動(dòng)了S后再使X平面上要打孔的的點(diǎn)傾斜,使其點(diǎn)的投影在原打孔點(diǎn)的投影上,如圖2所示:
圖2 數(shù)學(xué)模型的建模原理圖
為了可以準(zhǔn)確無誤的將點(diǎn)的投影重合,我們需要將上圖轉(zhuǎn)化成邏輯公式來清楚的表達(dá)出來,也是為將其應(yīng)用于程序編寫的重要邏輯公式,根據(jù)建模原理圖可知,需求參數(shù)為:
X:如圖2所示,當(dāng)轉(zhuǎn)動(dòng)軸轉(zhuǎn)動(dòng)到角度α′時(shí),B點(diǎn)移動(dòng)到B′,此時(shí)B′點(diǎn)距離鉆孔定點(diǎn) A在 X軸方向距離就是我們要求的X;
Y:同理X的求解原理,在Y軸方向的位移;
H:如圖2所示,當(dāng)轉(zhuǎn)動(dòng)軸轉(zhuǎn)動(dòng)到角度α′時(shí),B點(diǎn)移動(dòng)到B′,此時(shí)B′點(diǎn)距離鉆孔定點(diǎn) A 的垂直方向的距離就是我們要求的H(其中包括Hx、Hy);
S:如圖 2所示,當(dāng)轉(zhuǎn)動(dòng)軸轉(zhuǎn)動(dòng)到角度α′時(shí),滑塊所移動(dòng)的距離,其實(shí)就是由于滑塊的位移才形成了X軸的偏轉(zhuǎn);
Z:同理S的求解原理,形成Y軸偏轉(zhuǎn)的滑塊移動(dòng)的距離,推導(dǎo)后的公式表達(dá)如公式(1)-(3):
其中X并不是滑塊的單純移動(dòng),它還包括了平面的傾斜移動(dòng),而且H的大小也只是投影距離的一部分,因?yàn)槿绻蚩椎膶?duì)象并不是一個(gè)平面,而是一個(gè)曲面的話,那么單純的X平面移動(dòng)是無法達(dá)到標(biāo)準(zhǔn)打孔的目的的,所以還將需要另一個(gè)平面Y平面與其協(xié)同運(yùn)動(dòng)來實(shí)現(xiàn)其打孔的目的。
對(duì)于Y平面的工作方式,同X平面一樣,為了可以準(zhǔn)確無誤的將點(diǎn)的投影重合,我們也需要轉(zhuǎn)化邏輯公式來清楚的表達(dá),也是為將其應(yīng)用于程序編寫的重要邏輯公式,推導(dǎo)后的公式表達(dá)如公式(4)-(7):
最終我們得到的H是我們需要的打孔點(diǎn)的投影,也就是兩個(gè)平面移動(dòng)的H值的疊加,這兩個(gè)H值是不同的,因?yàn)閮蓚€(gè)面的傾斜角度有所不同,但最后的H值卻是單純的疊加。
在工作中兩個(gè)平面是完全重合的,一體的,一個(gè)作業(yè)平臺(tái),這個(gè)作業(yè)平臺(tái)依據(jù)上面的工作原理,在XYS的不斷的移動(dòng)傾斜的動(dòng)作中,不停的工作,而打孔頭則以記時(shí)打點(diǎn)的形式工作,因此XYS的每個(gè)動(dòng)作都應(yīng)該是在相同的時(shí)間內(nèi)完成的。
那么如何才能做到時(shí)間完全的準(zhǔn)確無誤呢?XYS又是如何在這完全相同的時(shí)間內(nèi)做出不同的動(dòng)作呢?
很明顯,這一點(diǎn)是人力操作所不能達(dá)到的,它需要數(shù)控程序的精確配合。
(1)對(duì)于用戶輸入最大角度的問題
我們知道當(dāng)用戶輸入一個(gè)角度的時(shí)候,平臺(tái)會(huì)按 X軸(Y軸)旋轉(zhuǎn),根據(jù)實(shí)際情況平臺(tái)如果旋轉(zhuǎn)角度過大會(huì)造成實(shí)際操作的錯(cuò)誤,所以我們要設(shè)定一個(gè)固定最大角度θ(X軸)和δ(Y軸).以避免操作的失誤。
(2)以A點(diǎn)作為原點(diǎn)的坐標(biāo)
a)我們所計(jì)算出的X、Y、H值都是以A點(diǎn)作為原點(diǎn)的值。
b)由于平板刷的特殊要求,每個(gè)點(diǎn)都是以中心點(diǎn)為基準(zhǔn)等分處理的,因此要特別注意Lx’、Ly’、α′、β′與Lx、Ly、α、β、m、n之間的求解關(guān)系。
c)需要注意計(jì)算出的數(shù)據(jù)要轉(zhuǎn)換成以左上角(0,0)為參考點(diǎn)的數(shù)據(jù)值。
至此我們建立了一個(gè)完整的數(shù)學(xué)模型,以助于我們下面的程序設(shè)計(jì)工作。
我們根據(jù)所提供的模型可知,首先要做到的是如何要用戶輸入所需要的打孔的各種數(shù)據(jù),最大角度和最大打孔范圍,如何將數(shù)據(jù)進(jìn)行處理,輸入和輸出;如何判斷用戶所輸入數(shù)據(jù)的正確性(例如,如果用戶輸入的數(shù)據(jù)超出我們所設(shè)定的范圍,我們將提示用戶輸入錯(cuò)誤等),以及要充分考慮到數(shù)據(jù)輸出的格式問題等等。
作為一個(gè)用戶界面系統(tǒng),各種功能要求要十分完善,其主要功能有:
(1)基本信息的管理,用戶數(shù)據(jù)的輸入;
(2)數(shù)據(jù)的處理,對(duì)于所輸入的數(shù)據(jù)進(jìn)行相應(yīng)的運(yùn)算;
(3)數(shù)據(jù)的輸出,對(duì)于運(yùn)算之后的結(jié)果我們將進(jìn)行2進(jìn)制的輸出;
(4)幫助,指導(dǎo)用戶使用該系統(tǒng)及其他相關(guān)說明。
在使用計(jì)算機(jī)的過程當(dāng)中,人和計(jì)算機(jī)是以人機(jī)界面為媒介傳遞信息的.界面是否親切、友好、美觀、舒適是用戶看待計(jì)算機(jī)的第一印象,因此在設(shè)計(jì)界面時(shí)具有很多要求,本系統(tǒng)的開發(fā)過程中主要考慮了以下幾點(diǎn)要求:
(1)簡(jiǎn)單:要求用戶界面能夠很方便的處理各種基本的對(duì)話;
(2)術(shù)語標(biāo)準(zhǔn)化和一致化:要求使用標(biāo)準(zhǔn)化的專業(yè)術(shù)語,技術(shù)用語符合軟件工程規(guī)則,并且在輸入輸出的說明中,統(tǒng)一術(shù)語涵義應(yīng)保持一致;
(3)用戶界面標(biāo)準(zhǔn)化:用戶對(duì)操作方式不會(huì)感到陌生;
(4)擁有完善的幫助功能:要求用戶能夠通過使用幫助在最短的時(shí)間內(nèi)了解系統(tǒng)的總體概況,并能夠進(jìn)行各種相關(guān)操作。
系統(tǒng)數(shù)據(jù)流圖如圖3所示:
圖3 系統(tǒng)數(shù)據(jù)流圖
傳統(tǒng)的機(jī)床主傳動(dòng)系統(tǒng)設(shè)計(jì)需要查找大量的數(shù)據(jù),這樣會(huì)使設(shè)計(jì)的工作量很大,如何把設(shè)計(jì)中所需的基礎(chǔ)數(shù)據(jù)組織到一起,構(gòu)建一個(gè)緊湊、高效的數(shù)據(jù)庫,來縮短查找時(shí)間,提高效率,是我們?cè)谲浖O(shè)計(jì)開發(fā)過程中要解決的一個(gè)重要環(huán)節(jié)[6]。
在本程序中利用了VC中的CDatabase類和CRecor-dset類來實(shí)現(xiàn)具體的操作。在實(shí)際訪問數(shù)據(jù)庫之前,要建立一個(gè)可以使用的數(shù)據(jù)庫data[7]。結(jié)合本設(shè)計(jì)的要求,利用SQL(Structured Query Language)軟件建立了一個(gè)具體的數(shù)據(jù)庫。這些工作完成之后,就可以在應(yīng)用程序中加入相應(yīng)的代碼來執(zhí)行數(shù)據(jù)庫操作。
2.5.1 等分計(jì)算
(1)原始數(shù)據(jù)的輸入,如圖4所示:
圖4 原始數(shù)據(jù)的輸入
(2)處理后每個(gè)點(diǎn)的五個(gè)軸數(shù)據(jù),如圖5所示:
圖5 處理后每個(gè)點(diǎn)的五個(gè)軸數(shù)據(jù)
(3)數(shù)據(jù)發(fā)生錯(cuò)誤,需要工程師手動(dòng)修改數(shù)據(jù),界面如圖6所示:
圖6
2.5.2 非等分計(jì)算
則直接由工程師輸入打孔數(shù)據(jù),界面如圖7所示:
圖7 打孔數(shù)據(jù)
如果輸入的數(shù)據(jù)發(fā)生錯(cuò)誤,需要修改、清除、增加,都可以按照界面進(jìn)行操作。
以上是平板刷數(shù)據(jù)建模的全部設(shè)計(jì)過程.所有數(shù)據(jù)均保存在數(shù)據(jù)庫中,可以進(jìn)行動(dòng)態(tài)操作,數(shù)據(jù)正確之后,還可以通過文件保存。
2.5.3 程序的數(shù)據(jù)測(cè)試
經(jīng)過測(cè)試,求解的模型數(shù)據(jù)完全正確,可以用于實(shí)際的工藝實(shí)現(xiàn)。
數(shù)控編程是數(shù)控加工準(zhǔn)備階段的主要內(nèi)容,通常包括分析零件圖樣、確定加工工藝過程;計(jì)算鉆子軌跡,得出位置數(shù)據(jù);編寫數(shù)控加工程序;校對(duì)程序等。有手工編程和自動(dòng)編程兩種方法。手工編程是指編程的各個(gè)階段,均由人工完成。對(duì)于幾何形狀復(fù)雜的零件,需借助計(jì)算機(jī)使用規(guī)定的數(shù)控語言編寫零件源程序,經(jīng)過處理后生成加工程序,則為自動(dòng)編程。
隨著數(shù)控技術(shù)的發(fā)展,先進(jìn)的數(shù)控系統(tǒng)不僅向用戶編程提供了一般的準(zhǔn)備功能和輔助功能,而且為編程提供了擴(kuò)展數(shù)控功能的手段。
本文提出了一種基于 VC和界面模板技術(shù)的界面建模方法和一種適用任意結(jié)構(gòu)多軸數(shù)控機(jī)床的新通用運(yùn)動(dòng)學(xué)綜合空間誤差模型。最后,利用所述建模理論和方法,給出了五軸數(shù)控鉆孔機(jī)的空間誤差模型表達(dá)式。該方法以圖形化的方式展示了用戶界面的直觀樣式,能夠?qū)δP万?qū)動(dòng)的軟件開發(fā)提供有力的支持。
[1] 鄭焱.復(fù)雜曲面五軸聯(lián)動(dòng)數(shù)控加工的進(jìn)給率規(guī)劃[D].上海:上海交通大學(xué),2011.
[2] 靳陽,郇極,肖文磊,等.適合多種機(jī)床結(jié)構(gòu)的數(shù)控系統(tǒng)5坐標(biāo)變換庫[J].北京航空航天大學(xué)學(xué)報(bào).2012,06.
[3] 彭芳瑜,馬吉陽,王力,等.任意結(jié)構(gòu)多軸數(shù)控機(jī)床后置處理的全微分求解算法[J].機(jī)械工程學(xué)報(bào),2012,13.
[4] 代星,熊蔡華,丁漢.雙轉(zhuǎn)臺(tái)式五軸機(jī)床后置處理中的最優(yōu)選解問題研究[J].裝備制造技術(shù),2012,02.
[5] 田榮鑫,任軍學(xué),史耀耀,等.直擺頭與斜擺頭五坐標(biāo)機(jī)床數(shù)控加工程序互換求解算法[J].航空學(xué)報(bào),2010,11.
[6] Elmasri, Ramez. Fundamentals of database systems[M].Beijing:Posts & Telecom Press,2008.
[7] Pfleeger,Shari Lawrence. Object-oriented software engineering[M]. Beijing:Higher Education Press,2009.