国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ACR9000的開(kāi)放式數(shù)控銑削平臺(tái)技術(shù)研究

2013-09-27 03:26段智敏徐曉龍
制造技術(shù)與機(jī)床 2013年12期
關(guān)鍵詞:數(shù)控系統(tǒng)上位開(kāi)放式

段智敏 徐曉龍

(沈陽(yáng)理工大學(xué)機(jī)械工程學(xué)院,遼寧沈陽(yáng) 110159)

開(kāi)放式數(shù)控系統(tǒng)因其具有模塊化、標(biāo)準(zhǔn)化、可移植性、二次開(kāi)發(fā)性和網(wǎng)絡(luò)化等特點(diǎn),已經(jīng)成為數(shù)控系統(tǒng)的發(fā)展趨勢(shì)。開(kāi)放式數(shù)控系統(tǒng)能夠在多種平臺(tái)上運(yùn)行,可以和其他系統(tǒng)互操作,并能給用戶(hù)提供一種統(tǒng)一風(fēng)格的用戶(hù)交互界面。通俗地說(shuō),開(kāi)放式數(shù)控系統(tǒng)允許用戶(hù)根據(jù)自己的需要進(jìn)行選配和集成,更改或擴(kuò)展系統(tǒng)的功能從而適應(yīng)不同的應(yīng)用需求。而且,組成系統(tǒng)的各部件可以來(lái)源于不同的供應(yīng)商,并且相互兼容。

目前,開(kāi)放式數(shù)控系統(tǒng)使用的運(yùn)動(dòng)控制器通常以PC硬件插件(運(yùn)動(dòng)控制卡)的形式與PC構(gòu)成硬件平臺(tái),系統(tǒng)基于PC總線形式。但這種形式無(wú)法適應(yīng)未來(lái)計(jì)算機(jī)技術(shù)的發(fā)展以及硬件的標(biāo)準(zhǔn)化。

本文介紹了一種基于ACR9000獨(dú)立式運(yùn)動(dòng)控制器的開(kāi)放式數(shù)控銑削實(shí)驗(yàn)平臺(tái)。該系統(tǒng)硬件平臺(tái)由PC、ACR9000運(yùn)動(dòng)控制器以及CYCLONE交流伺服系統(tǒng)構(gòu)成,并以Windows為軟件開(kāi)發(fā)平臺(tái),MFC為編程語(yǔ)言,開(kāi)發(fā)上位機(jī)程序。

1 系統(tǒng)軟件平臺(tái)總體設(shè)計(jì)

MFC是微軟提供的基礎(chǔ)類(lèi)庫(kù),以C++類(lèi)的形式封裝了Windows API函數(shù)。MFC編程語(yǔ)言具有良好的可視化界面,減少了應(yīng)用程序開(kāi)發(fā)人員的工作量,縮短了開(kāi)發(fā)周期。

模塊化是數(shù)控系統(tǒng)開(kāi)放的基礎(chǔ)。基于模塊化的設(shè)計(jì)理念,將系統(tǒng)軟件平臺(tái)進(jìn)行功能細(xì)分,按照功能的不同各自獨(dú)立成功能模塊。根據(jù)各功能模塊具體實(shí)現(xiàn)的功能,設(shè)計(jì)出成員變量和成員函數(shù)(即屬性和方法)?;诿嫦?qū)ο蟮乃枷雽⒊橄蟪龅某蓡T變量和成員函數(shù)封裝成特定的類(lèi),在應(yīng)用程序中,通過(guò)類(lèi)的實(shí)例化即可實(shí)現(xiàn)特定功能。同時(shí),如果需要對(duì)現(xiàn)有系統(tǒng)進(jìn)行功能的完善或擴(kuò)充,只需修改現(xiàn)有的類(lèi)或構(gòu)造出新的類(lèi),從而實(shí)現(xiàn)系統(tǒng)的可升級(jí)性和可擴(kuò)展性。

系統(tǒng)軟件平臺(tái)主要實(shí)現(xiàn)以下幾個(gè)功能:控制器通訊、JOG運(yùn)動(dòng)、X軸Y軸聯(lián)動(dòng)、位置信息讀取、插補(bǔ)運(yùn)動(dòng)以及數(shù)控編程等功能。上位機(jī)界面如圖1所示。

2 上位機(jī)與控制器接口設(shè)計(jì)

ACR9000是美國(guó)Parker公司最先進(jìn)的獨(dú)立式運(yùn)動(dòng)控制器,可控制1到8軸(步進(jìn)或伺服)。具有便利的接口形式和高性能的通訊能力,如10/100 M以太網(wǎng)或USB2.0高速通訊等。ACR9000過(guò)人之處在于他能夠與不同品牌的PC和PLC進(jìn)行接口,功能強(qiáng)大的高速DSP(150/75 MHz,32位浮點(diǎn))使 ACR9000完全勝任多任務(wù)伺服控制。本系統(tǒng)使用的控制器型號(hào)為P1U2M0,可控制X軸和Y軸運(yùn)動(dòng)。

ACR9000運(yùn)動(dòng)控制器提供COM庫(kù)供我們開(kāi)發(fā)上位機(jī)程序(GUI)。該庫(kù)名稱(chēng)為 ComACRServer.tlb,是一個(gè)32位OLE自動(dòng)化(COM)服務(wù)器,支持C++、VB6、C#、VB.NET等開(kāi)發(fā)語(yǔ)言,庫(kù)中的200多個(gè)函數(shù)涵蓋了ACR9000的全部主要功能。COM庫(kù)中提供的接口函數(shù)可以分為以下4類(lèi):

IStatus:用于讀取控制器中的參數(shù)和狀態(tài)等。

IControl:用于對(duì)控制器進(jìn)行一些控制操作,實(shí)現(xiàn)參數(shù)和狀態(tài)位的寫(xiě)入等。

ITerminal:用于與控制器之間實(shí)現(xiàn)字符串的通訊。

IUtility:實(shí)現(xiàn)控制器程序的下載等。

本系統(tǒng)采用Import將COM庫(kù)加載到應(yīng)用程序中,通過(guò)AfxOleInit函數(shù)對(duì)COM庫(kù)初始化。同時(shí),根究任務(wù)的需要選擇所需的接口類(lèi),利用智能指針定義接口對(duì)象,智能指針可使接口對(duì)象的創(chuàng)建工作更加簡(jiǎn)單,而且它提供了自動(dòng)銷(xiāo)毀生成的COM對(duì)象機(jī)制。最后對(duì)定義的接口對(duì)象按照COM的方式做一些初始化工作。部分代碼如下:

3 系統(tǒng)功能模塊設(shè)計(jì)

3.1 控制器通訊模塊

通訊模塊主要功能是將上位機(jī)界面與控制器連接,從而實(shí)現(xiàn)上位機(jī)與控制器的信息傳遞和指令發(fā)送。本系統(tǒng)中上位機(jī)與控制器是通過(guò)以太網(wǎng)進(jìn)行連接,因此在通訊之前要設(shè)置IP地址,必須確保主機(jī)IP地址與ACR9000設(shè)在一個(gè)網(wǎng)段中(控制器的默認(rèn)IP為192.168.10.40),同時(shí)根據(jù)上位機(jī)與控制器的物理層連接方式,確定連接函數(shù)的參數(shù)。在界面中添加連接按鈕,并在連接按鈕的響應(yīng)函數(shù)內(nèi)調(diào)用COM庫(kù)中Connect函數(shù),即可實(shí)現(xiàn)通訊連接。同理,在斷開(kāi)按鈕的響應(yīng)函數(shù)內(nèi)調(diào)用Disconnect函數(shù),可將上位機(jī)與控制器的連接斷開(kāi)。部分主要代碼如下:

3.2 位置信息讀取模塊

該模塊用于讀取控制器中各軸的當(dāng)前位置、實(shí)際位置和跟隨誤差等信息?;赩C定時(shí)器技術(shù),在通訊模塊內(nèi)設(shè)定定時(shí)器時(shí)間間隔,并觸法定時(shí)器工作。同時(shí),在響應(yīng)函數(shù) OnTimer內(nèi),添加了自定義函數(shù)readParem,用于讀取控制器信息。參數(shù)讀取需調(diào)用IStatus接口中的GetACRCustom函數(shù),通過(guò)向控制器發(fā)送查詢(xún)字符串來(lái)獲取所需的控制器內(nèi)部信息。部分代碼如下:

3.3 X軸Y軸聯(lián)動(dòng)模塊

在X軸Y軸聯(lián)動(dòng)模塊中,通過(guò)對(duì)運(yùn)動(dòng)模式的選擇以及雙軸聯(lián)動(dòng)速度和各軸位置的設(shè)置,實(shí)現(xiàn)手動(dòng)控制電動(dòng)機(jī)運(yùn)動(dòng)。電動(dòng)機(jī)運(yùn)動(dòng)控制需調(diào)用IControl接口中的Move函數(shù)。基于ACR-View配置時(shí)各軸所屬坐標(biāo)系情況,用nMoveProfile屬性指定Move函數(shù)所作用的坐標(biāo)系。在電動(dòng)機(jī)運(yùn)動(dòng)的過(guò)程中,通過(guò)觸發(fā)ACR9000控制器內(nèi)部指定的BIT位,可以控制運(yùn)動(dòng)的暫停與繼續(xù),類(lèi)似于機(jī)床的進(jìn)給保持功能。部分代碼如下:

3.4 插補(bǔ)運(yùn)動(dòng)模塊

插補(bǔ)運(yùn)動(dòng)模塊可實(shí)現(xiàn)逐點(diǎn)比較法直線插補(bǔ)、逐點(diǎn)比較法圓弧插補(bǔ)、數(shù)字積分法直線插補(bǔ)以及數(shù)字積分法圓弧插補(bǔ),如圖2所示?;诓逖a(bǔ)算法及相關(guān)參數(shù)的設(shè)置,可實(shí)現(xiàn)插補(bǔ)運(yùn)動(dòng)仿真,圖3所示為DDA圓弧插補(bǔ)仿真實(shí)例。在伺服驅(qū)動(dòng)器的位置控制模式下,通過(guò)上位機(jī)對(duì)控制器的脈沖及方向控制,可實(shí)現(xiàn)電動(dòng)機(jī)的插補(bǔ)運(yùn)動(dòng),插補(bǔ)功能主要流程如圖4所示。

以DDA圓弧插補(bǔ)為例,部分代碼如下:

3.5 數(shù)控編程模塊

數(shù)控編程模塊可以實(shí)現(xiàn)數(shù)控指令的輸入、修改、插入和刪除。圖5所示為數(shù)控編程界面,并根據(jù)數(shù)控程序?qū)崿F(xiàn)加工軌跡仿真和電動(dòng)機(jī)控制,如圖6所示。

數(shù)控模塊的核心在于數(shù)控代碼的轉(zhuǎn)換,而代碼轉(zhuǎn)化的重點(diǎn)在于對(duì)數(shù)控指令的信息提取與保存。本系統(tǒng)對(duì)數(shù)控指令的信息提取是通過(guò)構(gòu)造函數(shù)實(shí)現(xiàn)的,根據(jù)提取信息的不同構(gòu)造出不同的成員函數(shù),這樣既解決了信息提取問(wèn)題,又為系統(tǒng)升級(jí)提供便利。將提取好的信息保存在動(dòng)態(tài)數(shù)組中,這不僅保存了數(shù)控指令中的數(shù)據(jù)信息,又為查詢(xún)上一數(shù)控指令行中的所需數(shù)據(jù)提供便利。在ACR9000運(yùn)動(dòng)控制器自帶的ACROBasic語(yǔ)言中可以找出與數(shù)控指令功能相同的指令,如MOV 與 G01、CIRCW 與 G02、CTRCCW 與 G03、M02 與ENDP等?;谶@種對(duì)應(yīng)關(guān)系,可將數(shù)控指令轉(zhuǎn)換成ACROBasic指令。然后將轉(zhuǎn)換好的指令保存在文本文檔內(nèi),并發(fā)送至控制器中。最后,通過(guò)觸發(fā)控制器內(nèi)部的BIT位實(shí)現(xiàn)程序讀取,進(jìn)而控制電動(dòng)機(jī)運(yùn)轉(zhuǎn)。部分代碼如下:

4 結(jié)語(yǔ)

本文介紹了系統(tǒng)軟件平臺(tái)的構(gòu)建方式以及各功能模塊的具體實(shí)現(xiàn),充分利用ACR9000運(yùn)動(dòng)控制器所提供的COM庫(kù)和設(shè)備自帶的ACROBasic語(yǔ)言,實(shí)現(xiàn)了上位機(jī)通訊、電機(jī)控制、代碼解釋等功能。

本系統(tǒng)已調(diào)試成功,各模塊運(yùn)行狀況良好,滿(mǎn)足實(shí)驗(yàn)要求,該系統(tǒng)將應(yīng)用于我校機(jī)電控制實(shí)驗(yàn)室的教學(xué)實(shí)驗(yàn)中。下一步會(huì)根據(jù)教學(xué)需要進(jìn)一步完善和提升軟件系統(tǒng)功能。

[1]周舟,張洛平.基于運(yùn)動(dòng)控制器的開(kāi)放式數(shù)控系統(tǒng)[J].機(jī)床與液壓,2003(3):94-95.

[2]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.

[3]趙萬(wàn)軍,鄧正華.基于VC++的數(shù)控DDA圓弧插補(bǔ)軌跡仿真[J].制造業(yè)自動(dòng)化,2012,34(3):125 -127.

[4]朱玉璽,崔如春,鄺小磊.計(jì)算機(jī)控制技術(shù)[M].北京:電子工業(yè)出版社,2010.

[5]劉瑛,謝富春.基于UMAC的開(kāi)放式數(shù)控平臺(tái)的構(gòu)建與應(yīng)用[J].制造技術(shù)與機(jī)床,2008(12):93-95.

[6]張艷婷,沈曉紅.基于ACR9000的開(kāi)放式數(shù)控系統(tǒng)軟件平臺(tái)研究[J].制造業(yè)自動(dòng)化,2011,37(11):117 -121.

[7]許小明,王碩桂.基于PC的開(kāi)放式數(shù)控系統(tǒng)代碼編譯器的開(kāi)發(fā)[J].機(jī)床與液壓,2009,37(11):41 -44.

猜你喜歡
數(shù)控系統(tǒng)上位開(kāi)放式
開(kāi)放式數(shù)字座艙軟件平臺(tái)IndiGO
小學(xué)作文開(kāi)放式教學(xué)的思考
要攻城略地關(guān)鍵要有好籌碼,這匹水產(chǎn)動(dòng)保“黑馬”如何能迅速上位?
開(kāi)放式計(jì)算機(jī)實(shí)驗(yàn)教學(xué)自主學(xué)習(xí)平臺(tái)
特斯拉 風(fēng)云之老阿姨上位
基于FANUC 32i A數(shù)控系統(tǒng)的外部測(cè)量設(shè)計(jì)
西門(mén)子840D sl數(shù)控系統(tǒng)在SC125大型車(chē)銑鏜床技術(shù)改造中的應(yīng)用
基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動(dòng)功能開(kāi)發(fā)
數(shù)控系統(tǒng)中GUI軟件平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)
開(kāi)放式彈簧機(jī)數(shù)控系統(tǒng)開(kāi)發(fā)