摘 要:以開(kāi)放式軟數(shù)控系統(tǒng)為基礎(chǔ),建立并開(kāi)發(fā)了一個(gè)數(shù)控系統(tǒng)原理實(shí)驗(yàn)與教學(xué)平臺(tái)。以模塊化方法建立了開(kāi)放式軟數(shù)控系統(tǒng)的軟件核心,各模塊間通過(guò)應(yīng)用程序接口和共享內(nèi)存進(jìn)行交互。通過(guò)程序代碼編寫、系統(tǒng)調(diào)試、系統(tǒng)運(yùn)行和實(shí)際加工等實(shí)驗(yàn)過(guò)程,說(shuō)明數(shù)控系統(tǒng)的開(kāi)發(fā)與運(yùn)行原理。所建立的實(shí)驗(yàn)教學(xué)平臺(tái)可作為開(kāi)放式數(shù)控系統(tǒng)開(kāi)發(fā)實(shí)踐課程的基礎(chǔ)。
關(guān)鍵詞:開(kāi)放式軟數(shù)控;實(shí)驗(yàn)教學(xué);數(shù)控技術(shù);模塊化
引言
隨著制造業(yè)的不斷發(fā)展,數(shù)控系統(tǒng)與CAD、CAM系統(tǒng)的數(shù)據(jù)交互更加頻繁,對(duì)數(shù)控系統(tǒng)的功能提出了更高的需求,傳統(tǒng)的數(shù)控技術(shù)存在的問(wèn)題日益凸顯,已經(jīng)不能滿足現(xiàn)代制造業(yè)和產(chǎn)品生產(chǎn)的需求[1,2]。在目前的數(shù)控技術(shù)實(shí)踐教學(xué)中,學(xué)生通過(guò)實(shí)際操作完成手動(dòng)控制、編寫G代碼和自動(dòng)運(yùn)行等實(shí)驗(yàn)內(nèi)容,了解和掌握數(shù)控機(jī)床的基本操作方法。開(kāi)放式軟數(shù)控系統(tǒng)具有可互換、可移植、互操作和可擴(kuò)展等特性,其核心功能全部由軟件實(shí)現(xiàn),學(xué)生可以通過(guò)編寫源代碼和程序調(diào)試等實(shí)驗(yàn)內(nèi)容,了解數(shù)控系統(tǒng)底層的工作原理,例如G代碼解釋、插補(bǔ)計(jì)算和總線通信等[3,4]。本文將以開(kāi)放式軟數(shù)控系統(tǒng)為基礎(chǔ),建立一個(gè)用于數(shù)控技術(shù)實(shí)踐教學(xué)的實(shí)驗(yàn)平臺(tái),為描述新型數(shù)控系統(tǒng)的開(kāi)發(fā)過(guò)程與運(yùn)行原理提供軟硬件支持。
1 開(kāi)放式數(shù)控系統(tǒng)實(shí)驗(yàn)臺(tái)設(shè)計(jì)
1.1 硬件平臺(tái)設(shè)計(jì)
本文以開(kāi)放式數(shù)控系統(tǒng)架構(gòu)為基礎(chǔ),采用模塊化體系為結(jié)構(gòu),建立了開(kāi)放式數(shù)控系統(tǒng)架構(gòu),并對(duì)各個(gè)模塊間的交互與協(xié)同工作機(jī)制進(jìn)行了研究。實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)包括硬件平臺(tái)與軟件平臺(tái),實(shí)驗(yàn)平臺(tái)的硬件主要包括3個(gè)部分:
(1)數(shù)控系統(tǒng)。數(shù)控系統(tǒng)為開(kāi)放式軟數(shù)控系統(tǒng),可以在通用計(jì)算機(jī)、工作站和工控機(jī)上運(yùn)行。目前所采用的硬件平臺(tái)為艾訊(AXIOMTEK)工業(yè)PC機(jī)。
(2)伺服驅(qū)動(dòng)系統(tǒng)。伺服系統(tǒng)的主要組成部分是通訊卡、驅(qū)動(dòng)器、IO模塊和電機(jī)。系統(tǒng)所采用的運(yùn)動(dòng)控制總線為SERCOS總線。系統(tǒng)采用的SERCOS接口卡為Bosch Rexroth公司生產(chǎn)的被動(dòng)式SERCOS主站卡,型號(hào)為PCM-S11.2,主控芯片為SERCON816。
(3)加工設(shè)備。加工設(shè)備主要包括機(jī)床本體、夾具和刀具等。機(jī)床本體采用齊齊哈爾第二機(jī)床廠生產(chǎn)的XKV715型3軸立式銑床,改造為雙回轉(zhuǎn)工作臺(tái)式5軸數(shù)控銑床。夾具和刀具會(huì)根據(jù)后續(xù)研究與實(shí)驗(yàn)需要進(jìn)行選擇。
1.2 軟件平臺(tái)設(shè)計(jì)
控制系統(tǒng)開(kāi)發(fā)的軟件平臺(tái)包括系統(tǒng)軟件和應(yīng)用軟件,其中最重要的部分是系統(tǒng)軟件。系統(tǒng)軟件是計(jì)算機(jī)系統(tǒng)最基本的軟件組成部分,主要任務(wù)是控制和協(xié)調(diào)計(jì)算機(jī)及外部設(shè)備,支持應(yīng)用程序開(kāi)發(fā)和運(yùn)行,調(diào)度、監(jiān)控和維護(hù)計(jì)算機(jī)運(yùn)行。系統(tǒng)軟件包括操作系統(tǒng)、程序語(yǔ)言、處理程序、數(shù)據(jù)庫(kù)管理和輔助程序等。
在操作系統(tǒng)方面,本研究選擇了Microsoft公司開(kāi)發(fā)的Windows XP SP2操作系統(tǒng)。Windows系統(tǒng)是目前使用最為廣泛的操作系統(tǒng),有豐富的Win32應(yīng)用程序接口和應(yīng)用程序作為支持,有大量開(kāi)發(fā)人員和終端用戶,因此在控制系統(tǒng)開(kāi)發(fā)平臺(tái)領(lǐng)域得到廣泛的應(yīng)用。
在編程語(yǔ)言方面選擇了應(yīng)用廣泛的C++,由于SERCOS接口在運(yùn)行時(shí)首先要進(jìn)行復(fù)雜的初始化操作,這增加了使用者的開(kāi)發(fā)難度。SERCANS的開(kāi)發(fā)成本和難度依然較高,因此出現(xiàn)了SoftSERCANS的概念,將SERCANS主控功能移植到軟件抽象層,在Windows操作系統(tǒng)基礎(chǔ)上建立實(shí)時(shí)擴(kuò)展子系統(tǒng),保證SERCOS接口通信的實(shí)時(shí)性。
1.3 開(kāi)放式軟數(shù)控系統(tǒng)實(shí)驗(yàn)臺(tái)軟件模塊開(kāi)發(fā)
本文采用模塊化方法來(lái)構(gòu)建數(shù)控系統(tǒng)的軟件內(nèi)核,將數(shù)控系統(tǒng)的功能劃分為不同的功能組,每組功能都由一個(gè)軟件模塊來(lái)實(shí)現(xiàn)。控制器的結(jié)構(gòu)包括4個(gè)主要模塊,分別為人機(jī)界面模塊、譯碼模塊、任務(wù)協(xié)調(diào)模塊和軸組模塊。
人機(jī)界面模塊是基于對(duì)話框的MFC程序,是系統(tǒng)啟動(dòng)的入口。人機(jī)界面模塊首先完成系統(tǒng)的初始化工作,然后啟動(dòng)其它相關(guān)的模塊。在系統(tǒng)運(yùn)行時(shí)接受操作者的輸入,調(diào)用其它模塊的功能對(duì)用戶的輸入進(jìn)行響應(yīng)。系統(tǒng)協(xié)調(diào)模塊進(jìn)程啟動(dòng)后,會(huì)進(jìn)行初始化進(jìn)程間通信、加載實(shí)時(shí)動(dòng)態(tài)鏈接庫(kù)、啟動(dòng)相關(guān)線程和設(shè)置定時(shí)器等工作,在后臺(tái)支撐著整個(gè)數(shù)控系統(tǒng)的運(yùn)行。軸組模塊是基于RTdll的實(shí)時(shí)動(dòng)態(tài)鏈接庫(kù),主要功能是完成插補(bǔ)、加減速、前瞻控制和智能控制等功能,將任務(wù)生成模塊生成的運(yùn)動(dòng)段轉(zhuǎn)化為一系列以插補(bǔ)周期為間隔的目標(biāo)點(diǎn)。
2 系統(tǒng)調(diào)試與運(yùn)行
系統(tǒng)調(diào)試在VC++ 6.0環(huán)境下進(jìn)行,首先打開(kāi)4個(gè)軟件模塊對(duì)應(yīng)的VC工程,從左側(cè)的類視圖與資源視圖中定位具體功能所對(duì)應(yīng)的C++類,然后在右側(cè)的代碼窗口中編寫代碼,實(shí)現(xiàn)具體的功能。系統(tǒng)共有4個(gè)工程,分別為HmiModule、PLCManager、NISTTaskgeneratorModule和AxisGroupModule,對(duì)應(yīng)著4個(gè)軟件模塊。代碼編寫完成后,首先進(jìn)行編譯,確定沒(méi)有錯(cuò)誤和警告后,即可運(yùn)行。HmiModule編譯后生成一個(gè)可執(zhí)行文件,PLCManager編譯后生成一個(gè)實(shí)時(shí)可執(zhí)行文件,NISTTaskgeneratorModule編譯后生成一個(gè)動(dòng)態(tài)鏈接庫(kù),AxisGroupModule編譯后生成一個(gè)實(shí)時(shí)動(dòng)態(tài)鏈接庫(kù)。雙擊HmiModule編譯生成的可執(zhí)行文件,即可打開(kāi)人機(jī)界面。在界面上依次點(diǎn)擊“啟動(dòng)SERCOS”、“寫參數(shù)”和“運(yùn)行CNC”按鈕,即可啟動(dòng)實(shí)時(shí)進(jìn)程。之后,分別切換至手動(dòng)和自動(dòng)模式,測(cè)試相應(yīng)的系統(tǒng)功能。在自動(dòng)模式時(shí),點(diǎn)擊“讀G代碼”按鈕,可以打開(kāi)數(shù)控指令文件,之后點(diǎn)擊“送G代碼”按鈕開(kāi)始傳送,最后點(diǎn)擊“循環(huán)”按鈕開(kāi)始實(shí)際加工。
3 結(jié)束語(yǔ)
本文為數(shù)控技術(shù)實(shí)踐教學(xué)設(shè)計(jì)了一個(gè)基于開(kāi)放式軟數(shù)控系統(tǒng)的實(shí)驗(yàn)平臺(tái),并進(jìn)行了開(kāi)發(fā)與調(diào)試。本實(shí)驗(yàn)臺(tái)可完成數(shù)控系統(tǒng)源代碼編寫、系統(tǒng)調(diào)試、系統(tǒng)運(yùn)行和實(shí)際加工等實(shí)驗(yàn)內(nèi)容。通過(guò)源代碼的編寫、編譯和調(diào)試,能夠使學(xué)生掌握數(shù)控系統(tǒng)底層的運(yùn)行原理,而實(shí)際加工實(shí)驗(yàn)?zāi)軌蛲瓿蓚鹘y(tǒng)數(shù)控技術(shù)實(shí)踐課程的內(nèi)容。本文所開(kāi)發(fā)的實(shí)驗(yàn)教學(xué)平臺(tái)具有開(kāi)放性,可以通過(guò)改寫和添加源代碼與軟件模塊的方式增加新的功能,為各種新型數(shù)控系統(tǒng)功能的實(shí)踐教學(xué)提供了基礎(chǔ)。
參考文獻(xiàn)
[1]M. Babb. The Foundation of Open Architecture Control System[J]. Control Engineering,1996,43(1):75-76.
[2]Richard Zurawski. Open System Architecture for Controls within Automation[J].The Industrial Information Technology Handbook,2005(104):1-3.
[3]李霞.開(kāi)放式軟件化數(shù)控系統(tǒng)相關(guān)技術(shù)的研究與實(shí)現(xiàn)[D].哈爾濱工業(yè)大學(xué),2005:1-12.
[4]G. Pritschow,Y. Altintas, F. Jovane. Open Controller Architecture-Past,Present and Future. CIRP Annals-Manufacturing Technology,2001,50(2):463-470.
作者簡(jiǎn)介:韓德東(1962-),男,黑龍江哈爾濱人,哈爾濱工業(yè)大學(xué)機(jī)電工程學(xué)院工程師,學(xué)士,研究方向:數(shù)控技術(shù)、數(shù)字化制造、模具CAD/CAM技術(shù)等。