專利名稱:一種可重配置的開放式結(jié)構(gòu)計(jì)算機(jī)數(shù)控系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于機(jī)械制造領(lǐng)域里的數(shù)控機(jī)床的控制系統(tǒng)。
背景技術(shù):
目前,公知的數(shù)控機(jī)床控制系統(tǒng)基本屬于相關(guān)開發(fā)商獨(dú)有的封閉體系結(jié)構(gòu),其軟件和硬件具有緊密的耦合性,以至于難以對(duì)原有數(shù)控系統(tǒng)進(jìn)行功能增減或從一種機(jī)床數(shù)控系統(tǒng)改進(jìn)(升級(jí))成另外一種機(jī)床數(shù)控系統(tǒng)。在軟件開發(fā)方面,由于采用傳統(tǒng)的先系統(tǒng)建模后編寫程序代碼方法,二者難以做到有機(jī)地結(jié)合,以至于系統(tǒng)模型與最終的程序代碼大相徑庭。并且系統(tǒng)的驗(yàn)證只能待程序代碼編寫完畢并在實(shí)際系統(tǒng)上運(yùn)行才能進(jìn)行。若驗(yàn)證結(jié)果不理想還要對(duì)系統(tǒng)模型和程序代碼甚至硬件進(jìn)行設(shè)計(jì)更新,從而顯著地增加了產(chǎn)品的研發(fā)周期和成本。
對(duì)于用戶來講,該封閉結(jié)構(gòu)屏蔽了系統(tǒng)的所有技術(shù)細(xì)節(jié),只對(duì)其提供了有限的功能固定的對(duì)外通用控制接口,必須按系統(tǒng)要求選擇多是由同一開發(fā)商所提供的匹配的外圍設(shè)備來實(shí)現(xiàn)數(shù)控機(jī)床的構(gòu)建。一旦系統(tǒng)定型,用戶就只能僅僅局限于系統(tǒng)固有的功能和特性,無法進(jìn)行原有功能的改進(jìn)和新功能的增加,例如將原有二軸聯(lián)動(dòng)車床數(shù)控系統(tǒng)重配為三軸聯(lián)動(dòng)銑床數(shù)控系統(tǒng),因而使得該數(shù)控系統(tǒng)無法適應(yīng)如今快速變化的市場(chǎng)需求。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種可以通過重新配置即能適應(yīng)不同的加工需求的數(shù)控系統(tǒng)。
解決上述問題的技術(shù)方案是首先將數(shù)控系統(tǒng)進(jìn)行功能模塊劃分,基于模型驅(qū)動(dòng)開發(fā)方法,采用統(tǒng)一建模語言對(duì)這些模塊進(jìn)行建模,作為組合類的模塊還可以包含其它類模塊的對(duì)象實(shí)例,所得到的模型為可執(zhí)行模型且與由模型自動(dòng)生成的代碼保持同步,并支持由模型到代碼的正向工程和由代碼到模型的逆向工程,使得系統(tǒng)設(shè)計(jì)開發(fā)與驗(yàn)證處于同一模型抽象層;所述模塊的功能與其行為相分離,通過改變相應(yīng)模塊的狀態(tài)圖來對(duì)其功能執(zhí)行的條件、狀態(tài)、時(shí)序等進(jìn)行調(diào)度,從而實(shí)現(xiàn)對(duì)模塊功能的重用;所述模塊間的通信通過端口進(jìn)行,而端口則利用其契約抽象接口與人機(jī)界面(HMI)和底層硬件設(shè)備進(jìn)行交互,從而實(shí)現(xiàn)數(shù)控系統(tǒng)應(yīng)用程序與人機(jī)界面的簡(jiǎn)潔交互以及與硬件的無關(guān)性,使相關(guān)硬件應(yīng)用程序符合系統(tǒng)所提供的接口功能要求,以實(shí)現(xiàn)與數(shù)控系統(tǒng)應(yīng)用程序的無縫連接;在模型層通過增減或置換相應(yīng)的模塊實(shí)現(xiàn)對(duì)系統(tǒng)功能的改變,通過對(duì)類模塊對(duì)象實(shí)例數(shù)的定制實(shí)現(xiàn)同一類模塊的多個(gè)對(duì)象實(shí)例的動(dòng)態(tài)生成。
本發(fā)明在實(shí)際應(yīng)用中,不同的用戶可根據(jù)自身實(shí)際加工的需要對(duì)數(shù)控系統(tǒng)所要控制的機(jī)床類型、運(yùn)動(dòng)軸數(shù)、主軸數(shù)、外圍輔助設(shè)備的類型和數(shù)量通過人機(jī)界面進(jìn)行選擇,即可自動(dòng)生成所要求的計(jì)算機(jī)數(shù)控系統(tǒng),加以相匹配的機(jī)床本體即可完成不同的應(yīng)用需求。
本發(fā)明具有下述優(yōu)點(diǎn)開發(fā)層和用戶層能夠通過對(duì)本系統(tǒng)的重配置使其滿足不同的數(shù)控車床、銑床、鉆床、磨床等多種類型機(jī)床的不同加工要求;經(jīng)過簡(jiǎn)單的配置即可實(shí)現(xiàn)一個(gè)到多個(gè)運(yùn)動(dòng)軸、一個(gè)到多個(gè)主軸、一個(gè)到多個(gè)外圍輔助設(shè)備的控制應(yīng)用;模型驅(qū)動(dòng)開發(fā)方法的應(yīng)用使系統(tǒng)設(shè)計(jì)開發(fā)和驗(yàn)證共處同一模型抽象層,能夠?qū)崿F(xiàn)在底層硬件實(shí)現(xiàn)之前即可對(duì)系統(tǒng)進(jìn)行驗(yàn)證并為硬件的具體實(shí)施提供重要的指引;待系統(tǒng)在模型層驗(yàn)證成功后再將由模型自動(dòng)產(chǎn)生的程序代碼平滑移植到系統(tǒng)硬件層,從而有力地保證了系統(tǒng)軟件的健壯性;模塊化結(jié)構(gòu)設(shè)計(jì)使得模塊能夠得到充分的重用;模塊間通過端口(內(nèi)含契約接口)進(jìn)行通信,從而確保系統(tǒng)軟件實(shí)現(xiàn)與硬件的無關(guān)性。
本發(fā)明對(duì)開發(fā)商來說,可為不同用戶量身定做個(gè)性化的數(shù)控系統(tǒng),對(duì)用戶方來說,則可以通過對(duì)本系統(tǒng)的重新配置以適應(yīng)不同的數(shù)控加工需求。
圖1、本發(fā)明實(shí)施例計(jì)算機(jī)數(shù)控系統(tǒng)模塊構(gòu)成示意圖。
圖2、本發(fā)明實(shí)施例計(jì)算機(jī)數(shù)控系統(tǒng)中主軸的狀態(tài)示意圖。
圖3、本發(fā)明實(shí)施例計(jì)算機(jī)數(shù)控系統(tǒng)的組件實(shí)現(xiàn)框圖。
圖4、用戶對(duì)本發(fā)明實(shí)施例計(jì)算機(jī)數(shù)控系統(tǒng)進(jìn)行配置的流程示意圖。
圖1中A.控制器類模塊,2.數(shù)字量輸入/輸出(IO)設(shè)備對(duì)象模塊,3.機(jī)床代碼檢查器對(duì)象模塊,4.機(jī)床代碼解釋器對(duì)象模塊,5.輔助設(shè)備協(xié)調(diào)對(duì)象模塊,6.模擬量轉(zhuǎn)數(shù)字量(AD)設(shè)備對(duì)象模塊,7.數(shù)字量轉(zhuǎn)模擬量(DA)設(shè)備對(duì)象模塊,8.運(yùn)動(dòng)軸和主軸協(xié)調(diào)對(duì)象模塊,9.運(yùn)動(dòng)軸對(duì)象模塊,10.主軸對(duì)象模塊,11.端口,12.接口,B.表示單一關(guān)系,C.表示多重關(guān)系。
其中,單一關(guān)系表示兩個(gè)對(duì)象模塊是一對(duì)一關(guān)系,多重關(guān)系表示對(duì)象模塊之間是多對(duì)多的關(guān)系,圖1所示對(duì)象關(guān)系上的“*”號(hào)表示該對(duì)象可以有任意個(gè)相對(duì)應(yīng)的模塊實(shí)例,對(duì)象關(guān)系上的“1”表示該對(duì)象有1個(gè)相對(duì)應(yīng)的模塊實(shí)例。
具體實(shí)施例方式
下面結(jié)合實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步說明。
如圖1所示,本例設(shè)有運(yùn)動(dòng)軸和主軸協(xié)調(diào)對(duì)象模塊8,該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)動(dòng)態(tài)創(chuàng)建所需數(shù)量的運(yùn)動(dòng)軸對(duì)象模塊9和主軸對(duì)象模塊10,并協(xié)調(diào)多個(gè)運(yùn)動(dòng)軸對(duì)象模塊(比如X軸、Z軸等)的同步運(yùn)動(dòng)控制、主軸的運(yùn)動(dòng)控制以及運(yùn)動(dòng)軸與主軸的同步控制;輔助設(shè)備對(duì)象協(xié)調(diào)模塊5,該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)動(dòng)態(tài)創(chuàng)建所需數(shù)量的外部輔助設(shè)備對(duì)象模塊,它包括IO設(shè)備對(duì)象模塊2、AD設(shè)備對(duì)象模塊6、DA設(shè)備對(duì)象模塊7,并協(xié)調(diào)這些模塊實(shí)現(xiàn)對(duì)機(jī)床輔助設(shè)備的控制;機(jī)床代碼檢查器對(duì)象模塊3,該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)根據(jù)所需機(jī)床類型(如車床、銑床等)調(diào)用相應(yīng)的機(jī)床代碼檢查子程序模塊;機(jī)床代碼解釋器對(duì)象模塊4,該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)根據(jù)所需求的機(jī)床類型(如車床、銑床等)調(diào)用相應(yīng)的機(jī)床代碼解釋子程序模塊,并利用端口11通過其契約接口12將相應(yīng)的子程序模塊下載至底層硬件供數(shù)控加工中機(jī)床代碼的實(shí)時(shí)解釋用;控制器類模塊A作為組合類包含上述的各對(duì)象模塊,負(fù)責(zé)分別創(chuàng)建單一的機(jī)床代碼檢查器對(duì)象模塊3、機(jī)床代碼解釋器對(duì)象模塊4、輔助設(shè)備對(duì)象協(xié)調(diào)模塊5、運(yùn)動(dòng)軸和主軸協(xié)調(diào)對(duì)象模塊8,并負(fù)責(zé)協(xié)調(diào)其行為。對(duì)于開發(fā)商可以在該組合類模塊內(nèi)通過增減或置換相應(yīng)的模塊來改變數(shù)控系統(tǒng)的功能。
控制器類模塊A與外部人機(jī)界面和底層硬件設(shè)備的交互是通過它們之間的端口利用其對(duì)應(yīng)的契約接口來實(shí)現(xiàn),控制器類模塊內(nèi)部具有端口的對(duì)象模塊如主軸對(duì)象模塊10與外部人機(jī)界面和底層硬件設(shè)備的交互則是通過控制器類模塊相對(duì)應(yīng)的端口及接口來實(shí)現(xiàn),不具有端口的對(duì)象模塊如機(jī)床代碼檢查器對(duì)象模塊3則由控制器類模塊直接進(jìn)行內(nèi)部調(diào)用。
本發(fā)明主軸對(duì)象模塊的功能與其行為相分離,可通過改變其狀態(tài)圖來對(duì)其功能執(zhí)行的條件、狀態(tài)、時(shí)序等進(jìn)行調(diào)度,從而實(shí)現(xiàn)在模塊功能不變的情況下的重用。見圖2,例如當(dāng)主軸對(duì)象行為處于禁止?fàn)顟B(tài)時(shí),若控制器類模塊1通過相應(yīng)端口發(fā)出evEnableSpindle事件,即可實(shí)現(xiàn)主軸對(duì)象模塊10進(jìn)入到使能狀態(tài)。使能狀態(tài)內(nèi)的水平虛線將其分為兩個(gè)同步狀態(tài)區(qū)域,停止?fàn)顟B(tài)和設(shè)定主軸倍率狀態(tài)分別為其初始狀態(tài)。若此時(shí)控制器類模塊1通過相應(yīng)端口發(fā)出evMoveCW事件,主軸對(duì)象模塊10便會(huì)使用系統(tǒng)默認(rèn)的主軸倍率通過相應(yīng)端口(port)實(shí)時(shí)調(diào)用底層硬件moveCW函數(shù)使主軸正轉(zhuǎn),并進(jìn)入到正轉(zhuǎn)狀態(tài)。在主軸處于正轉(zhuǎn)狀態(tài)時(shí),若控制器類模塊通過相應(yīng)端口同時(shí)發(fā)出evSpindleRatePlus事件和evMoveCW事件,主軸對(duì)象模塊10便會(huì)通過調(diào)用spindleRatePuls函數(shù)來更新主軸倍率,并通過設(shè)定主軸倍率狀態(tài)反身轉(zhuǎn)換再次進(jìn)入到設(shè)定主軸倍率狀態(tài),與其同步的正轉(zhuǎn)狀態(tài)也由于evMoveCW事件的觸發(fā)使得主軸對(duì)象模塊通過相應(yīng)端口再次調(diào)用底層硬件moveCW函數(shù),從而使主軸以新的主軸倍率設(shè)定值實(shí)時(shí)地實(shí)現(xiàn)正轉(zhuǎn)。圖1中其它模塊功能的調(diào)度也是采用狀態(tài)圖來實(shí)現(xiàn)。
本實(shí)施例內(nèi)容都是基于模型驅(qū)動(dòng)開發(fā)方法,采用統(tǒng)一建模語言對(duì)這些模塊進(jìn)行建模,并在模型層對(duì)系統(tǒng)進(jìn)行重配置和驗(yàn)證,通過狀態(tài)圖的變化可以清晰地看到各對(duì)象模塊所處的狀態(tài)及所正在執(zhí)行的功能,從而實(shí)現(xiàn)在模型層對(duì)數(shù)控系統(tǒng)的驗(yàn)證。
見圖3,GUI為開放式結(jié)構(gòu)數(shù)控系統(tǒng)的可執(zhí)行人機(jī)界面組件,CNC_LIB是由通過驗(yàn)證的系統(tǒng)模型自動(dòng)生成的函數(shù)庫組件,二者運(yùn)行在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境之下。Hardware_LIB是實(shí)時(shí)運(yùn)行在底層硬件上的硬件函數(shù)庫組件,GUI通過相應(yīng)端口對(duì)CNC_LIB進(jìn)行調(diào)用,進(jìn)而CNC_LIB通過相應(yīng)端口對(duì)Hardware_LIB進(jìn)行調(diào)用,從而實(shí)現(xiàn)數(shù)控機(jī)床的控制需求。
圖4顯示了用戶重新配置本數(shù)控系統(tǒng)的示意流程圖。在用戶啟動(dòng)數(shù)控系統(tǒng)后,系統(tǒng)通過人機(jī)界面顯示當(dāng)然的配置情況(步驟401),并提示用戶是否要重新配置該系統(tǒng)(步驟402),若否則生成默認(rèn)的數(shù)控系統(tǒng)(步驟403),若需要重新配置該數(shù)控系統(tǒng),則要求用戶通過人機(jī)界面進(jìn)行重新配置(步驟404),包括用戶所需機(jī)床類型、運(yùn)動(dòng)軸數(shù)、主軸數(shù)、外圍輔助設(shè)備的類型和數(shù)量等內(nèi)容,進(jìn)而就可以生成新的符合用戶需求的數(shù)控系統(tǒng)(步驟405),最后即可運(yùn)行該數(shù)控系統(tǒng)以實(shí)現(xiàn)不同的應(yīng)用需求(步驟406)。
權(quán)利要求
1.一種可重配置的開放式結(jié)構(gòu)計(jì)算機(jī)數(shù)控系統(tǒng),其特征在于首先將數(shù)控系統(tǒng)進(jìn)行功能模塊劃分,基于模型驅(qū)動(dòng)開發(fā)方法,采用統(tǒng)一建模語言對(duì)這些模塊進(jìn)行建模,作為組合類的模塊還可以包含其它類模塊的對(duì)象實(shí)例,所得到的模型為可執(zhí)行模型且與由模型自動(dòng)生成的代碼保持同步,并支持由模型到代碼的正向工程和由代碼到模型的逆向工程,使得系統(tǒng)設(shè)計(jì)開發(fā)與驗(yàn)證處于同一模型抽象層;所述模塊的功能與其行為相分離,通過改變相應(yīng)模塊的狀態(tài)圖來對(duì)其功能執(zhí)行的條件、狀態(tài)、時(shí)序等進(jìn)行調(diào)度,從而實(shí)現(xiàn)對(duì)模塊功能的重用;所述模塊間的通信通過端口進(jìn)行,而端口則利用其契約抽象接口與人機(jī)界面和底層硬件設(shè)備進(jìn)行交互,從而實(shí)現(xiàn)數(shù)控系統(tǒng)應(yīng)用程序與人機(jī)界面的簡(jiǎn)潔交互以及與硬件的無關(guān)性,使相關(guān)硬件應(yīng)用程序符合系統(tǒng)所提供的接口功能要求,以實(shí)現(xiàn)與數(shù)控系統(tǒng)應(yīng)用程序的無縫連接;在模型層通過增減或置換相應(yīng)的模塊實(shí)現(xiàn)對(duì)系統(tǒng)功能的改變,通過對(duì)類模塊對(duì)象實(shí)例數(shù)的定制實(shí)現(xiàn)同一類模塊的多個(gè)對(duì)象實(shí)例的動(dòng)態(tài)生成。
2.根據(jù)權(quán)利要求1所述的可重配置的開放式結(jié)構(gòu)計(jì)算機(jī)數(shù)控系統(tǒng),其特征在于所述的功能模塊設(shè)有運(yùn)動(dòng)軸和主軸協(xié)調(diào)對(duì)象模塊(8),該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)動(dòng)態(tài)創(chuàng)建所需數(shù)量的運(yùn)動(dòng)軸對(duì)象模塊(9)和主軸對(duì)象模塊(10),并協(xié)調(diào)多個(gè)運(yùn)動(dòng)軸對(duì)象模塊的同步運(yùn)動(dòng)控制、主軸的運(yùn)動(dòng)控制以及運(yùn)動(dòng)軸與主軸的同步控制;輔助設(shè)備對(duì)象協(xié)調(diào)模塊(5),該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)動(dòng)態(tài)創(chuàng)建所需數(shù)量的外部輔助設(shè)備對(duì)象模塊,它包括IO設(shè)備對(duì)象模塊(2)、AD設(shè)備對(duì)象模塊(6)、DA設(shè)備對(duì)象模塊(7),并協(xié)調(diào)這些模塊實(shí)現(xiàn)對(duì)機(jī)床輔助設(shè)備的控制;機(jī)床代碼檢查器對(duì)象模塊(3),該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)根據(jù)所需機(jī)床類型調(diào)用相應(yīng)的機(jī)床代碼檢查子程序模塊;機(jī)床代碼解釋器對(duì)象模塊(4),該對(duì)象模塊有1個(gè)相對(duì)應(yīng)的模塊實(shí)例其功能是負(fù)責(zé)根據(jù)所需求的機(jī)床類型(如車床、銑床等)調(diào)用相應(yīng)的機(jī)床代碼解釋子程序模塊,并利用端口(11)通過其契約接口(12)將相應(yīng)的子程序模塊下載至底層硬件供數(shù)控加工中機(jī)床代碼的實(shí)時(shí)解釋用;控制器類模塊(A)作為組合類包含上述的各對(duì)象模塊,負(fù)責(zé)分別創(chuàng)建單一的機(jī)床代碼檢查器對(duì)象模塊(3)、機(jī)床代碼解釋器對(duì)象模塊(4)、輔助設(shè)備對(duì)象協(xié)調(diào)模塊(5)、運(yùn)動(dòng)軸和主軸協(xié)調(diào)對(duì)象模塊(8),并負(fù)責(zé)協(xié)調(diào)其行為;所述控制器類模塊(A)與外部人機(jī)界面和底層硬件設(shè)備的交互是通過它們之間的端口利用其對(duì)應(yīng)的契約接口來實(shí)現(xiàn),控制器類模塊內(nèi)部具有端口的對(duì)象模塊如主軸對(duì)象模(10)與外部人機(jī)界面和底層硬件設(shè)備的交互則是通過控制器類模塊相對(duì)應(yīng)的端口及接口來實(shí)現(xiàn),不具有端口的對(duì)象模塊如機(jī)床代碼檢查器對(duì)象模塊(3)則由控制器類模塊直接進(jìn)行內(nèi)部調(diào)用。
全文摘要
一種可重配置的開放式結(jié)構(gòu)計(jì)算機(jī)數(shù)控系統(tǒng),本發(fā)明將數(shù)控系統(tǒng)進(jìn)行功能模塊劃分,基于模型驅(qū)動(dòng)開發(fā)方法進(jìn)行建模,模塊的功能與其行為相分離,使得通過改變相應(yīng)模塊的狀態(tài)圖來對(duì)其功能執(zhí)行的條件等進(jìn)行調(diào)度,實(shí)現(xiàn)對(duì)模塊功能的重用;模塊間的通信通過端口進(jìn)行,端口則利用其契約抽象接口與人機(jī)界面和底層硬件設(shè)備進(jìn)行交互,使相關(guān)硬件應(yīng)用程序符合系統(tǒng)所提供的接口功能要求,在模型層通過增減或置換相應(yīng)的模塊實(shí)現(xiàn)對(duì)系統(tǒng)功能的改變,本系統(tǒng)只需經(jīng)開發(fā)商和用戶進(jìn)行簡(jiǎn)單的重配置,即能方便地適應(yīng)不同控制對(duì)象的需求,其模塊化結(jié)構(gòu)設(shè)計(jì)使得模塊能夠得到充分的重用;本發(fā)明能確保系統(tǒng)軟件與硬件的無關(guān)性,能夠?qū)崿F(xiàn)在底層硬件實(shí)現(xiàn)之前即可對(duì)系統(tǒng)進(jìn)行驗(yàn)證。
文檔編號(hào)G05B15/02GK1601416SQ20041005184
公開日2005年3月30日 申請(qǐng)日期2004年10月15日 優(yōu)先權(quán)日2004年10月15日
發(fā)明者李迪, 高軍禮 申請(qǐng)人:李迪, 高軍禮