基于Windows 2000下開放式數(shù)控系統(tǒng)軟件的開發(fā)
點擊:1703
A+ A-
所屬頻道:新聞中心
0 前言
自從1952 年世界上第一臺數(shù)控機床誕生以來,數(shù)控技術(shù)經(jīng)過幾十年的發(fā)展已日趨完善。隨著市場全球化的發(fā)展,市場競爭空前激烈,對制造商不但要求價格低,質(zhì)量好,而且要求交貨時間短,售后服務(wù)好,還需要個性化的產(chǎn)品。而傳統(tǒng)的數(shù)控系統(tǒng)是一種專用封閉式系統(tǒng),具有內(nèi)部結(jié)構(gòu)復(fù)雜,與通用計算機不兼容,難進行升級等缺點,已經(jīng)越來越不適應(yīng)市場發(fā)展的這種需要了。
于是美國在20 世紀(jì)80 年代末提出了開放式數(shù)控系統(tǒng),同時,有許多的相關(guān)研究計劃,其中影響比較大的有美國的O2MAC ,歐洲的OSACA 和日本的OSEC 等計劃。開放式數(shù)控系統(tǒng)一般可以有三種類型的結(jié)構(gòu):在專有系統(tǒng)中簡單地嵌入PC技術(shù);運動控制器以PC 插件的形式插入到PC 機擴展槽;完全采用以通用PC 為硬件平臺的全軟件型數(shù)控系統(tǒng)。
由PC 機處理非實時部分,實時部分由插入PC 機擴展槽的運動控制器來完成由于運動控制卡所采用的數(shù)控技術(shù)已經(jīng)非常成熟和穩(wěn)定,而基于Windows 2000 下的界面開發(fā)又是非常方便。因此這樣架構(gòu)出來的數(shù)控系統(tǒng)既具有友好的操作界面,又具有原有專用CNC系統(tǒng)的穩(wěn)定性和可靠性。
本數(shù)控系統(tǒng)就是采用的工控機+ 運動卡結(jié)構(gòu),在Windows2000 操作系統(tǒng)下,使用功能強大的Visual C ++ 開發(fā)。選用了研華工控機,運動控制卡則采用的是基于數(shù)字信號處理器DSP 開發(fā)的固高GT- 200SV 卡。
1 主界面的設(shè)計
在Windows 2000 的平臺下開發(fā)的程序具有友好精美的GUI(用戶界面) 外觀,而Visual C ++ 編程工具又具有友好的可視化界面和強大的函數(shù)庫,采用此編程工具可以有效的縮短開發(fā)周期。
本系統(tǒng)主要利用了單文檔- 多視圖的結(jié)構(gòu)和多線程編程技術(shù)。如圖1 所示。
圖1 主界面圖
左上角視圖是代碼編輯區(qū),主要由一個CListCtrl 列表控件組成的,列表控件用Windows 定義的內(nèi)部數(shù)據(jù)結(jié)構(gòu)LVITEM來支持每條項目信息的顯示。它可以很方便的用來查詢數(shù)據(jù),所以在這里是用來顯示G代碼的。左下角是代碼操作區(qū),包括一系列對代碼段進行操作的命令按鈕,如:添加、插入、刪除、修改代碼。右上角視圖屬于數(shù)據(jù)顯示區(qū),主要將系統(tǒng)的一些數(shù)據(jù)顯示在上面,比如:刀架的位置(X、Y、Z 坐標(biāo)) 、加工時間、運行時間,以及加工產(chǎn)品的一些信息。右下視圖是手工操作區(qū),通過該區(qū)的按鈕,可以手動控制機床。主要包括有:機床開/ 停按鈕,主軸正反轉(zhuǎn)按鈕,主軸點動按鈕,主軸速度調(diào)節(jié)旋鈕,以及冷卻液開/停按鈕。
2 與主軸變頻器的通訊軟件的設(shè)計
該數(shù)控車床的主軸采用變頻器控制轉(zhuǎn)速,還有通過連接主軸上的光電編碼盤與運動控制卡上的輔助編碼器接口來確定主軸位置。
主軸變頻器采用了Simens 的MICROMASTER420 系列的變頻器,為了與主軸電機功率匹配,選用了0. 75kW的變頻器。MI2CROMASTER420 由微處理器控制,并采用具有現(xiàn)代先進技術(shù)水平的絕緣柵雙極型晶體管( IGBT) 作為功率輸出器件,具有很高的運行可靠性和功能的多樣性,是專門用于控制三相交流電動機速度的變頻器系列。
變頻器與工控機的連接采用的是RS485 通訊,采用2 線雙絞傳輸方式,即數(shù)據(jù)D + 和數(shù)據(jù)D - ,這種數(shù)據(jù)差動傳輸方式可以有效地消除干擾的影響。對于串口通訊,在VC ++ 環(huán)境下可以直接利用Active 控件來實現(xiàn),這樣就比較方便、可靠,但是在使用前安裝控件并在注冊表中注冊后才能使用。該控件就是Microsoft Communications Control(MSComm) ,它的幾個主要屬性設(shè)置如表1所示。
通訊報文的如表2 所示,其中,STX 區(qū)是一個字節(jié)的ASCI2ISTX(02hex) ,表示一條信息的開始;LGE 指明這一信息中后跟的的字節(jié)數(shù)目。ADR 是變頻器的地址;BCC 是一個字節(jié)的校驗和,用于檢查信息是否有效;中間部分便是有效的數(shù)據(jù)字符,分為兩個區(qū)域,即PKW 區(qū)(參數(shù)識別ID - 數(shù)值區(qū)) 和PZD 區(qū)(過程數(shù)據(jù)) 。
在程序設(shè)計上,主框架類CmainFrm 里的OnCreate (LPCRE2ATESTRUCT lpCreateStruct) 函數(shù)中進行初始化工控機串口,大致代碼如下:
if (m ctrlComm. GetPortOpen() ) m ctrlComm. SetPortOpen(FALSE) ; m ctrlComm. SetCommPort (1) ; / / 選擇com1 if ( ! m ctrlComm. GetPortOpen() ) m ctrlComm. SetPortOpen(TRUE) ;/ / 打開串口else AfxMessageBox(cannot open serial port) ; m ctrlComm. SetSettings(9600 ,n ,8 ,1) ; / / 波特率9600 ,無校驗,8 個數(shù)據(jù)位,/ / 1 個停止位 m ctrlComm. SetRThreshold(1) ; / / 參數(shù)1 表示每當(dāng)串口接收緩沖區(qū)中有多于或/ / 等于1 個字符時將引發(fā)一個接收數(shù)據(jù)的OnComm事件 m ctrlComm. SetInputLen(0) ; / / 設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為0 m ctrlComm. GetInput () ;/ / 先預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù)MSComm控件會產(chǎn)生OnComm事件,所以在OnComm( ) 函數(shù)里對通訊報文進行處理。
3 與運動控制卡的通訊模塊的設(shè)計
GT- 200SV 卡的核心是由ADSP2181 數(shù)字信號處理器和FP2GA組成,可以實現(xiàn)高性能的控制計算,并能實現(xiàn)多軸協(xié)調(diào)運動。
在控制軟件中,與該卡相關(guān)的類是CcardDeal 類。該類主要包括軸的初始化函數(shù)AxisInitial ( ) 、電機軸報警函數(shù)Error ( shortrtn) 、卡的初始化函數(shù)GTInitial () 和軸坐標(biāo)映射函數(shù)MapAxis ( ) 。總之,CcardDeal 類具有了軸、卡的最基本的操作,為下面的刀架的大小溜板軸的控制打下了基礎(chǔ)。
有了這些函數(shù)之后,就可以在主框架類CmainFrm 里的On2Create(LPCREATESTRUCT lpCreateStruct) 函數(shù)中進行初始化卡和軸,部分主要代碼如下:
int CMainFrame : :OnCreate(LPCREATESTRUCT lpCreateStruct) { ... CCardDeal Card ; / / 定義一個卡的對象 Card. GTInitial () ; / / 卡的初始化 Card. InputCfg() ; / / 專用輸入信號參數(shù)設(shè)置 Card. AxisInitial () ; / / 軸初始化 double cnt1[5 ] = {2000 ,0 ,0 ,0 ,0} ; / / 坐標(biāo)映射數(shù)組 double cnt2[5 ] = {0 ,2000 ,0 ,0 ,0} ; / / 坐標(biāo)映射數(shù)組 Card.MapAxis() ; / / 映射各個坐標(biāo)軸 ... return 0 ; }4 結(jié)束語
該數(shù)控系統(tǒng)已調(diào)試運行了,由于時間倉促,有些軟件功能未能開發(fā)出來。但是這本身就是個開放式數(shù)控系統(tǒng),所以以后在應(yīng)用過程中,需要什么功能,便可以在原有軟件系統(tǒng)上進一步進行開發(fā)。比如,一些零件的車削循環(huán)指令,一些特殊的自定義輔助功能等都可以添加。
開放式數(shù)控系統(tǒng)是數(shù)控技術(shù)發(fā)展的必然趨勢,它給數(shù)控系統(tǒng)生產(chǎn)商、機床制造商以及用戶都帶來了許多好處。而基于PC的開放式數(shù)控系統(tǒng)具有較強的靈活性,可以充分利用PC 機豐富的軟硬件資源和強大的技術(shù)優(yōu)勢,有利于更加完美地實現(xiàn)數(shù)控系統(tǒng)的用戶界面、圖形顯示、動態(tài)仿真以及網(wǎng)絡(luò)通訊等功能。模塊化的程序設(shè)計使系統(tǒng)的通用性和可移植性大大增強,同時也有利于系統(tǒng)日后的功能擴展。
(審核編輯: 智匯張瑜)
分享