[align=center]北京科技大學(xué)信息工程學(xué)院 潘月斗 天津大學(xué)自動(dòng)化學(xué)院 許鎮(zhèn)琳
湛江海洋大學(xué)電子信息工程學(xué)院 徐東桂[/align]
提出了一種基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌入式機(jī)床數(shù)控系統(tǒng)的設(shè)計(jì)方法,解決了數(shù)控系統(tǒng)與伺服間指令信息誤差對(duì)數(shù)控系統(tǒng)性能的影響。設(shè)計(jì)了數(shù)控系統(tǒng)與伺服間基于CAN總線的數(shù)據(jù)結(jié)構(gòu)。所設(shè)計(jì)的數(shù)控系統(tǒng)具有集成度高,結(jié)構(gòu)靈活,可擴(kuò)展性好及性價(jià)比高等特點(diǎn)。
1 引言
目前,國(guó)產(chǎn)數(shù)控系統(tǒng)的主要份額是經(jīng)濟(jì)型機(jī)床數(shù)控系統(tǒng),這類數(shù)控系統(tǒng)大多是16位微處理器,最高時(shí)鐘頻率為12~40MHz,運(yùn)行速度較低,這就限制了數(shù)控機(jī)床性能的提高,特別是多軸高速聯(lián)動(dòng)、螺紋高速切削及高分辨率實(shí)時(shí)控制等功能受到限制。另外目前國(guó)內(nèi)外大部分中高檔閉環(huán)機(jī)床數(shù)控系統(tǒng)采用的控制方式為位置環(huán)調(diào)節(jié)由數(shù)控系統(tǒng)完成,連接的伺服系統(tǒng)為速度伺服系統(tǒng),速度伺服系統(tǒng)進(jìn)行負(fù)載的力矩電流和電機(jī)的速度調(diào)節(jié),機(jī)床數(shù)控系統(tǒng)將位置環(huán)調(diào)節(jié)器輸出數(shù)據(jù)經(jīng)D/A轉(zhuǎn)換成模擬量作為機(jī)床數(shù)控系統(tǒng)輸出指令控制伺服系統(tǒng),伺服系統(tǒng)將機(jī)床數(shù)控系統(tǒng)輸出模擬電壓指令經(jīng)A/D轉(zhuǎn)換為伺服系統(tǒng)控制電動(dòng)機(jī)的指令數(shù)據(jù),在這個(gè)過程中,由于經(jīng)過了D/A和A/D的轉(zhuǎn)換,機(jī)床數(shù)控系統(tǒng)位置環(huán)調(diào)節(jié)器輸出的實(shí)時(shí)指令數(shù)據(jù)在傳輸?shù)剿欧到y(tǒng)時(shí)產(chǎn)生誤差,影響了電動(dòng)機(jī)的控制性能,難于實(shí)現(xiàn)高精度加工控制過程。因此,本文提出基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌入式機(jī)床數(shù)控系統(tǒng)的設(shè)計(jì)方法。
2 數(shù)控系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)采用DSP(Digital Signal Process)+可編程邏輯器件的結(jié)構(gòu),以F2812+CPLD為核心硬件,完成數(shù)控系統(tǒng)的設(shè)計(jì)。TMS320F2812DSP(以下簡(jiǎn)稱F2812)是德州儀器公司(T1)生產(chǎn)的2000系列最新一代的高速高性能定點(diǎn)DSP,32位CPU可提供150M次/s指令,具有CAN總線接口。系統(tǒng)原理如圖1所示。
F2812CPU主要完成兩方面的工作:①與上位機(jī)的數(shù)據(jù)通訊,包括加工程序下載、基本參數(shù)設(shè)置、接受上位機(jī)的統(tǒng)一調(diào)配等功能;②完成一個(gè)獨(dú)立的數(shù)控系統(tǒng)的加工工作,首先是加工程序的輸入、控制參數(shù)、補(bǔ)償數(shù)據(jù)的錄入,然后是加工程序的譯碼,接著進(jìn)行數(shù)據(jù)處理、計(jì)算刀具半徑補(bǔ)償量、進(jìn)給速度、執(zhí)行輔助功能代碼、進(jìn)行插補(bǔ)運(yùn)算,把插補(bǔ)后的數(shù)據(jù)通過CAN總線送到伺服驅(qū)動(dòng)器。
CPLD部分主要用來實(shí)現(xiàn)邏輯電路,對(duì)手輪脈沖進(jìn)行計(jì)數(shù)的計(jì)數(shù)器。1個(gè)4倍頻電路,1個(gè)32位計(jì)數(shù)器,對(duì)主軸碼盤信號(hào)進(jìn)行計(jì)數(shù),供螺紋插補(bǔ)時(shí)使用。
[IMG=圖1 數(shù)控系統(tǒng)結(jié)構(gòu)框圖]/uploadpic/THESIS/2007/11/20071114161502573434.jpg[/IMG]
圖1 數(shù)控系統(tǒng)結(jié)構(gòu)框圖
[IMG=圖2 系統(tǒng)軟件結(jié)構(gòu)圖]/uploadpic/THESIS/2007/11/20071114161736355377.jpg[/IMG]
圖2 系統(tǒng)軟件結(jié)構(gòu)圖
[IMG=表1 控制信號(hào)16位字的定義]/uploadpic/THESIS/2007/11/20071114162004170088.jpg[/IMG]
表1 控制信號(hào)16位字的定義
[IMG=表2 狀態(tài)信號(hào)16位宇的定義]/uploadpic/THESIS/2007/11/2007111416220085531K.jpg[/IMG]
表2 狀態(tài)信號(hào)16位宇的定義
3 數(shù)控系統(tǒng)的軟件結(jié)構(gòu)
在CNC控制系統(tǒng)中,其數(shù)控的基本功能是由各種功能子程序?qū)崿F(xiàn)的。不同的軟件結(jié)構(gòu)對(duì)各功能模塊的安排方式不同,管理方式也不同。在本系統(tǒng)中,軟件采用中斷型的軟件結(jié)構(gòu)。本數(shù)控系統(tǒng)由以下5個(gè)主要的模塊組成,它們之間的相互關(guān)系見圖2。
(1)人機(jī)界面模塊:加工狀態(tài)信息顯示、參數(shù)管理、文件管理、DNC功能、程序輸入等。
(2)數(shù)據(jù)處理模塊:譯碼、刀具補(bǔ)償。
(3)任務(wù)協(xié)調(diào)模塊:控制系統(tǒng)在不同方式下的運(yùn)算、位置控制。
(4)控制模塊:速度處理、插補(bǔ)預(yù)處理、插補(bǔ)運(yùn)算、位置控制。
(5)PLC模塊:S、M、T功能實(shí)現(xiàn)、機(jī)床面板功能實(shí)現(xiàn)和故障診斷、信息反饋。
4 數(shù)控系統(tǒng)與伺服系統(tǒng)基于CAN總線方式的通訊建立
數(shù)控系統(tǒng)與伺服間CAN接口用于傳遞運(yùn)動(dòng)數(shù)據(jù)和控制狀態(tài)數(shù)據(jù),CNC發(fā)往伺服的數(shù)據(jù)包括CNC系統(tǒng)給伺服的控制信號(hào)、伺服參數(shù)的修改值、指令伺服運(yùn)動(dòng)數(shù)據(jù)值等;伺服系統(tǒng)發(fā)往CNC系統(tǒng)的數(shù)據(jù)包括伺服當(dāng)前的狀態(tài)信號(hào)、伺服參數(shù)、伺服實(shí)際運(yùn)動(dòng)數(shù)據(jù)值等。
4.1 CNC發(fā)往伺服的數(shù)據(jù)
4.1.1 CNC發(fā)送數(shù)據(jù)結(jié)構(gòu)定義
CNC需要向伺服系統(tǒng)發(fā)送的信息主要包含:控制信號(hào),(位置/速度)增量,伺服參數(shù)(當(dāng)在CNC上修改伺服參數(shù)時(shí))。點(diǎn)對(duì)點(diǎn)發(fā)送時(shí)的每一幀數(shù)據(jù)結(jié)構(gòu)如下:
緊跟的數(shù)據(jù)內(nèi)容為對(duì)伺服的控制信號(hào),它以16位字來定義,且每一位的意義可自行定義,見表1。
4.1.2 數(shù)據(jù)發(fā)送方式
在正常情況下,CNC向伺服系統(tǒng)發(fā)送控制信號(hào)采用不定時(shí)的方式發(fā)送,在下述3種情況下發(fā)送控制信號(hào):①開機(jī)(或重啟動(dòng))初始化完成,為了與伺服建立通訊聯(lián)系,CNC每200ms發(fā)送一次控制信號(hào),直到與伺服建立通訊為止;②當(dāng)CNC要改變對(duì)伺服的控制時(shí);③發(fā)生報(bào)警時(shí)。
發(fā)送時(shí)一般采用點(diǎn)對(duì)點(diǎn)的方式,必要時(shí)也可采用廣播的方式,當(dāng)CNC需要向伺服系統(tǒng)發(fā)送(位置/速度)增量時(shí)采用定時(shí)的方式發(fā)送,發(fā)送時(shí)一般采用廣播的方式,必要時(shí)也可采用點(diǎn)對(duì)點(diǎn)的方式。
4.2 伺服發(fā)往CNC的數(shù)據(jù)
4.2.1 伺服發(fā)送數(shù)據(jù)結(jié)構(gòu)定義
伺服系統(tǒng)需要向CNC發(fā)送的數(shù)據(jù)信息主要包含:狀態(tài)信號(hào),伺服參數(shù),實(shí)際(編碼器)的(位置/速度)增量,其它伺服數(shù)據(jù)。發(fā)送的每一幀數(shù)據(jù)結(jié)構(gòu)如下:
狀態(tài)信號(hào)以16位字的形式定義,每一位的意義見表2。
4.2.2 伺服的數(shù)據(jù)發(fā)送方式
當(dāng)CNC系統(tǒng)請(qǐng)求獲得伺服狀態(tài)信號(hào)而此時(shí)又沒有位置回復(fù)幀時(shí),伺服發(fā)送狀態(tài)信號(hào);當(dāng)伺服出現(xiàn)報(bào)警時(shí),伺服發(fā)送狀態(tài)信號(hào);在CNC位置廣播后的位置回復(fù)幀中發(fā)送狀態(tài)信號(hào)。
當(dāng)伺服收到CNC的(位置/速度)增量,立即回復(fù)上一周期的編碼器實(shí)際(位置/速度)增量。
5 實(shí)驗(yàn)結(jié)果
[IMG=表3 通訊數(shù)據(jù)實(shí)驗(yàn)結(jié)果]/uploadpic/THESIS/2007/11/20071114162903449935.jpg[/IMG]
表3 通訊數(shù)據(jù)實(shí)驗(yàn)結(jié)果
5.1 數(shù)控系統(tǒng)與數(shù)字交流伺服的CAN總線通訊可靠性實(shí)驗(yàn)
在實(shí)驗(yàn)過程中使用了人工干擾源的工具,包括電磁耦合夾,以及在機(jī)床車間強(qiáng)于擾工業(yè)環(huán)境下,對(duì)CAN總線數(shù)據(jù)通信進(jìn)行了試驗(yàn),CNC分別向3個(gè)伺服發(fā)送8字節(jié)數(shù)據(jù),伺服接收到后立即返回接收到的數(shù)據(jù),CNC驗(yàn)證數(shù)據(jù)正確之后繼續(xù)發(fā)送數(shù)據(jù),直到數(shù)據(jù)通訊出錯(cuò)或者通訊次數(shù)到時(shí)停止數(shù)據(jù)發(fā)送,通訊線長(zhǎng)為30m,耦合夾測(cè)試參數(shù)采用IEC61000-4-4標(biāo)準(zhǔn)第3等級(jí),干擾脈沖電壓峰值lkV,重復(fù)頻率5kHz,PROFIBUS-DP波特率設(shè)置成9Mbps,進(jìn)行了多次長(zhǎng)時(shí)間測(cè)試,下面是其中一次實(shí)驗(yàn)的通訊數(shù)據(jù)實(shí)驗(yàn)。
測(cè)試數(shù)據(jù)見表3。
測(cè)試結(jié)果:測(cè)試時(shí)間為969s,收發(fā)數(shù)據(jù)3108472次,計(jì)算得出CNC和伺服交換一次數(shù)據(jù)為0.3117ms,考慮到計(jì)時(shí)誤差以及CNC與各個(gè)伺服通訊之間的等待時(shí)間,CNC和3個(gè)伺服通訊一次的時(shí)間是0.9351nn,滿足系統(tǒng)的要求。試驗(yàn)結(jié)果表明采用CAN總線在機(jī)床數(shù)控系統(tǒng)和伺服系統(tǒng)間進(jìn)行數(shù)據(jù)通訊,傳輸距離遠(yuǎn),抗干擾能力強(qiáng),接口簡(jiǎn)單。
5.2 系統(tǒng)機(jī)械加工實(shí)驗(yàn)
在寶雞CJK6140H機(jī)床上,用CAN總線結(jié)構(gòu)嵌入式機(jī)床數(shù)控系統(tǒng)配CAN總線伺服驅(qū)動(dòng)器,數(shù)控系統(tǒng)的GO速度為6m/min,加減速時(shí)間常數(shù)為40(即160ms)。連續(xù)運(yùn)行同一個(gè)加工程序80多個(gè)小時(shí),回零后,DA98的脈沖位置誤差為0。
在沈陽數(shù)控CK6136H機(jī)床上,用CAN總線結(jié)構(gòu)嵌入式機(jī)床數(shù)控系統(tǒng)配CAN總線伺服驅(qū)動(dòng)器,數(shù)控系統(tǒng)的GO速度為6m/min,加減速時(shí)間常數(shù)為40(即160ms)。加工1個(gè)有內(nèi)螺紋的圓筒和1個(gè)有外螺紋的螺塞。在圓筒內(nèi)放水后擰上螺塞,能擰至螺紋尾端,水不滲漏。
6 結(jié)論
本文研究了一種基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌入式機(jī)床數(shù)控系統(tǒng)的設(shè)計(jì)方法,解決了數(shù)控系統(tǒng)與伺服間指令信息誤差對(duì)數(shù)控系統(tǒng)性能的影響。設(shè)計(jì)了數(shù)控系統(tǒng)與伺服間基于CAN總線的數(shù)據(jù)結(jié)構(gòu),并在強(qiáng)干擾環(huán)境下進(jìn)行了基于DSP(TMS320F2812)的CNC數(shù)控系統(tǒng)與伺服系統(tǒng)的數(shù)據(jù)通訊與系統(tǒng)控制實(shí)驗(yàn)和系統(tǒng)機(jī)械加工實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出的這種基于DSP(TMS320 F2812)的CAN總線結(jié)構(gòu)嵌人式機(jī)床數(shù)控系統(tǒng)的設(shè)計(jì)方法的可行性。這種基于DSP(TMS320F2812)的CAN總線結(jié)構(gòu)嵌人式機(jī)床數(shù)控系統(tǒng)具有集成度高,結(jié)構(gòu)靈活,可擴(kuò)展性好,避免了閉環(huán)機(jī)床數(shù)控系統(tǒng)實(shí)時(shí)指令數(shù)據(jù)在傳輸?shù)剿欧到y(tǒng)時(shí)的D/A和A/D轉(zhuǎn)換及由此而產(chǎn)生的誤差,簡(jiǎn)化了機(jī)床數(shù)控系統(tǒng)和伺服系統(tǒng)接口設(shè)計(jì);同時(shí)由于采用CAN總線結(jié)構(gòu)可以使機(jī)床數(shù)控系統(tǒng)和伺服系統(tǒng)進(jìn)行遠(yuǎn)距離控制,距離可以達(dá)到幾百米,抗干擾能力強(qiáng),易于網(wǎng)絡(luò)化,便于在大型設(shè)備和超大型設(shè)備及生產(chǎn)線上應(yīng)用。
第二屆伺服與運(yùn)動(dòng)控制論壇論文集
第三屆伺服與運(yùn)動(dòng)控制論壇論文集