田文奇
(浙江交通職業(yè)技術(shù)學(xué)院 機(jī)電學(xué)院,浙江 杭州 311112)
數(shù)控機(jī)床在現(xiàn)代制造業(yè)中應(yīng)用廣泛,具有普通機(jī)床無法比擬的優(yōu)勢。數(shù)控機(jī)床較好的解決了復(fù)雜、精密、多變零件的加工問題,是一種靈活的、高效能的自動(dòng)化機(jī)床,尤其對(duì)于約占機(jī)械加工總量80%的單件、小批量零件的加工,更顯示出其特有的靈活性。然而,從企業(yè)生產(chǎn)實(shí)踐來看,在特定生產(chǎn)領(lǐng)域數(shù)控機(jī)床也存在著一些明顯劣勢,主要表現(xiàn)在:(1)費(fèi)用昂貴,對(duì)加工大批量零件尤為不利;(2)對(duì)操作人員素質(zhì)要求高;(3)系統(tǒng)復(fù)雜,維護(hù)成本高等。而普通液壓機(jī)床具有成本低廉,操作簡單,對(duì)操作人員的知識(shí)和技能要求低等特點(diǎn),在簡單產(chǎn)品的大規(guī)模生產(chǎn),或者是特殊零件的專門化生產(chǎn)等場合,具有數(shù)控機(jī)床不可比擬的人工和成本等優(yōu)勢,得到廣泛采用。然而另一方面,普通液壓機(jī)床自動(dòng)化程度低,工藝流程固化,不具備數(shù)控機(jī)床高度靈活性等特點(diǎn),具有很大的局限性,若要改變一臺(tái)普通液壓機(jī)床加工零件的種類、規(guī)格、甚至個(gè)別工藝流程等大多時(shí)候是非常困難的[1]。
基于普通液壓機(jī)床與數(shù)控機(jī)床優(yōu)缺點(diǎn)的對(duì)比分析,從加工制造企業(yè)的實(shí)際需要出發(fā),提出一種普通液壓機(jī)床數(shù)字化控制改造方案,在此基礎(chǔ)上創(chuàng)造性的重點(diǎn)研究一種液壓機(jī)床加工工藝流程圖形化計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng),兩者有機(jī)結(jié)合構(gòu)成液壓機(jī)床CAPP/CAM一體化集成系統(tǒng)。其主要意義在于:(1)提高普通液壓機(jī)床的自動(dòng)化程度和靈活性,使其能象數(shù)控機(jī)床一樣通過配置編程加工不同種類、規(guī)格的零件;(2)克服數(shù)控機(jī)床編程維護(hù)復(fù)雜的缺點(diǎn),提供一種圖形化、簡便形象的工藝流程設(shè)計(jì)手段;(3)成本低廉的完整解決方案。
為使普通液壓機(jī)床具有可編程特性,首先需對(duì)機(jī)床進(jìn)行電氣化改造?;谄胀ㄒ簤簷C(jī)床工作特點(diǎn),將所有機(jī)床狀態(tài)、位置等信息規(guī)整為標(biāo)準(zhǔn)開關(guān)量信號(hào),采用電磁閥等控制氣動(dòng)單元、液壓單元執(zhí)行機(jī)床動(dòng)作。從而,將機(jī)床控制問題簡化為對(duì)一序列開關(guān)量信號(hào)的處理問題,包括檢測信號(hào)和控制信號(hào)。在此基礎(chǔ)上,研發(fā)一款可采集和輸出標(biāo)準(zhǔn)開關(guān)量信號(hào),處理工藝流程的數(shù)字控制電路板(以下統(tǒng)稱數(shù)控板),完成機(jī)床的數(shù)字化改造。數(shù)控板并不直接提供生成工藝流程的功能,只是根據(jù)預(yù)置的工藝流程數(shù)據(jù)執(zhí)行相關(guān)動(dòng)作,從而降低其復(fù)雜度。但是,固化的工藝流程會(huì)使機(jī)床失去靈活性,不能體現(xiàn)數(shù)字化控制的優(yōu)勢[2]。因此,數(shù)控板中預(yù)置的工藝流程數(shù)據(jù)必須可以簡便的修改,這一功能由圖形化計(jì)算機(jī)輔助工藝設(shè)計(jì)系統(tǒng)(以下統(tǒng)稱圖形化CAPP系統(tǒng))來完成。
圖形化CAPP系統(tǒng)將液壓機(jī)床的開關(guān)量信號(hào)序列抽象為規(guī)范I/O對(duì)象,并增加定時(shí)、計(jì)數(shù)等內(nèi)置對(duì)象,提供一種完全不同于數(shù)控機(jī)床G代碼編程方式的、基于時(shí)間軸的流程圖式的簡易編程界面,從而使液壓機(jī)床既具有類似數(shù)控機(jī)床的適應(yīng)不同產(chǎn)品、工藝的可編程的特點(diǎn),又不需要掌握復(fù)雜的數(shù)控編程技術(shù),一線產(chǎn)業(yè)工人可快速上手;設(shè)計(jì)系統(tǒng)提供CAM接口,圖形化設(shè)計(jì)結(jié)果可直接轉(zhuǎn)化為數(shù)控板可解釋執(zhí)行的編碼送往數(shù)控板用于機(jī)床加工控制。圖形化計(jì)算機(jī)輔助工藝設(shè)計(jì)系統(tǒng)創(chuàng)造性的實(shí)現(xiàn)了一種價(jià)格低廉、可圖形化編程、操作簡便的液壓機(jī)床升級(jí)改造或設(shè)計(jì)制造的解決方案[3]。
圖形化CAPP系統(tǒng)的最基本目標(biāo)是靈活、簡便,既要使液壓機(jī)床具備一個(gè)類似數(shù)控機(jī)床的可編程特性,又要足夠簡單方便,以降低成本和對(duì)操作人員的要求,在進(jìn)行軟件系統(tǒng)設(shè)計(jì)時(shí)必須充分考慮這一需求。在算法設(shè)計(jì)中,首先將機(jī)床實(shí)際工序、動(dòng)作等抽象成不同的邏輯對(duì)象,然后再根據(jù)具體機(jī)床、加工零件的不同創(chuàng)建不同的對(duì)象供用戶使用,并形成針對(duì)不同機(jī)床型號(hào)的配置文件[4]。
首先,將機(jī)床加工過程中的各要素抽象為狀態(tài)、轉(zhuǎn)換條件和元件三種不同的對(duì)象類別,其中元件又分為輸入元件、輸出元件和邏輯元件三種類別,見表1。
表1 系統(tǒng)組成要素
從表1可以看出,系統(tǒng)最基本的組成單元為元件,包括輸入元件、輸出元件和其它邏輯元件。輸入元件為液壓機(jī)床檢測信號(hào)的映射,輸出元件則為機(jī)床控制信號(hào)的映射,輸入元件和輸出元件合稱I/O元件,與數(shù)控板上的輸入點(diǎn)和輸出點(diǎn)一一對(duì)應(yīng),即輸入元件讀取對(duì)應(yīng)輸入信號(hào)的值,輸出元件則數(shù)控控制信號(hào)以指令液壓機(jī)床工作。其它邏輯單元?jiǎng)t包括定時(shí)元件、計(jì)數(shù)元件和中間元件等,中間元件指不直接對(duì)應(yīng)數(shù)控板實(shí)際輸入輸出,內(nèi)部的中間變量。所有元件的值只有1和0兩種情況,但同時(shí)可以包含其它屬性,如定時(shí)元件還具備設(shè)定值、當(dāng)前值等屬性。
轉(zhuǎn)換條件為元件的復(fù)合體,可以包含I/O元件、定時(shí)和計(jì)數(shù)元件等。轉(zhuǎn)換條件的值和元件一樣,只有1和0兩種情況,由元件間進(jìn)行與、或、非邏輯運(yùn)算而來。轉(zhuǎn)換條件用于系統(tǒng)狀態(tài)間的切換,例如若當(dāng)前狀態(tài)為快速進(jìn)刀,碰到行程開關(guān)后機(jī)床切換為進(jìn)給加工狀態(tài),則轉(zhuǎn)換條件為行程開關(guān)信號(hào)有效(值為1);若除行程開關(guān)外還需其它信號(hào)有效,則轉(zhuǎn)換條件為兩者值的邏輯與。定時(shí)和計(jì)數(shù)元件則用于狀態(tài)轉(zhuǎn)換條件為時(shí)間或計(jì)數(shù)的場合,例如一個(gè)狀態(tài)維持若干時(shí)間后自動(dòng)切換為下一狀態(tài)。
狀態(tài)對(duì)應(yīng)著機(jī)床加工工序,分基本狀態(tài)和復(fù)合狀態(tài)?;緺顟B(tài)為一序列輸出元件的組合,即通過輸出信號(hào)控制機(jī)床各電磁閥正確得電和失電,完成一個(gè)工序。復(fù)合狀態(tài)為子狀態(tài)、轉(zhuǎn)換條件的組合,也可理解為符合狀態(tài)中又可以包含一個(gè)工作流程,即狀態(tài)中的子狀態(tài)可以象主處理流程中的狀態(tài)一樣根據(jù)轉(zhuǎn)換條件進(jìn)行切換,這樣使系統(tǒng)具有足夠的靈活性。
依據(jù)狀態(tài)、轉(zhuǎn)換條件、元件之間相互關(guān)聯(lián)特點(diǎn),系統(tǒng)算法采用采用遞歸組合模式(COMPOSITE模式),其對(duì)象結(jié)構(gòu)如圖1所示。
其中,為統(tǒng)一算法模型,基本元件可以進(jìn)行邏輯取反操作,基本元件間相互關(guān)系可以為空(NOP)、邏輯與、邏輯或三種,而在基本狀態(tài)中基本元件間相互關(guān)系固定為空(NOP)關(guān)系。狀態(tài)理論上可以遞歸疊加,但在本例中將其限定為兩級(jí),以提高軟件系統(tǒng)操作簡便性。
根據(jù)工藝流程算法模型,將系統(tǒng)各要素抽象為三大類別對(duì)象,每個(gè)對(duì)象具有“值”及其它不同的屬性?;驹膶傩詷?gòu)成見表2。
表2 基本元件的屬性
對(duì)輸入元件、輸出元件來說,地址對(duì)應(yīng)實(shí)際數(shù)控板中輸入輸出通道相應(yīng)地址,對(duì)計(jì)時(shí)、計(jì)數(shù)和中間元件來說地址為一個(gè)唯一編號(hào),以區(qū)分不同的元件。設(shè)置值與前值的目的為判斷元件值的變化,得到其上升沿和下降沿。
對(duì)轉(zhuǎn)換條件、狀態(tài)這兩類對(duì)象而言,除具備基本元件中的別名、地址(編號(hào))、值、前值、描述等必備屬性外,還具有基本元件或組合的子對(duì)象列表,從而形成遞歸組合的形式表達(dá)整個(gè)工藝流程的構(gòu)成。
基于上述分析,系統(tǒng)采用雙向鏈表結(jié)構(gòu)來存儲(chǔ)設(shè)計(jì)數(shù)據(jù)。首先創(chuàng)建一個(gè)抽象基類Node來表達(dá)所有對(duì)象的共有屬性,如前向指針、后向指針、別名、地址、值、前值、描述以及視圖系統(tǒng)所需的坐標(biāo)信息等;定義所有抽象接口,如AddNode、DelNode、GetHead、GetTail、GetPrev、GetNext等對(duì)象添加刪除及遍歷操作[5]。
系統(tǒng)采用基于時(shí)間軸的流程圖式界面設(shè)計(jì),所有對(duì)象采用拖放的形式加以創(chuàng)建。首先,在視圖中建立網(wǎng)格,得到一個(gè)易于檢測計(jì)算的坐標(biāo)系統(tǒng),所有對(duì)象根據(jù)其坐標(biāo)的不同分布于不同的網(wǎng)格中。從對(duì)象庫中可拖放需要的對(duì)象到網(wǎng)格中,并建立相互關(guān)聯(lián)。界面的基本結(jié)構(gòu)形式如圖2所示:
圖中每個(gè)狀態(tài)和條件可以單獨(dú)進(jìn)行編輯,復(fù)合狀態(tài)的編輯以類似子程序編輯的方式呈現(xiàn),即與主流程的編輯界面一致。系統(tǒng)提供了仿真運(yùn)行功能,按照狀態(tài)順序掃描執(zhí)行,并在界面中顯示當(dāng)前執(zhí)行位置和基本元件的數(shù)據(jù)。
在計(jì)算機(jī)圖形化編輯環(huán)境中對(duì)液壓機(jī)床工藝流程配置完成后,需轉(zhuǎn)換為特定編碼下載到數(shù)控板中實(shí)際執(zhí)行。為使系統(tǒng)具有良好的兼容性和可擴(kuò)展性,系統(tǒng)定義了一種文本格式中間代碼,即系統(tǒng)在進(jìn)行CAPP/CAM代碼轉(zhuǎn)換時(shí)經(jīng)過圖形系統(tǒng)、中間代碼、執(zhí)行代碼三個(gè)環(huán)節(jié)。
首先,系統(tǒng)將圖形數(shù)據(jù)轉(zhuǎn)換為文本格式中間代碼。在進(jìn)行轉(zhuǎn)換時(shí)按照工藝流程走向依次展開,在每個(gè)中間文件的頭部有段代碼表達(dá)元件名稱和地址間的相互映射,即類似于可編程控制器(PLC)中的I/O分配表(分別用X、Y、T、C和M表示表2中的基本元件);每個(gè)狀態(tài)以Section開始,以End結(jié)束,碰到復(fù)合狀態(tài)則以同樣的方式進(jìn)行遞歸展開;每個(gè)轉(zhuǎn)換條件以Condition開始,以End結(jié)束;輸出元件賦值以name:value形式表達(dá),如Output1:1;轉(zhuǎn)換條件中基本元件之間的關(guān)系以串并聯(lián)的概念表達(dá)?;镜闹虚g代碼格式如下所示:
上例中的condition表達(dá)的邏輯關(guān)系為Input1和Input2進(jìn)行邏輯或運(yùn)算后,結(jié)果和Input3進(jìn)行邏輯與運(yùn)算。并聯(lián) Input1和Input2并聯(lián)后與Input3串聯(lián),即先或操作后再與操作。
將圖形數(shù)據(jù)轉(zhuǎn)換為中間文件后,為減少代碼體積,可見中間文件進(jìn)一步進(jìn)行編碼,生成最終執(zhí)行文件,下載到數(shù)控板中執(zhí)行。且由于中間文件具體通用性,要使系統(tǒng)支持不同的CAM硬件系統(tǒng)(如不同的數(shù)控板),只需修改中間文件到執(zhí)行代碼的編碼程序即可,使系統(tǒng)獲得了良好的可擴(kuò)展性。
液壓機(jī)床圖形化CAPP系統(tǒng)提出了一種價(jià)格低廉的液壓機(jī)床升級(jí)改造方案,實(shí)用價(jià)值高。從提高整體性考慮,還可以進(jìn)一步精簡優(yōu)化CAPP系統(tǒng)的操作和數(shù)據(jù)模型,將其從計(jì)算機(jī)上移植到嵌入式設(shè)備,如人機(jī)界面系統(tǒng)中。另外,系統(tǒng)最后生成的執(zhí)行代碼除本文提出的編碼方法外,也可直接加入單片機(jī)代碼編譯系統(tǒng),即將中間代碼編譯成單片機(jī)可直接運(yùn)行的二進(jìn)制編碼,從而實(shí)現(xiàn)編譯運(yùn)行而不是解釋運(yùn)行,以提高系統(tǒng)性能。
[1]關(guān)紅.PLC在液壓傳動(dòng)組合機(jī)床控制中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù).2012,11:74-76.