王謙
(宿州職業(yè)技術(shù)學(xué)院 安徽·宿州 234000)
?
基于運(yùn)動(dòng)控制卡的開放式數(shù)控系統(tǒng)研究與開發(fā)
王謙
(宿州職業(yè)技術(shù)學(xué)院安徽·宿州234000)
摘要:對(duì)基于PC+運(yùn)動(dòng)控制卡的開放式數(shù)控系統(tǒng)進(jìn)行了研究與開發(fā),首先設(shè)計(jì)了此開放式數(shù)控系統(tǒng)的體系結(jié)構(gòu),然后通過硬件組建連接及軟件系統(tǒng)開發(fā)組建了一個(gè)基于運(yùn)動(dòng)控制卡的開放式數(shù)控系統(tǒng),并實(shí)現(xiàn)了數(shù)控系統(tǒng)的基本功能,同時(shí)闡述了該系統(tǒng)的硬件結(jié)構(gòu)組成和軟件功能模塊的開發(fā)原理。實(shí)踐證明這種開放式數(shù)控系統(tǒng)具有開發(fā)周期短、開發(fā)成本低、靈活性強(qiáng)、控制精度高等優(yōu)點(diǎn)。
關(guān)鍵詞:數(shù)控系統(tǒng);開放式結(jié)構(gòu);運(yùn)動(dòng)控制卡
傳統(tǒng)數(shù)控系統(tǒng)有著體系封閉、兼容性差、功能不易擴(kuò)展、人機(jī)界面不豐富等缺點(diǎn),給機(jī)床制造商的生產(chǎn)和最終用戶的使用、升級(jí)等帶來諸多不便,也使得數(shù)控系統(tǒng)很難應(yīng)用上計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的最新成果,這些都阻礙了數(shù)控技術(shù)的進(jìn)一步發(fā)展。為解決上述問題,PC技術(shù)開始融入數(shù)控技術(shù)領(lǐng)域,從上世紀(jì)九十年代開始,國外許多企業(yè)和研究機(jī)構(gòu)在基于PC的開放式數(shù)控系統(tǒng)上做了大量的研究工作,取得了一系列的成果。研究成果表明,開放式數(shù)控系統(tǒng)可成功地解決上述問題,是未來數(shù)控系統(tǒng)的發(fā)展方向。
1.1開放式數(shù)控系統(tǒng)的常見組建形式
目前大多數(shù)的開放式數(shù)控系統(tǒng)都是以PC機(jī)為平臺(tái)進(jìn)行體系組建的。開放式數(shù)控系統(tǒng)可以利用PC機(jī)標(biāo)準(zhǔn)化、高性能的硬件資源來選配自身硬件設(shè)備,體現(xiàn)其硬件設(shè)備的標(biāo)準(zhǔn)性、靈活性和高運(yùn)算速度;利用PC機(jī)豐富的軟件資源和強(qiáng)大的開發(fā)工具來進(jìn)行數(shù)控系統(tǒng)控制功能的開發(fā)、軟件功能的擴(kuò)展及人機(jī)界面、通訊聯(lián)網(wǎng)等功能的豐富。目前通過PC_NC形式來組建開放式數(shù)控系統(tǒng)的方式主要有三種: PC嵌入NC型、NC嵌入PC型、純PC全軟件型。
(1)PC嵌入NC型。這種結(jié)構(gòu)是在傳統(tǒng)的專用數(shù)控系統(tǒng)上擴(kuò)展出PC接口,PC通過計(jì)算機(jī)總線連接到傳統(tǒng)專用數(shù)控上。這種結(jié)構(gòu)的優(yōu)點(diǎn)是傳統(tǒng)專用數(shù)控不需要做改動(dòng)就可以工作,嵌入的PC機(jī)則可以用來處理非實(shí)時(shí)的任務(wù)。但這種結(jié)構(gòu)保留了原有數(shù)控系統(tǒng)的封閉性,它的開放性只限于嵌入的PC部分。
(2)NC嵌入PC型。這種結(jié)構(gòu)是將整個(gè)NC功能硬件插入到PC的擴(kuò)展槽中,PC和NC之間通過PC總線進(jìn)行連接和通訊。這種結(jié)構(gòu)一般采用上、下位機(jī)的交互通訊模式。這種結(jié)構(gòu)具有上、下兩級(jí)的開放性,且開發(fā)成本較低。
(3)純PC全軟件型。這種結(jié)構(gòu)將數(shù)控系統(tǒng)看作是PC機(jī)上的一個(gè)應(yīng)用軟件,數(shù)控系統(tǒng)的所有控制功能均由安裝在PC機(jī)上的控制軟件來實(shí)現(xiàn)。它的硬件部分基本上只含PC機(jī)、伺服系統(tǒng)及相應(yīng)接口。這種數(shù)控系統(tǒng)具有完全開放的體系結(jié)構(gòu)。但這種結(jié)構(gòu)的軟件開發(fā)具有相當(dāng)?shù)募夹g(shù)難度。
上述三種組建形式中,PC嵌入NC型的開放程度較低且其仍依賴于傳統(tǒng)的封閉的數(shù)控系統(tǒng)技術(shù)。純PC全軟件型的硬件成本最低,但是軟件的開發(fā)最復(fù)雜,不易于實(shí)現(xiàn)。NC嵌入PC型的結(jié)構(gòu)緊湊、開放程度較高、易于實(shí)現(xiàn),因此在實(shí)際中被廣泛的應(yīng)用,是開放式數(shù)控系統(tǒng)體系的主要組建形式。
1.2基于PC+運(yùn)動(dòng)控制卡的開放式數(shù)控系統(tǒng)的結(jié)構(gòu)分析
本文參照歐洲OSACA開放式數(shù)控系統(tǒng)的標(biāo)準(zhǔn)體系,以PC機(jī)為平臺(tái),采用NC嵌入PC型的組建形式,設(shè)計(jì)開發(fā)了基于“PC+運(yùn)動(dòng)控制卡”的開放式數(shù)控系統(tǒng),其體系結(jié)構(gòu)如圖1所示:
圖1 開放式數(shù)控系統(tǒng)的體系結(jié)構(gòu)
這種開放式數(shù)控系統(tǒng)采用兩級(jí)計(jì)算機(jī)的上、下位機(jī)結(jié)構(gòu),上位機(jī)是PC機(jī),下位機(jī)是運(yùn)動(dòng)控制卡。PC機(jī)負(fù)責(zé)人機(jī)交互、程序編輯和監(jiān)控等非實(shí)時(shí)處理,用戶在開發(fā)的人機(jī)交互界面中,可以建立與運(yùn)動(dòng)控制卡的通訊,設(shè)置運(yùn)動(dòng)控制卡的相關(guān)參數(shù),通過安裝在PC機(jī)上的CAM軟件生成數(shù)控加工程序,并將其傳送給運(yùn)動(dòng)控制卡,可以讓運(yùn)動(dòng)控制卡執(zhí)行該程序,同時(shí)還可以監(jiān)視運(yùn)動(dòng)控制卡中的各種開關(guān)、運(yùn)動(dòng)信息等;運(yùn)動(dòng)控制卡負(fù)責(zé)機(jī)床的運(yùn)動(dòng)控制和邏輯控制等實(shí)時(shí)控制,它既要執(zhí)行PC機(jī)發(fā)來的運(yùn)動(dòng)程序和PLC程序,完成插補(bǔ)運(yùn)算、位置控制、刀補(bǔ)、速度處理、PLC控制等實(shí)時(shí)控制,又要不斷地向人機(jī)交互界面反饋各軸當(dāng)前坐標(biāo)、各種開關(guān)、運(yùn)動(dòng)參數(shù)等信息。上位機(jī)和下位機(jī)之間的通訊和控制靠開發(fā)專門的軟件來實(shí)現(xiàn)。
這種結(jié)構(gòu)具有上、下兩級(jí)的開放性。在軟件方面,可以利用PC機(jī)豐富的軟件資源和開發(fā)工具,對(duì)軟件功能進(jìn)行擴(kuò)展和豐富,可以對(duì)運(yùn)動(dòng)控制卡的函數(shù)庫進(jìn)行深層開發(fā),以擴(kuò)充它的控制功能;在硬件方面,PC機(jī)的硬件已經(jīng)標(biāo)準(zhǔn)化、通用化,完全滿足互換性的要求,運(yùn)動(dòng)控制卡通常有專用或通用的,而且廠商會(huì)不定時(shí)推出升級(jí)產(chǎn)品,開發(fā)者可根據(jù)實(shí)際需要有針對(duì)性的進(jìn)行選擇,以提升數(shù)控系統(tǒng)的適用性和性能。
2.1硬件系統(tǒng)平臺(tái)的構(gòu)建設(shè)計(jì)
通常數(shù)控系統(tǒng)由數(shù)控裝置和伺服系統(tǒng)兩部分組成,各公司的數(shù)控系統(tǒng)產(chǎn)品也是將兩者作為一體的。數(shù)控裝置是控制機(jī)床運(yùn)動(dòng)的中樞系統(tǒng),通常包括以下幾個(gè)部分:中央處理單元、ROM、RAM、I/O設(shè)備、操作面板、顯示器等;它的基本任務(wù)是根據(jù)接收到的NC控制指令,參考系統(tǒng)的編譯規(guī)則對(duì)指令進(jìn)行編譯,翻譯成伺服系統(tǒng)能夠識(shí)別的控制信號(hào),并將結(jié)果由輸出裝置送到各坐標(biāo)控制的伺服系統(tǒng)。伺服系統(tǒng)的基本任務(wù)是接收數(shù)控裝置發(fā)出的指令信號(hào),控制機(jī)床執(zhí)行部件以特定的運(yùn)動(dòng)參數(shù)完成零件的自動(dòng)加工動(dòng)作,它主要包括伺服驅(qū)動(dòng)器和伺服電機(jī)。
本文是在原Leadway_v450數(shù)控加工中心的基礎(chǔ)上開發(fā)的基于“PC+運(yùn)動(dòng)控制卡”的開放式數(shù)控系統(tǒng),同樣從數(shù)控裝置和伺服系統(tǒng)兩個(gè)方面來搭建硬件系統(tǒng)平臺(tái)。伺服系統(tǒng)采用原加工中心自帶的,其伺服系統(tǒng)由主軸系統(tǒng)、伺服驅(qū)動(dòng)器和伺服電機(jī)組成,而主軸系統(tǒng)也是由伺服驅(qū)動(dòng)器驅(qū)動(dòng)的,因此在這方面只需要做好運(yùn)動(dòng)控制卡與伺服驅(qū)動(dòng)器的連接即可,讓運(yùn)動(dòng)控制卡可以控制原伺服驅(qū)動(dòng)器。數(shù)控裝置方面由PC機(jī)、運(yùn)動(dòng)控制卡、端子板、鍵盤、鼠標(biāo)等外設(shè)構(gòu)成,其中運(yùn)動(dòng)控制卡是整個(gè)數(shù)控裝置的核心部件。硬件系統(tǒng)平臺(tái)的整體構(gòu)建設(shè)計(jì)如圖2所示:
圖2 硬件系統(tǒng)平臺(tái)的整體構(gòu)建設(shè)計(jì)
2.2固高運(yùn)動(dòng)控制卡簡介
在本文所開發(fā)的開放式數(shù)控系統(tǒng)中,運(yùn)動(dòng)控制卡最終實(shí)現(xiàn)機(jī)床的數(shù)控功能,是整個(gè)數(shù)控裝置的核心部件。在滿足功能需求又兼顧經(jīng)濟(jì)性的條件下,本文運(yùn)動(dòng)控制卡選用的是深圳固高科技生產(chǎn)的GT_400_SV_PCI。該運(yùn)動(dòng)控制卡的核心處理器由ADSP2182數(shù)字信號(hào)處理器和FPGA組成,DSP具有優(yōu)越的高速數(shù)據(jù)處理功能,F(xiàn)PGA具有超強(qiáng)的邏輯處理功能,二者結(jié)合在一起使運(yùn)動(dòng)控制卡的性能更加地優(yōu)越,可以實(shí)現(xiàn)高性能的控制計(jì)算;該卡采用PCI總線與計(jì)算機(jī)相連,它可以同步控制四個(gè)運(yùn)動(dòng)軸,支持多軸直線插補(bǔ)和圓弧插補(bǔ);該產(chǎn)品具有梯形曲線、S型曲線、JOG模式等點(diǎn)位運(yùn)動(dòng)規(guī)劃功能,它還具有電子齒輪同步運(yùn)動(dòng)規(guī)劃功能,可以實(shí)現(xiàn)高速點(diǎn)位運(yùn)動(dòng)控制和高性能的多軸協(xié)調(diào)運(yùn)動(dòng)控制。
軟件上,固高運(yùn)動(dòng)控制卡提供了由高級(jí)語言編寫的函數(shù)庫,該函數(shù)庫包含了數(shù)控機(jī)床基本的控制功能,并以動(dòng)態(tài)鏈接庫的形式提供給開發(fā)者使用。開發(fā)者可以使用支持動(dòng)態(tài)鏈接庫的軟件開發(fā)工具來開發(fā)應(yīng)用程序以實(shí)現(xiàn)復(fù)雜的控制功能。
3.1 NC功能控制軟件的總體層次設(shè)計(jì)
開放式數(shù)控系統(tǒng)的軟件系統(tǒng)包括操作系統(tǒng)和NC功能控制軟件兩個(gè)部分,軟件系統(tǒng)的開發(fā)主要是指NC功能控制軟件的開發(fā)。為了方便開發(fā)者進(jìn)行NC軟件的開發(fā),通常將數(shù)控系統(tǒng)應(yīng)具備的所有功能以模塊化的方式進(jìn)行劃分,先劃分大的模塊,再逐級(jí)細(xì)分,最后將數(shù)控系統(tǒng)的所有功能劃分為一個(gè)個(gè)的基礎(chǔ)功能模塊,開發(fā)者只要能通過軟件開發(fā)將所有的基礎(chǔ)功能模塊實(shí)現(xiàn),便可實(shí)現(xiàn)數(shù)控系統(tǒng)的所有功能。NC功能控制軟件其實(shí)就是由所有的基礎(chǔ)功能模塊組成的模塊庫。
參照傳統(tǒng)數(shù)控系統(tǒng),可以將數(shù)控系統(tǒng)軟件部分的功能劃分為系統(tǒng)管理類功能模塊和系統(tǒng)控制類功能模塊。系統(tǒng)管理類功能模塊主要負(fù)責(zé)對(duì)系統(tǒng)的監(jiān)管,保證系統(tǒng)的正常運(yùn)行,以及為系統(tǒng)控制功能模塊提供必要的支持和服務(wù),它包括系統(tǒng)通訊、系統(tǒng)初始化、參數(shù)管理、系統(tǒng)顯示、NC程序管理、故障診斷等模塊;系統(tǒng)控制類功能模塊主要負(fù)責(zé)提供數(shù)控系統(tǒng)完成加工功能所必須的服務(wù),具體包括NC程序預(yù)處理、刀具補(bǔ)償、自動(dòng)運(yùn)行、手動(dòng)運(yùn)行、運(yùn)動(dòng)監(jiān)視、I/O控制等模塊。
3.2基礎(chǔ)功能模塊的軟件開發(fā)原理及實(shí)現(xiàn)機(jī)制
固高GT_400_SV_PCI運(yùn)動(dòng)控制卡提供了由高級(jí)語言VC++編寫的函數(shù)庫GT400.d11,并以動(dòng)態(tài)鏈接庫的形式提供給用戶使用。該函數(shù)庫中含有200多個(gè)最基本的控制函數(shù),基本囊括了運(yùn)動(dòng)控制卡所有的最基本、最底層的控制功能,用戶可以使用支持動(dòng)態(tài)鏈接庫的高級(jí)編程語言如VC++、VB、De1Phi等來開發(fā)應(yīng)用程序,通過在應(yīng)用程序中調(diào)用庫中的函數(shù)來實(shí)現(xiàn)特定的控制功能。單個(gè)函數(shù)功能比較單一,實(shí)現(xiàn)某一基本數(shù)控功能往往需要調(diào)用多個(gè)函數(shù)組合才能完成。NC軟件基礎(chǔ)功能模塊的開發(fā)過程其實(shí)就是使用高級(jí)編程語言編寫程序、在程序中調(diào)用函數(shù)的過程;基礎(chǔ)功能模塊的實(shí)現(xiàn)過程其實(shí)就是通過編寫的程序讓運(yùn)動(dòng)控制卡完成調(diào)用函數(shù)的過程。基礎(chǔ)功能模塊的開發(fā)原理及實(shí)現(xiàn)機(jī)制如圖3所示:
圖3 各基礎(chǔ)功能模塊的開發(fā)原理及實(shí)現(xiàn)機(jī)制
圖4所示為使用VC++編程語言針對(duì)坐標(biāo)軸回零功能模塊的開發(fā)所編寫的程序內(nèi)容,從圖中可以看出為實(shí)現(xiàn)這一基本功能模塊,程序中組合調(diào)用了函數(shù)庫GT400.d11中的多個(gè)基本函數(shù)(GT_開頭的均為函數(shù)庫中的函數(shù))。
圖4 坐標(biāo)軸回零功能模塊的程序編寫
硬件系統(tǒng)平臺(tái)的調(diào)試主要通過以下步驟完成,如圖5所示:
圖5 硬件系統(tǒng)平臺(tái)調(diào)試過程
經(jīng)過硬件平臺(tái)的調(diào)試,確定硬件平臺(tái)的連接沒有問題之后,本文對(duì)系統(tǒng)的多軸運(yùn)動(dòng)控制功能做了一個(gè)簡單測(cè)試。首先寫了一個(gè)簡單的三軸聯(lián)動(dòng)G代碼程序(在XY平面的運(yùn)動(dòng)居多),然后通過開發(fā)的NC控制軟件編譯并驅(qū)動(dòng)組建的開放式數(shù)控系統(tǒng)運(yùn)行該程序,在主軸上裝了一支鉛筆用于描繪XY平面走刀軌跡,運(yùn)行結(jié)束后對(duì)鉛筆描繪軌跡進(jìn)行了測(cè)量,G代碼程序的仿真驅(qū)動(dòng)界面和實(shí)際運(yùn)行軌跡如圖6和7所示:證明開發(fā)的開放式數(shù)控系統(tǒng)具有三軸聯(lián)動(dòng)軌跡控制功能,且精度良好。接著本文又對(duì)此數(shù)控系統(tǒng)的其他基本功能一一做了測(cè)試,都得到了實(shí)現(xiàn)。
圖6 G代碼程序仿真及驅(qū)動(dòng)界面
圖7 G代碼程序?qū)嶋H運(yùn)行軌跡
在原Leadway_v450數(shù)控加工中心的基礎(chǔ)上開發(fā)了基于運(yùn)動(dòng)控制卡的開放式數(shù)控系統(tǒng),并進(jìn)行了試驗(yàn)研究,試驗(yàn)結(jié)果表明所組建的開放式數(shù)控系統(tǒng)功能和性能滿足設(shè)計(jì)要求,這種開放式數(shù)控系統(tǒng)具有開發(fā)周期短、開發(fā)成本低、靈活性強(qiáng)、控制精度高等優(yōu)點(diǎn),具有很強(qiáng)的現(xiàn)實(shí)意義。同時(shí)由于運(yùn)動(dòng)控制卡的功能十分強(qiáng)大,許多功能還沒有開發(fā)利用,所以此開放式數(shù)控系統(tǒng)還具有較大的開發(fā)空間。
作者簡介:王謙,男,宿州職業(yè)技術(shù)學(xué)院助教,碩士研究生。
中圖分類號(hào):TH-39
【文獻(xiàn)標(biāo)識(shí)碼】A
文章編號(hào):1009-8534(2016)02-154-03