開(kāi)放式熱切割機(jī)數(shù)控軟件系統(tǒng)的研究
點(diǎn)擊:1466
A+ A-
所屬頻道:新聞中心
工業(yè)PC機(jī)軟、硬件資源的豐富使得數(shù)控系統(tǒng)的開(kāi)發(fā)更加方便快捷,系統(tǒng)的開(kāi)發(fā)也不再受內(nèi)存大小等硬件資源的限制。但就目前而言,這些優(yōu)勢(shì)均是以犧牲控制系統(tǒng)的實(shí)時(shí)性為代價(jià)的,因?yàn)樵诙鄶?shù)情況下,以工業(yè)PC機(jī)目前的速度是不能兼顧或很好地完成系統(tǒng)維護(hù)及實(shí)時(shí)控制這兩項(xiàng)任務(wù)的。針對(duì)以上矛盾,許多開(kāi)發(fā)商采取了一種折衷的方案,即采用基于雙CPU的數(shù)控系統(tǒng)。在該種類型的數(shù)控系統(tǒng)中,上位機(jī)即工業(yè)PC機(jī)完成系統(tǒng)維護(hù)、加工代碼讀取、譯碼,刀補(bǔ)、刀具位置顯示等任務(wù);下位機(jī)是一種連接于系統(tǒng)擴(kuò)展槽內(nèi)、能夠與上位機(jī)進(jìn)行實(shí)時(shí)通訊、獨(dú)立控制的微機(jī),用于實(shí)現(xiàn)對(duì)系統(tǒng)實(shí)時(shí)加工的控制。這樣,數(shù)控系統(tǒng)兼顧了系統(tǒng)維護(hù)及實(shí)時(shí)控制兩個(gè)方面,滿足了數(shù)控系統(tǒng)的要求,也實(shí)現(xiàn)了數(shù)控系統(tǒng)的開(kāi)放化。
本文將簡(jiǎn)單介紹一下基于這種思想而開(kāi)發(fā)的熱切俐機(jī)數(shù)控軟件系統(tǒng),即上位機(jī)軟件系統(tǒng)的構(gòu)成及開(kāi)發(fā)。
1 控制系統(tǒng)的組成
數(shù)控?zé)崆懈顧C(jī)床是數(shù)控機(jī)床的一種,它具有一般數(shù)控機(jī)床的特點(diǎn),能根據(jù)數(shù)控加工程序,自動(dòng)完成從點(diǎn)火一預(yù)熱一通切割氣體一切割一熄火一返回原點(diǎn)的整套切割過(guò)程。但熱切割機(jī)床又有別于一般數(shù)控金屬切削機(jī)床,它是利用氣體的高溫火焰把鋼板割縫加熱到熔融狀態(tài),用高壓氧吹透鋼板實(shí)現(xiàn)切割,而不象金屬切削機(jī)床那樣,用金屬切削工具與工件剛性接觸來(lái)進(jìn)行切削加工。
本文所研究的數(shù)控?zé)崆懈顧C(jī)系統(tǒng)采用上、下位機(jī)控制的形式??刂葡到y(tǒng)的組成見(jiàn)圖1。
系統(tǒng)中,上位機(jī)實(shí)現(xiàn)系統(tǒng)的各種維護(hù)任務(wù)并負(fù)責(zé)將加工數(shù)據(jù)傳送到指定的端口或內(nèi)存范圍;下位機(jī)根據(jù)上位機(jī)的加工數(shù)據(jù)控制電機(jī)實(shí)現(xiàn)實(shí)時(shí)的加工控制。在本系統(tǒng)中,下位機(jī)采用深圳市摩信科技有限公司開(kāi)發(fā)的MCT8000S4系列控制器,上位機(jī)獲取加工數(shù)據(jù)后將其輪流放入特定的兩個(gè)結(jié)構(gòu)相同的內(nèi)存空間,下位機(jī)實(shí)時(shí)地讀取該空間中的加工數(shù)據(jù),這些數(shù)據(jù)直接應(yīng)用于電機(jī)運(yùn)動(dòng)的控制。該系列的控制卡已經(jīng)將插補(bǔ)功能內(nèi)置,只需要上層提供相應(yīng)的刀補(bǔ)后的加工數(shù)據(jù)和控制數(shù)據(jù)即可。
上位機(jī)的控制系統(tǒng)是基于PC機(jī)和Windom平臺(tái)的。其具有全中文的人性化操作界面,可以進(jìn)行任意形狀的圖形加工,還可以根據(jù)用戶需要,配置自動(dòng)調(diào)高、自動(dòng)預(yù)熱、自動(dòng)點(diǎn)火、自動(dòng)穿孔、自動(dòng)噴粉劃線CAD自動(dòng)編輯套料等功能,開(kāi)發(fā)平臺(tái)采用VC++。
2 任務(wù)的劃分
數(shù)控火焰切割機(jī)的任務(wù)分為實(shí)時(shí)任務(wù)及非實(shí)時(shí)任務(wù)陌種。實(shí)時(shí)任務(wù)又分為實(shí)時(shí)隨機(jī)任務(wù)和實(shí)時(shí)周期任務(wù);非實(shí)時(shí)任務(wù)分為非實(shí)時(shí)隨機(jī)任務(wù)和非實(shí)時(shí)周期任務(wù)。實(shí)時(shí)任務(wù)是和加工的實(shí)時(shí)控制密切相關(guān)的任務(wù),尤其是實(shí)時(shí)周期任務(wù);非實(shí)時(shí)任務(wù)是系統(tǒng)管、維護(hù)及輔助的任務(wù)。
上位機(jī)的非實(shí)時(shí)隨機(jī)任務(wù)有:參數(shù)輸入任務(wù)、命令輸入任務(wù)、程序解釋及刀具半徑補(bǔ)償任務(wù)、程序預(yù)處理任務(wù),文件服務(wù)任務(wù)、系統(tǒng)設(shè)置任務(wù)。系統(tǒng)幫助任務(wù),故障診斷任務(wù)及輸人事件處理任務(wù)。這些任務(wù)的產(chǎn)生及處理是非實(shí)州的,也是隨機(jī)的。這些任務(wù)由Windovcs系統(tǒng)提供的消息映射機(jī)制來(lái)完成。
上位機(jī)的實(shí)時(shí)周期任務(wù)有:控制參數(shù)顯示任務(wù),加工動(dòng)態(tài)顯示任務(wù)、加工參數(shù)顯示任務(wù)、加工程序顯示任務(wù)及加工數(shù)據(jù)送人任務(wù)。這些任務(wù)主要是由系統(tǒng)定義一系列的不同優(yōu)先級(jí)的線程實(shí)現(xiàn),對(duì)訪問(wèn)有次序的線程采取制約機(jī)制,限制運(yùn)行次序及訪問(wèn)權(quán)限。
熱切割機(jī)數(shù)控系統(tǒng)上位機(jī)軟件結(jié)構(gòu)見(jiàn)圖2。
圖2 熱切割機(jī)數(shù)控系統(tǒng)上位機(jī)軟件結(jié)構(gòu)
3 數(shù)據(jù)流程
數(shù)控火焰切割機(jī)的數(shù)控系統(tǒng)和一般的數(shù)控系統(tǒng)一樣。必須完成譯碼(加工代碼解釋)、代碼預(yù)處理(刀補(bǔ)等)、插補(bǔ)準(zhǔn)備,插補(bǔ)等兒個(gè)基本過(guò)程來(lái)實(shí)現(xiàn)加工。由于該系統(tǒng)采用了標(biāo)準(zhǔn)的運(yùn)動(dòng)控制卡,插補(bǔ)功能由運(yùn)動(dòng)控制卡的硬件電路來(lái)完成,所以上位機(jī)軟件系統(tǒng)只需要提供相應(yīng)的加工數(shù)據(jù)即可,如圖3所示。下面簡(jiǎn)要說(shuō)明一下其數(shù)據(jù)的流程:零件的加丁程序在經(jīng)過(guò)丁NC程序準(zhǔn)備后,以ISo標(biāo)準(zhǔn)格式放人NC程序緩沖區(qū)中,首先經(jīng)過(guò)NC程序的譯碼操作,將代碼中的加工及控制信息提取出來(lái),以約定的格式存放于預(yù)刀補(bǔ)緩沖存儲(chǔ)區(qū)BS中;刀補(bǔ)后的數(shù)據(jù)放人刀補(bǔ)工作緩沖區(qū)AS中,然后將AS的內(nèi)容置為可直接用于下位機(jī)讀取的數(shù)據(jù)后放人刀補(bǔ)輸出緩沖區(qū)OS中,下位機(jī)會(huì)循環(huán)檢測(cè)該區(qū)域的數(shù)據(jù)是否準(zhǔn)備好,準(zhǔn)備好后讀取數(shù)據(jù)控制電機(jī)及相關(guān)設(shè)備運(yùn)行。在沒(méi)有刀補(bǔ)的情況下,將BS區(qū)中的軌跡信息經(jīng)過(guò)簡(jiǎn)單處理后直接放人刀補(bǔ)工作緩沖區(qū)AS中。
在有刀補(bǔ)處理的情況下,只用一個(gè)BS緩沖區(qū)不能夠滿足實(shí)際刀具中心軌跡計(jì)算的需要,因此在BS區(qū)和AS區(qū)之間設(shè)立刀補(bǔ)緩沖區(qū)CS。BS、CS和AS各自包含一個(gè)計(jì)算區(qū)域,這樣,在系統(tǒng)啟動(dòng)后,第一段加工程序先被讀人BS,經(jīng)過(guò)刀補(bǔ)任務(wù)處理后,在BS經(jīng)過(guò)數(shù)據(jù)計(jì)算的第一段編程軌跡被送到CS中暫存。接著代碼解釋任務(wù)又將下一段加工程序讀人13,5中。由刀補(bǔ)任務(wù)計(jì)算出第二段程序的編程軌跡。接著。對(duì)第一、二兩段編程軌跡的連接方式進(jìn)行判別,根據(jù)判別的結(jié)果,對(duì)Cs中的第一段編程軌跡做相應(yīng)修正。修正結(jié)束后,順序地將修正后的第一段編程軌跡由CS送入AS,第二段編程軌跡由Bs送人CS。隨后,由插補(bǔ)準(zhǔn)備任務(wù)將AS的內(nèi)容處理成可直接用于插補(bǔ)的數(shù)據(jù)送到OS區(qū)。
在讀入加工程序控制數(shù)據(jù)的同時(shí),系統(tǒng)還要求讀人界面上用戶對(duì)系統(tǒng)的設(shè)置,這些設(shè)置構(gòu)成了系統(tǒng)的另一個(gè)控制參數(shù)表。這些控制參數(shù)中,需要在系統(tǒng)啟動(dòng)時(shí)進(jìn)行總體設(shè)置,也可以在程序運(yùn)行期間零件加工完成后進(jìn)行設(shè)置,如軟件限位、最高速度等。
4 系統(tǒng)模塊的劃分
上位機(jī)的控制系統(tǒng)按用戶的需要,共分為豐框架、界而、譯碼。刀補(bǔ)。幽形庫(kù)、仿真幾個(gè)模塊。
主框架是控制系統(tǒng)軟件本身的構(gòu)架,它不但包含軟件本身的框架類、數(shù)據(jù)處理類,視圖類以及框架本身生成的必要資源(工具條,邊框等),還承載了系統(tǒng)后加入的各種資源以及動(dòng)態(tài)連接庫(kù)。系統(tǒng)的開(kāi)發(fā)是分成幾個(gè)模塊進(jìn)行的。這樣消啟、的轉(zhuǎn)接收和調(diào)用功能只能分配到各個(gè)功能實(shí)現(xiàn)類的管理框架中去。系統(tǒng)的維護(hù)采用了集中的原則,即只要主框架可以處理的消息和任務(wù)就要盡量集中到主框架中去處理。例如,屬性框、對(duì)話等資源又是一種規(guī)模較小的框架,他們不但負(fù)責(zé)數(shù)據(jù)讀入的一系列處理,還負(fù)責(zé)將相應(yīng)的消息發(fā)送到主框架中去并啟動(dòng)主框架的新任務(wù),以便主框架進(jìn)行正確的處理。這樣做的好處是系統(tǒng)結(jié)構(gòu)清晰、分配有序、便于二次開(kāi)發(fā)。該系統(tǒng)開(kāi)發(fā)了十個(gè)界面:即主界面、手工移動(dòng)界面、定程移動(dòng)界面,極限移動(dòng)界面、鋼板準(zhǔn)直界面、程序編輯界面、多件加工界面、自動(dòng)加工界面、系統(tǒng)設(shè)置界面及診斷界面,并實(shí)現(xiàn)了各界面內(nèi)部切換功能、相應(yīng)工具條的顯示隱藏(系統(tǒng)消息及自定義消息結(jié)合)及對(duì)應(yīng)功能的調(diào)用。
譯碼模塊是對(duì)加工數(shù)據(jù)進(jìn)行處理的第一個(gè)模塊。譯碼數(shù)據(jù)的正確與否直接關(guān)系到系統(tǒng)能否正常運(yùn)行。譯碼模塊處理的是標(biāo)準(zhǔn)的G代碼,該模塊中集成了對(duì)數(shù)控代碼的讀人、錯(cuò)誤檢查、加工軌跡參數(shù)的讀取與規(guī)范??刂茀?shù)的讀取與存儲(chǔ)等功能。該模塊中的加工及控制信息均存在于~個(gè)全局的模板中,便于后繼的處理及訪問(wèn)。
刀補(bǔ)模塊采用c功能的刀具半徑補(bǔ)償算法,因c刀補(bǔ)基于矢量的計(jì)算原理。所以能夠很好地解決工作輪廓加工過(guò)程中兩程序段間的轉(zhuǎn)接過(guò)渡問(wèn)題。這種補(bǔ)償技術(shù)通過(guò)計(jì)算和判斷轉(zhuǎn)接類型(伸長(zhǎng)型,插入型、縮短型)、曲線連接形式及刀補(bǔ)狀態(tài),再加上譯碼的數(shù)據(jù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的處理。
圖形庫(kù)是數(shù)控火焰切割機(jī)必不可少的組成部分,在圖形庫(kù)中存在大量的標(biāo)準(zhǔn)工件。這些標(biāo)準(zhǔn)工件為相同及相似工件的加工提供了便利。圖形庫(kù)還具有編輯套料功能,能對(duì)標(biāo)準(zhǔn)件的尺寸、數(shù)量、位置等進(jìn)行編輯,還可以將不同的標(biāo)準(zhǔn)件臺(tái)并在同一個(gè)鋼板中,并自動(dòng)生成加工代碼,功能十分強(qiáng)大。
仿真模塊是在不啟動(dòng)電機(jī)的情況下而實(shí)現(xiàn)加工過(guò)程模擬的繪圖模塊。浚模塊與主框架的說(shuō)類密切聯(lián)系。是由具體繪圖函數(shù)、尺寸計(jì)算函數(shù)以及插補(bǔ)運(yùn)竹函數(shù)組成戰(zhàn)的。該模塊的實(shí)現(xiàn)原理是:在土捱架的視類中定義一塊視圖區(qū)域,該區(qū)域以外的視圖均不允獲得繪制圖形,按照一定的算法,根據(jù)譯碼后的數(shù)姑來(lái)獲得當(dāng)前鋼板零件的大?。话凑珍摪宓娜诵〖袄L圖區(qū)域大小設(shè)定比例尺;由編譯后加工及移動(dòng)數(shù)據(jù),經(jīng)譯碼運(yùn)算后,將各曲線按照插補(bǔ)方式分成小直線段,再按一定速度有序地繪出,最終繪圖的結(jié)果即為所加工的鋼板,繪圖次序即為加工次序。
5 系統(tǒng)功能的定義
該數(shù)控系統(tǒng)具有手動(dòng)控制、程序編輯、自動(dòng)加工、零件選項(xiàng)。套料、系統(tǒng)設(shè)置、監(jiān)控診斷機(jī)系統(tǒng)幫助等功能。
手動(dòng)控制中實(shí)現(xiàn)了點(diǎn)動(dòng)、連續(xù)移動(dòng),定長(zhǎng)移動(dòng)、回零等功能。用于系統(tǒng)定位及實(shí)現(xiàn)簡(jiǎn)單加工。程序編輯中實(shí)現(xiàn)了加工程序的打開(kāi)、新建、編輯、存儲(chǔ)及圖形預(yù)顯等功能,用于對(duì)G代碼文件的編輯處理。
自動(dòng)加工功能對(duì)程序編輯處理后的G代碼文件實(shí)現(xiàn)加工,它也包含了一些對(duì)主軸的控制,如停止加工、暫停加工、斷點(diǎn)記憶功能等。
零件選項(xiàng)主要是針對(duì)經(jīng)程序編輯處理后文件的圖形進(jìn)行排列和轉(zhuǎn)動(dòng),并可以形成新的G代碼文件。
套料功能中實(shí)現(xiàn)了不同零件間的組合、拆分、相對(duì)轉(zhuǎn)動(dòng),排列和切割順序的定義等。
系統(tǒng)設(shè)置中實(shí)現(xiàn)對(duì)系統(tǒng)一些全局參數(shù)的設(shè)置,其中包括系統(tǒng)運(yùn)行需要的參數(shù)和系統(tǒng)調(diào)試需要的參數(shù)兩類,只有這兩類參數(shù)的正確設(shè)置才能夠保證系統(tǒng)的正常運(yùn)行。
監(jiān)控診斷包含了對(duì)系統(tǒng)全部硬件端口,傳感器和電機(jī)的檢測(cè)功能,另外,還具有一些系統(tǒng)維護(hù)的必要軟件工具,如殺毒程序等。
6 結(jié)論
本文介紹了一種基于PC機(jī)和Windows平臺(tái),用于火焰切割、等離子切割和激光切割的開(kāi)放式熱切割數(shù)控系統(tǒng)的有關(guān)構(gòu)成、上位機(jī)任務(wù)的劃分、加工數(shù)據(jù)內(nèi)容。該控位機(jī)系統(tǒng)的開(kāi)發(fā)已接近尾聲。本系統(tǒng)的研制成將提升切割機(jī)的整機(jī)性能,提高切割機(jī)的性能價(jià)格比,增強(qiáng)其在市場(chǎng)上的競(jìng)爭(zhēng)實(shí)力。
(審核編輯: 智匯胡妮)
分享