0 前言
開放式數(shù)控系統(tǒng)具有可擴(kuò)展性、可移植性、可互換性的特點。現(xiàn)已成為CNC 系統(tǒng)的發(fā)展趨勢。具有改進(jìn)哈佛結(jié)構(gòu)(havard structure) 的DSP 使CNC 系統(tǒng)的軟硬件資源得以最大限度的利用。與馮. 諾依曼結(jié)構(gòu)相比,哈佛結(jié)構(gòu)的程序和數(shù)據(jù)具有獨立的存儲空間,改進(jìn)的結(jié)構(gòu)使數(shù)據(jù)總線和程序總線之間有局部的交叉連接,這使程序的提取、數(shù)據(jù)讀寫和DMA 存取可以并行地進(jìn)行。
1 系統(tǒng)的軟硬件組成
1.1 硬件
交流伺服系統(tǒng)是一個典型的速度閉環(huán)系統(tǒng), 伺服驅(qū)動器從主控制系統(tǒng)接受電壓變化范圍為-Ui~Ui 的速度指令信號。電壓從- Ui變化到Ui 的過程中,伺服電機(jī)可實現(xiàn)從反轉(zhuǎn)最高速度變化到零,然后再變化到正轉(zhuǎn)最高速度。帶位置環(huán)的全數(shù)字式交流伺服系統(tǒng),不僅可以進(jìn)行位置的閉環(huán)控制,還使得交流伺服電機(jī)可以像步進(jìn)電機(jī)一樣易于控制, 上位控制器可以是CNC、PLC 或者直接是Compuer 等。交流伺服系統(tǒng)的位置環(huán)、速度環(huán)和電流環(huán)都集成在伺服驅(qū)動器內(nèi)部。伺服電機(jī)都帶有高精度的光電編碼器,給伺服驅(qū)動器提供高精度的速度和位置反饋信號。在本系統(tǒng)中的信濃伺服驅(qū)動器就可以直接返回編碼器信號, 同時接受10V 的直流電壓。因此,此類伺服系統(tǒng)很易于應(yīng)用于PC 機(jī)構(gòu)成的系統(tǒng)中。
MCT8000F4 型DSP 多軸運動控制器通過PC 機(jī)ISA 總線直接與PC 機(jī)相連接,組成主控制系統(tǒng)。控制器核心芯片為TI 公司的TMS320C31。
1.2 軟件
為了使該系統(tǒng)軟件易于維護(hù),具有可重構(gòu)性、可擴(kuò)展性,在軟件設(shè)計中采用模塊化設(shè)計方法。按CNC 系統(tǒng)的實時多任務(wù)設(shè)計系統(tǒng)軟件模塊。
?、偌庸た刂?如點動、自動、選擇、模擬、輔助加工等。
?、诩庸ぼ壽E跟蹤,在界面上將刀具的加工軌跡按實際加工情況顯示出來。
?、奂庸ば畔⒌膭討B(tài)顯示,如加工坐標(biāo)、數(shù)控程序段等。
?、苡脩魟幼鞯谋O(jiān)控。
?、菪盘柕谋O(jiān)測,對下位機(jī)傳來的信號進(jìn)行判定,并給系統(tǒng)相應(yīng)的指示。
⑥寫數(shù)據(jù),將上位機(jī)的命令與數(shù)據(jù)傳遞給下位機(jī),以指揮機(jī)床運動。
2 系統(tǒng)的軟硬件實現(xiàn)
2.1 硬件
圖2 所示為用MCT8000F4 控制器控制交流伺服系統(tǒng)。其中,MCT8000F4 I/ O接口板上的硬件端口定義。
MCT8000F4 控制板和MCT8000F4 - IO 接口板向伺服放大器輸出控制信號。編碼器檢測電機(jī)的實際位置并通過ENC 反饋給MCT8000F4 。MCT8000F4 將位置指令與編碼器反饋的實際位置信號比較,產(chǎn)生的偏差信號通過DAC 輸出端子DAC0. 1. 2 輸入伺服放大器,從而形成半閉環(huán)位置控制系統(tǒng);通過DAC 端子的電壓值可調(diào)節(jié)電機(jī)的轉(zhuǎn)速。數(shù)字輸出信號DO0. 1. 2 用于控制伺服放大器。
系統(tǒng)采用信濃的DOS016b - CB752F 交流伺服驅(qū)動器。伺服 電機(jī)為信濃8CB75 - 2SE6F。本伺服驅(qū)動器有以下特性?! ∷欧姍C(jī)的特性參數(shù): 額定功率:750W 額定轉(zhuǎn)矩:24. 4kgf . cm 最大轉(zhuǎn)矩:61. 0kgf . cm 編碼器線數(shù):2000 線 電機(jī)額定轉(zhuǎn)速:3000min 輸入電壓:AC 200/ 220v 交流市電,單相50/ 60Hz 控制系統(tǒng):單相全波整流場效應(yīng)晶體管脈寬調(diào)制系統(tǒng) 速度控制范圍:1 :1000 額定速度控制電壓:10v
內(nèi)置功能:七段LED 顯示報警和信號,內(nèi)置再生電路,電源延遲開啟(大約1 秒) ,保護(hù)功能(過流,過載,過熱,機(jī)超速,電源控制出錯等) 。
2.2 軟件
典型的編程結(jié)構(gòu)應(yīng)包括: ①需要導(dǎo)入的函數(shù)庫; ②函數(shù)原型清單區(qū)域,全局變量聲明區(qū)域; ③中斷服務(wù)例程又稱前臺編程; ④初始化; ⑤無限循環(huán)又稱后臺編程; ⑥用戶自定義函數(shù)體.前臺編程、初始化及后臺編程重要程序如下所示。
pos_s 和pos_e 可設(shè)置電機(jī)初始點和終點位置絕對坐標(biāo),通過改變其值可實現(xiàn)電機(jī)的位置控制;control 可設(shè)置電壓數(shù)值,通過改變其值可實現(xiàn)電機(jī)的速度控制;line move 1 PTP 為直線運動軌跡插補(bǔ)函數(shù),可設(shè)置最大允許速度(360) 、最大允許加速度(3600) 、采樣周期等。
3 人機(jī)交互界面
本系統(tǒng)的人機(jī)交互界面采用Borland 公司的C ++ Builder5. 0進(jìn)行編寫。C ++ Builder 是基于C 語言的快速開發(fā)工具,它同時具有C ++ 語言的靈活和可視化編程的便利,功能強(qiáng)大、界面友好、使用方便,并且提供了豐富的VCL 組件庫,避免了在界面開發(fā)上浪費過的精力。
本次設(shè)計的人機(jī)交互界面主要包括以下兩個組成部分: ①主操作界面,包括狀態(tài)信息和代碼編譯; ②參數(shù)設(shè)定界面;
(1) 主操作界面
主操作界面中包括代碼編譯部分、狀態(tài)顯示部分以及主要功能按鈕。主狀態(tài)信息框中主要顯示出三個數(shù)控軸的當(dāng)前位置,并用指示燈表示各軸的運行狀態(tài);副狀態(tài)顯示組框中顯示各種加工過程的情況,包括當(dāng)前使用的刀具和夾具編號、當(dāng)前刀具補(bǔ)償、冷卻液狀態(tài)、主軸轉(zhuǎn)速、進(jìn)給速度及各伺服軸的目標(biāo)位置等信息;編譯結(jié)束之后,將生成的數(shù)據(jù)結(jié)構(gòu)傳送到下位機(jī)DSP 內(nèi)存中以進(jìn)行加工工作。主窗體上方的下拉菜單和右側(cè)的按鈕可以對用于打開其他界面和完成系統(tǒng)功能,工具條中的圖表按鈕包括編輯用的功能以及基本的數(shù)控系統(tǒng)操作按鈕,以方便使用。
(2) 參數(shù)設(shè)定界面
系統(tǒng)的參數(shù)設(shè)定界面。一些比較重要的系統(tǒng)參數(shù)都在這個界面中設(shè)定。用戶可以根據(jù)自己的具體情況對其中部分參數(shù)進(jìn)行修改,同時,當(dāng)外界的硬件環(huán)境改變時,只需要改變參數(shù)就可以完成系統(tǒng)的重新構(gòu)建,體現(xiàn)了開放性的宗旨。
伺服軸的設(shè)置:這一頁中包括對每個伺服軸的PID 參數(shù),DAC輸出口的偏差,編碼器的線數(shù)與倍頻,每軸的最大允許速度、加速度,以及系統(tǒng)插補(bǔ)運算所需要的采樣周期;刀具與夾具:對系統(tǒng)所使用的各刀具和夾具進(jìn)行編號,并對刀具的長度補(bǔ)償和半徑補(bǔ)償進(jìn)行設(shè)定;主軸設(shè)置:對于銑床系統(tǒng)的主軸進(jìn)行設(shè)置,包括主軸的轉(zhuǎn)速范圍,最大允許加速度,主軸原點位置和主軸的PID 參數(shù)及DAC 的電壓偏差;控制口設(shè)置:對MCT8000 I/ O板上的各輸出端口進(jìn)行了設(shè)置,主要包括各軸的使能控制端口、各軸的DAC 和編碼器的端口以及系統(tǒng)冷卻液、潤滑液等輔助功能使能端口的設(shè)定;點動與軸的行程:分別對各軸點動時的額定轉(zhuǎn)速,原點位置,最大行程與反向間隙誤差進(jìn)行規(guī)定。
對于一個具體的數(shù)控系統(tǒng),系統(tǒng)參數(shù)是不應(yīng)該經(jīng)常變動的。因此,我們可以把系統(tǒng)參數(shù)保存成文件,利用打開按鈕直接打開;而一些新開發(fā)的數(shù)控系統(tǒng),可以借鑒之前系統(tǒng)的參數(shù)設(shè)定,更可以從網(wǎng)絡(luò)上遠(yuǎn)程下載一些固定俗稱的規(guī)定結(jié)果,減少了重復(fù)操作的麻煩。
4 系統(tǒng)集成
分別完成了上位機(jī)部分的程序和下位機(jī)DSP 程序代碼后,還需要對各部分軟件程序進(jìn)行整合,組成整個系統(tǒng)的控制部分。下位機(jī)的DSP 程序是可以在C 語言的編程環(huán)境中完成,但MCT8000 的下位機(jī)處理器只能處理COFF(公用目標(biāo)文件格式)格式的目標(biāo)文件,這樣就需要運用MCT8000 的編譯器和程序加載器。MCT8000 自帶的編譯器MCTCL31 可以將編制好的C語言的源程序文件轉(zhuǎn)換成COFF 文件格式,這種格式文件一般是以. out 為后綴結(jié)尾的;利用程序加載器PCL31 將與下位機(jī)DSP 內(nèi)存進(jìn)行連接,使上位機(jī)程序順利的加載到DSP 的對應(yīng)端口中去。這些內(nèi)容可以以MS - DOS 命令形式執(zhí)行,也可以編輯成. bat 為后綴的批處理文件,本次設(shè)計中采用了后一種方法進(jìn)行實現(xiàn)。
這樣,在C ++ Builder 的上位機(jī)程序中,調(diào)用mcthost. h 函數(shù)庫中的host execute cmd( const char 3 command) 函數(shù)(command是一個字符串指針,對應(yīng)所要指定的文件) ,就可以完成對下位機(jī)已經(jīng)編譯好的. bat 文件的調(diào)用。
(審核編輯: 智匯張瑜)
分享