最新精品久久,欧美亚洲福利,表妹免费在线观看,久久国产二区,国产三级电影网站,日本特黄久久,成人a在线视频免费观看

基于運(yùn)動(dòng)控制器的數(shù)控軟件研究與開發(fā)

來源:互聯(lián)網(wǎng)

點(diǎn)擊:1217

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:運(yùn)動(dòng)控制器 數(shù)控軟件

      近年來,開放式的數(shù)控系統(tǒng)在工業(yè)領(lǐng)域得到廣泛應(yīng)用,但目前在世界機(jī)床業(yè)中占統(tǒng)治地位的仍是基于專用硬件的數(shù)控系統(tǒng)。這種系統(tǒng)的內(nèi)部細(xì)節(jié)一般屬于企業(yè)機(jī)密,是不開放的。以Windows和運(yùn)動(dòng)控制器構(gòu)建的數(shù)控系統(tǒng)近年得到較大的發(fā)展,但是在數(shù)據(jù)處理的實(shí)時(shí)性上卻無法滿足數(shù)控加工的要求。因此,本文選擇了這種上、下位機(jī)的結(jié)構(gòu),上位機(jī)主要分擔(dān)加工中的弱實(shí)時(shí)部分,下位機(jī)則負(fù)責(zé)強(qiáng)實(shí)時(shí)部分。在Windows環(huán)境下,利用VC++6.0開發(fā)了數(shù)控軟件,并通過二維繪圖實(shí)驗(yàn)平臺(tái)進(jìn)行了實(shí)驗(yàn)驗(yàn)證,系統(tǒng)具備了良好的實(shí)時(shí)性和開放性。

    1 系統(tǒng)構(gòu)成及工作過程

      Computer為通用PC機(jī),充當(dāng)系統(tǒng)的上位機(jī),主要承擔(dān)數(shù)控加工中的弱實(shí)時(shí)部分(如:參數(shù)設(shè)置、G代碼編輯與編譯、圖形仿真、狀態(tài)診斷等)。下位機(jī)則選用了固高科技(深圳)公司研發(fā)的GT4∞SV型四軸通用運(yùn)動(dòng)控制器。該控制器上的DSP充當(dāng)了下位機(jī)的CPU,由于DSP芯片具有很強(qiáng)的數(shù)字信號(hào)處理能力,因此,承擔(dān)數(shù)控加工中的強(qiáng)實(shí)時(shí)部分是能夠滿足要求的。

      運(yùn)行在上位PC機(jī)中的系統(tǒng)管理軟件是人機(jī)交互的媒介。一方面它將系統(tǒng)的各種信息以數(shù)據(jù)或圖形的方式顯示給用戶,另一方面又接收來自用戶輸入的各種數(shù)據(jù)(如:參數(shù)、加工代碼、工件圖形等)。并交由軟件的相關(guān)模塊進(jìn)行處理,處理后的數(shù)據(jù)被保存在PC內(nèi)存上指定的緩沖區(qū)中。一般來說,運(yùn)動(dòng)控制器廠家已在DSP中開發(fā)好了一系列的功能函數(shù),并將它們封裝成一個(gè)動(dòng)態(tài)鏈接庫(kù)文件。上位機(jī)系統(tǒng)軟件就是通過這個(gè)動(dòng)態(tài)鏈接庫(kù)來實(shí)現(xiàn)與運(yùn)動(dòng)控制器的數(shù)據(jù)交換的。

    2 軟件的模塊化設(shè)計(jì)思想與實(shí)例

      2.1 模塊化設(shè)計(jì)思想

      系統(tǒng)軟件的開發(fā)以Windows 2000為操作系統(tǒng),在VC++6.0開發(fā)環(huán)境中,采用C++語(yǔ)言。結(jié)合MFC、Windows API和GT400SV API來實(shí)現(xiàn)。根據(jù)開放式數(shù)控系統(tǒng)的要求與思想。通過類的定義、封裝和繼承技術(shù)來實(shí)現(xiàn)模塊化開發(fā)。

      圖中越靠近圓心的模塊表示核心度越高,最核心的任務(wù)調(diào)度代表系統(tǒng)的主用戶界面,它負(fù)責(zé)整個(gè)系統(tǒng)的任務(wù)調(diào)度工作,被分配予應(yīng)用程序的主線程,因此它的產(chǎn)生與銷毀就代表著應(yīng)用程序的生與死。中間環(huán)分為7個(gè)子功能模塊,每個(gè)子功能模塊又包含著數(shù)目不等的子模塊,各模塊皆由一個(gè)單獨(dú)的類來進(jìn)行標(biāo)識(shí)和處理,在這砦類中設(shè)計(jì)和封裝了一系列的成員函數(shù)和成員變量,用以完成各個(gè)相應(yīng)的子任務(wù)。

      模塊間的通信主要通過兩種方式來實(shí)現(xiàn),環(huán)狀的同層通信和線狀的越層通信。同層通信負(fù)責(zé)同一核心層中各模塊之間的通信工作。第一層主要通過對(duì)象和指針操作來實(shí)現(xiàn)。第二層主要通過開辟數(shù)據(jù)緩沖區(qū)和創(chuàng)建結(jié)構(gòu)體來實(shí)現(xiàn)。越層通信則負(fù)責(zé)同一類別不同核心層模塊間的通信工作。所謂同一類別的模塊即是處于同一個(gè)扇形域內(nèi)的模塊。主要通過菜單管理和視圖管理來實(shí)現(xiàn)。

      對(duì)于這樣一個(gè)同心圓環(huán)結(jié)構(gòu)的模塊化通信框架,任意兩個(gè)模塊間可方便地進(jìn)行通信。當(dāng)應(yīng)用場(chǎng)合發(fā)生改變,需要修改其中的某個(gè)或某幾個(gè)模塊時(shí),只需將其單獨(dú)抽取出來進(jìn)行修改。當(dāng)需要添減系統(tǒng)的模塊時(shí),也無需對(duì)代碼做太大的改動(dòng),因?yàn)槟硞€(gè)模塊的改動(dòng)對(duì)其他模塊問的通信并不會(huì)造成很大的干擾,增強(qiáng)了系統(tǒng)的可伸縮性。

      2.2 主要模塊的分析與實(shí)例

      考慮到本系統(tǒng)在操作上的一些特點(diǎn),如:不會(huì)同時(shí)編輯多個(gè)文檔、需要同時(shí)顯示多項(xiàng)數(shù)據(jù)、后臺(tái)運(yùn)算與前臺(tái)操作必須支持同步等。因此系統(tǒng)軟件采用了單文檔、多視圖和多線程的結(jié)構(gòu)。主程用于處理用戶界面的操作和管理。如:菜單切換、參數(shù)設(shè)置、代碼編輯等。子線程則處理一些純運(yùn)算性質(zhì)的工作,如:代碼編譯、插補(bǔ)運(yùn)算、圖形仿真等。

      2.2.1 任務(wù)調(diào)度模塊

      任務(wù)調(diào)度模塊是系統(tǒng)的主用戶界面。它是操作人員與機(jī)器之間進(jìn)行交流的媒介,~個(gè)好的用戶界面能使操作人員心情愉快,并在較短時(shí)間內(nèi)通過屏幕上所顯示的信息,了解到機(jī)器當(dāng)前各主要模塊的工作狀態(tài)。本文的人機(jī)界面設(shè)計(jì)遵循以下原則:①“一致性”,系統(tǒng)的界面外觀、布局、交互方式及顯示格式與市場(chǎng)主流產(chǎn)品相符合,便于操作人員輕易上手。②“信息反饋”,對(duì)操作人員的操作能做出及時(shí)響應(yīng),通過文本、圖形、聲音等方式。⑧“布局合理”,空間布局應(yīng)合理,豎床加以橫線搭配,尺寸分配適當(dāng)運(yùn)用黃金分割比例0.618,顯示表放置于水平視線以下0—30°,垂直視野左右各15°范圍內(nèi)。(緲“合理運(yùn)用色彩和圖形”,整體界面顏色應(yīng)不超過3-5種,色調(diào)搭配不宜過于刺激或興奮或沉悶,以純度低而明度高為宜。面板上的按鈕顏色按用途分類,如:紅色表示危險(xiǎn)、停止和報(bào)警;綠色代表正常和安全運(yùn)行;黑白色代表文字、符號(hào)和編碼。⑤“字體、字型合適”,字符的高寬比應(yīng)為2:1或1:1。

      主用戶界面由四個(gè)視圖、系統(tǒng)菜單和狀態(tài)欄構(gòu)成。圖形顯示區(qū)主要用于實(shí)時(shí)顯示刀具的運(yùn)動(dòng)軌跡;參數(shù)顯示區(qū)主要用于顯示當(dāng)前系統(tǒng)的若干重要參數(shù)值;系統(tǒng)菜單負(fù)責(zé)在各功能模塊間進(jìn)行切換;實(shí)時(shí)數(shù)據(jù)顯示區(qū)主要用于實(shí)時(shí)顯示不同參考下的坐標(biāo)值;輔助面板為一個(gè)虛擬的機(jī)床操作面板。通過菜單欄F5可以控制其顯示或消隱;狀態(tài)欄主要用于顯示一些基本信息,如:開發(fā)單位、系統(tǒng)時(shí)間、已加工工件數(shù)等。

      2.2.2數(shù)據(jù)管理模塊

      數(shù)據(jù)管理模塊掌管著整個(gè)系統(tǒng)的數(shù)據(jù)流向,通過自定義一個(gè)類,專門處理數(shù)據(jù)文件的打開、關(guān)閉、讀取、寫入等動(dòng)作,并將數(shù)據(jù)按類別保存到一系列的數(shù)據(jù)結(jié)構(gòu)中,這些數(shù)據(jù)結(jié)構(gòu)是文件與用戶界面、模塊與模塊之間進(jìn)行數(shù)據(jù)交換的容器。

      CFileDeal類中定義了一系列的成員函數(shù)和成員變量,他們的作用主要是針對(duì)數(shù)據(jù)文件進(jìn)行操作。白箭頭表示讀入,CFileDeaf類將數(shù)據(jù)從文件中讀取出來,并通過自己在C)(x.App類中的一個(gè)對(duì)象將數(shù)據(jù)加載到指定的數(shù)據(jù)結(jié)構(gòu)StructData中,當(dāng)某個(gè)模塊需要使用這些數(shù)據(jù)時(shí),它的關(guān)聯(lián)類C×X便通過一個(gè)指向CXX.App的指針pApp調(diào)用Struct Data的一個(gè)對(duì)象來對(duì)Struct Data進(jìn)行操作,將數(shù)據(jù)提取出來,并在特定的成員函數(shù)里引用這些數(shù)據(jù)進(jìn)行運(yùn)算處理,處理后的數(shù)據(jù)或顯示到視圖面板中或發(fā)送到另一個(gè)數(shù)據(jù)結(jié)構(gòu)中保存起來。黑色箭頭則表示了數(shù)據(jù)的存儲(chǔ)過程。

      2.2.3通信模塊

      通信模塊包括系統(tǒng)上、下位機(jī)間的通信和系統(tǒng)間的網(wǎng)絡(luò)通信,其中最重要的是系統(tǒng)軟件與運(yùn)動(dòng)控制器間的通信。本文定義和封裝了一個(gè)類CCardFunc,結(jié)合運(yùn)動(dòng)控制器的API函數(shù)來編寫各成員函數(shù),用于處理所有與運(yùn)動(dòng)控制器發(fā)生交互的工作。

      2.2.4 狀態(tài)診斷模塊

      狀態(tài)診斷模塊中最核心的部分是錯(cuò)誤診斷機(jī)制。一個(gè)良好的錯(cuò)誤診斷機(jī)制能夠在系統(tǒng)軟件發(fā)生錯(cuò)誤時(shí),迅速定位到錯(cuò)誤發(fā)生處。本文考慮到錯(cuò)誤可能會(huì)出現(xiàn)在任一核心層下的任一模塊中,因此將錯(cuò)誤診斷機(jī)制設(shè)定為全局函數(shù)。例如可以采用如下形式來定義。

      在編寫關(guān)鍵功能模塊的代碼時(shí),可為某些關(guān)鍵函數(shù)的調(diào)用定義一個(gè)狀態(tài)返回值,并隨后調(diào)用該錯(cuò)誤診斷機(jī)制.雖然這樣做會(huì)加大代碼編寫的工作量,但卻可以在錯(cuò)誤發(fā)生時(shí)大大地減少錯(cuò)誤排除的工作時(shí)間,提高工作效率。

    3 結(jié)束語(yǔ)

      本文介紹了一種基于PC機(jī)與運(yùn)動(dòng)控制器構(gòu)建的開放式數(shù)控系統(tǒng),描述了這種系統(tǒng)的基本構(gòu)成及工作原理,及系統(tǒng)軟件設(shè)計(jì)上的若干關(guān)鍵問題。為了驗(yàn)證系統(tǒng)的實(shí)際運(yùn)行性能,將一臺(tái)二維繪圖實(shí)驗(yàn)平臺(tái)接入系統(tǒng),并對(duì)其進(jìn)行了自動(dòng)運(yùn)行、手動(dòng)運(yùn)行、點(diǎn)位控制及多種速度規(guī)劃模式下的實(shí)驗(yàn)。繪制的圖形輪廓完整、數(shù)據(jù)的反饋和試驗(yàn)臺(tái)的響應(yīng)迅速。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。