基于運(yùn)動(dòng)控制卡的數(shù)控轉(zhuǎn)塔沖床數(shù)控系統(tǒng)研究
0 引言
本文引用地址:http://butianyuan.cn/article/201612/329103.htm現(xiàn)階段,在我國(guó)轉(zhuǎn)塔數(shù)控沖床運(yùn)動(dòng)控制系統(tǒng)方面的開(kāi)發(fā)與研究主要基于兩種模式: 1) 基于PC + PLC 的數(shù)控轉(zhuǎn)塔沖床運(yùn)動(dòng)控制系統(tǒng); 2) 基于PC + 運(yùn)動(dòng)控制卡的數(shù)控轉(zhuǎn)塔沖床運(yùn)動(dòng)控制系統(tǒng)。由于PC + PLC 的數(shù)控轉(zhuǎn)塔沖床運(yùn)動(dòng)控制系統(tǒng),采用單片機(jī)PLC 來(lái)實(shí)現(xiàn)設(shè)備移動(dòng)部件的速度控制和位置控制,外圍電路比較復(fù)雜,計(jì)算速度比較慢,所以人們更傾向于使用運(yùn)算速度快,可以滿(mǎn)足高精度的速度和位置控制的運(yùn)動(dòng)控制系統(tǒng),因而基于PC + 運(yùn)動(dòng)控制卡的數(shù)控轉(zhuǎn)塔沖床運(yùn)動(dòng)控制系統(tǒng)隨著運(yùn)動(dòng)控制技術(shù)的發(fā)展而得到了廣泛應(yīng)用。此外,本系統(tǒng)采用的是伺服電機(jī)實(shí)現(xiàn)機(jī)器的加減速運(yùn)動(dòng)控制,伺服電機(jī)作為一種把電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu),能夠隨著脈沖信號(hào)的頻率和數(shù)量控制設(shè)備移動(dòng)部件的速度和距離,通過(guò)方向信號(hào)控制設(shè)備移動(dòng)的方向,是一種既經(jīng)濟(jì)又簡(jiǎn)單的控制極速方案。
1 運(yùn)動(dòng)控制系統(tǒng)的工作原理
本系統(tǒng)采用PC + 運(yùn)動(dòng)控制卡的運(yùn)動(dòng)控制系統(tǒng)方案,利用Visual C + + 6. 0 語(yǔ)言進(jìn)行系統(tǒng)程序和界面的開(kāi)發(fā)與設(shè)計(jì),實(shí)現(xiàn)對(duì)伺服電機(jī)的運(yùn)動(dòng)控制功能。本系統(tǒng)通過(guò)人工在PC 機(jī)上操作接口傳遞給機(jī)器控制軟件,機(jī)器控制軟件將操作信息轉(zhuǎn)化為運(yùn)動(dòng)參數(shù)并根據(jù)這些參數(shù)調(diào)用DLL 庫(kù)中的運(yùn)動(dòng)函數(shù),運(yùn)動(dòng)函數(shù)調(diào)用運(yùn)動(dòng)控制卡驅(qū)動(dòng)程序發(fā)出控制指令給控制卡,運(yùn)動(dòng)控制卡再根據(jù)控制指令發(fā)出相應(yīng)的控制信號(hào)( 脈沖、方向信號(hào)) 給電機(jī)驅(qū)動(dòng)器,電機(jī)驅(qū)動(dòng)器根據(jù)控制信號(hào)來(lái)驅(qū)動(dòng)電機(jī)運(yùn)動(dòng)帶動(dòng)機(jī)器部件的運(yùn)動(dòng)。
2 控制系統(tǒng)硬件組成
2.1 硬件設(shè)備的組成
系統(tǒng)在硬件上由PC 機(jī)、DMC1410B 運(yùn)動(dòng)控制卡、伺服電機(jī)驅(qū)動(dòng)器以及伺服電機(jī)組成。DMC1410B 運(yùn)動(dòng)控制卡為雷賽公司自主研發(fā)的脈沖式四軸運(yùn)動(dòng)控制卡,可輸出脈沖信號(hào)和方向信號(hào),用以控制電機(jī)的轉(zhuǎn)速和方向。DMC1410B 運(yùn)動(dòng)控制卡具有即插即用、連續(xù)運(yùn)動(dòng)、直線插補(bǔ)、單軸運(yùn)動(dòng)等功能; 具有梯形和S 型加減速運(yùn)動(dòng)曲線,最大脈沖輸出頻率為1. 2 MHz,具有16 路輸入和12 路輸出的通用I /O 接口,輸入輸出信號(hào)均采用光電隔離大幅度提高了運(yùn)動(dòng)控制卡的可靠性能和抗干擾性能。DMC1410 卡也支持即插即用功能。
2.2 運(yùn)動(dòng)控制卡主要功能
通過(guò)對(duì)運(yùn)動(dòng)控制卡的操作實(shí)現(xiàn)對(duì)走刀軌跡的設(shè)定、各軸回原點(diǎn)、點(diǎn)動(dòng)控制、機(jī)床啟停、刀具選擇,在加工狀態(tài)的顯示,加工任務(wù)的管理實(shí)現(xiàn)各軸的獨(dú)立運(yùn)動(dòng)、以及連續(xù)運(yùn)動(dòng),并可通過(guò)設(shè)定速度和加速度的參數(shù)數(shù)值,讓運(yùn)動(dòng)軌跡呈現(xiàn)梯形或者S 型加減速運(yùn)動(dòng)控制。通過(guò)對(duì)運(yùn)動(dòng)控制卡的實(shí)時(shí)控制,實(shí)現(xiàn)二軸直線插補(bǔ)、三軸直線插補(bǔ)、多軸聯(lián)動(dòng)等操作。DMC1410B 運(yùn)動(dòng)控制卡可以輸出兩類(lèi)脈沖信號(hào):
1) 脈沖+ 方向形式( 單脈沖) ; 2) 正脈沖+ 反脈沖( 雙脈沖) 形式。每軸都有兩個(gè)減速剎車(chē)信號(hào)+ SD 和- SD,在檢測(cè)到減速信號(hào)后,電機(jī)減速至低速運(yùn)行。通用數(shù)字輸出信號(hào)OUT 用于控制繼電器、電磁閥、指示燈等開(kāi)關(guān)器件。
通用數(shù)字輸入信號(hào)INPUT 用于接近開(kāi)關(guān)、光電開(kāi)關(guān)、按鍵等傳感器的信號(hào)輸入。
3 控制系統(tǒng)軟件設(shè)計(jì)
3.1 運(yùn)動(dòng)控制函數(shù)
系統(tǒng)是基于Windows XP 系統(tǒng)支持平臺(tái),以VisualC + + 6. 0作為開(kāi)發(fā)工具,進(jìn)行程序設(shè)計(jì)與開(kāi)發(fā)的系統(tǒng),是一種基于驅(qū)動(dòng)方式的消息件的程序設(shè)計(jì)系統(tǒng),當(dāng)用戶(hù)需要完成某種特定功能時(shí),點(diǎn)擊相應(yīng)的功能按鈕,就會(huì)產(chǎn)生相對(duì)應(yīng)的消息。然后,操作系統(tǒng)將對(duì)消息進(jìn)行循環(huán)并開(kāi)始檢索消息,并將消息發(fā)送給對(duì)應(yīng)的對(duì)象。每個(gè)相應(yīng)的接收對(duì)象都有相對(duì)應(yīng)的消息映射,用于將消息與處理函數(shù)聯(lián)系起來(lái)。當(dāng)目標(biāo)對(duì)象接收到消息映射時(shí),將開(kāi)始搜索對(duì)應(yīng)的消息映射,尋找互相匹配的消息處理函數(shù)并實(shí)現(xiàn)相應(yīng)的功能。
系統(tǒng)所支持的DMC1410B 運(yùn)動(dòng)控制卡,主要有初始化函數(shù)、連續(xù)運(yùn)動(dòng)控制函數(shù)、單軸運(yùn)動(dòng)控制函數(shù)、直線插補(bǔ)函數(shù)、圓弧插補(bǔ)函數(shù)、回原點(diǎn)函數(shù)以及運(yùn)動(dòng)狀態(tài)檢測(cè)函數(shù)等各種豐富的函數(shù)。由于DMC1410B 運(yùn)動(dòng)控制卡支持12塊DMC1410B 運(yùn)動(dòng)卡同時(shí)運(yùn)行工作,因此一臺(tái)PC 機(jī)可以完成多達(dá)48 軸的伺服電機(jī)同時(shí)進(jìn)行運(yùn)動(dòng)控制。
在軟件方面運(yùn)動(dòng)控制卡提供了大量的運(yùn)動(dòng)控制函數(shù),用以滿(mǎn)足用戶(hù)在應(yīng)用中的各種要求。用戶(hù)只需根據(jù)運(yùn)動(dòng)控制系統(tǒng)的具體要求,調(diào)用相關(guān)的運(yùn)動(dòng)控制卡函數(shù)庫(kù)中的運(yùn)動(dòng)控制函數(shù),就可以滿(mǎn)足多種要求的多軸運(yùn)動(dòng)控制系統(tǒng)。
函數(shù)列舉如下:
(1) 初始化函數(shù)
d1000_board_init 軟件初始化
(2) 連續(xù)運(yùn)動(dòng)控制函數(shù)
d1000_start_tv_move 以梯形速度曲線控制一個(gè)軸連續(xù)運(yùn)動(dòng)
d1000_start_sv_move 以S 形速度曲線控制一個(gè)軸連續(xù)運(yùn)動(dòng)
d1000_immediate_stop 以梯形或S 形急停一個(gè)軸
d1000_decel_stop 以梯形或S 形減速停止一個(gè)軸
(3) 單軸運(yùn)動(dòng)控制函數(shù)
d1000_start_t_move 以梯形速度曲線控制相對(duì)坐標(biāo)的點(diǎn)位運(yùn)動(dòng)d1000_start_sa_move 以S 形速度曲線控制絕對(duì)坐標(biāo)的點(diǎn)位運(yùn)動(dòng)
(4) 直線插補(bǔ)函數(shù)
d1000_start_t /ta_line 任意2、3、4 軸相/絕對(duì)坐標(biāo)的直線插補(bǔ)運(yùn)動(dòng)
(5) 圓弧插補(bǔ)函數(shù)
d1000_start_t /ta_ arc 任意2 軸進(jìn)行相/絕對(duì)坐標(biāo)的圓弧插補(bǔ)
(6) 回原點(diǎn)函數(shù)
d1000_home_move 回原點(diǎn)運(yùn)動(dòng)
3.2 系統(tǒng)程序設(shè)計(jì)
3.2.1 實(shí)時(shí)控制
數(shù)控轉(zhuǎn)塔沖床運(yùn)動(dòng)控制系統(tǒng)作為一個(gè)實(shí)時(shí)性多任務(wù)的運(yùn)動(dòng)控制系統(tǒng),需要完成的任務(wù)有很多,主要包括機(jī)床的啟停、直線圓弧插補(bǔ)運(yùn)算、速度和位置控制等。在這些任務(wù)中,對(duì)實(shí)時(shí)性的要求高低不同,因此,根據(jù)這一點(diǎn)可以利用系統(tǒng)多線程、多任務(wù)、搶占式的技術(shù)特點(diǎn)將各個(gè)系統(tǒng)任務(wù)分配給不同的線程,并賦予各個(gè)不同線程的優(yōu)先級(jí),當(dāng)優(yōu)先級(jí)高的線程,即需要執(zhí)行實(shí)時(shí)性要求比較高的任務(wù)時(shí),可以自動(dòng)終止其他低線程優(yōu)先級(jí)的工作,而轉(zhuǎn)向執(zhí)行這一線程,這樣就可以實(shí)現(xiàn)運(yùn)動(dòng)控制系統(tǒng)所需求的實(shí)時(shí)性了。
為了完成運(yùn)動(dòng)控制系統(tǒng)的實(shí)時(shí)控制,系統(tǒng)采用了定時(shí)循環(huán)檢測(cè)的方式。在運(yùn)行程序中添加消息定時(shí)器來(lái)完成消息的映射過(guò)程,并通過(guò)編寫(xiě)與之相對(duì)應(yīng)的OnTimer( ) 功能函數(shù)。其中,OnTimer( ) 函數(shù)是實(shí)時(shí)運(yùn)動(dòng)控制系統(tǒng)中的關(guān)鍵函數(shù),根據(jù)定時(shí)器所設(shè)置的時(shí)間參數(shù),循環(huán)執(zhí)行以下功能:
1) 判斷x,y 軸極限位置。
2) x - y 軸實(shí)時(shí)坐標(biāo)顯示。
3) 回零點(diǎn)的實(shí)時(shí)運(yùn)動(dòng)控制,其中回零時(shí)先x 軸后y 軸。
3.2.2 運(yùn)動(dòng)控制
由于DMC1410B 運(yùn)動(dòng)控制卡可實(shí)現(xiàn)單軸點(diǎn)位運(yùn)動(dòng)和連續(xù)運(yùn)動(dòng)。因此,可以對(duì)單軸點(diǎn)位運(yùn)動(dòng)進(jìn)行精確地位置控制或速度控制。DMC1410 在表述運(yùn)動(dòng)軌跡時(shí)可以用絕對(duì)坐標(biāo)和相對(duì)坐標(biāo)這兩種模式,這兩種模式各有優(yōu)點(diǎn),如: 在絕對(duì)坐標(biāo)模式中用一系列坐標(biāo)點(diǎn)定義一條曲線,如果要修改中間某點(diǎn)坐標(biāo)時(shí),不會(huì)影響后續(xù)點(diǎn)的坐標(biāo); 而在相對(duì)坐標(biāo)模式中,用一系列坐標(biāo)點(diǎn)定義一條曲線,用循環(huán)命令可以重復(fù)這條曲線軌跡多次。在DMC1410 函數(shù)庫(kù)中距離或位置的單位為脈沖; 速度單位為脈沖/s; 時(shí)間單位為s。
DMC1410B 運(yùn)動(dòng)控制卡提供了位置控制模式下兩種加減速方式: 一種是梯形曲線加減速,一種是S 型曲線加減速。
1) 梯形曲線加減速通常位置控制采用梯形這種速度控制模式。運(yùn)動(dòng)速度之所以要按梯形曲線變化,是因?yàn)? 電機(jī)轉(zhuǎn)子和被拖動(dòng)的物體具有慣性,不可能在瞬間達(dá)到指定速度,因此應(yīng)該有一定的加速過(guò)程。減速時(shí)亦是類(lèi)似,否則電機(jī)會(huì)因?yàn)樗查g力矩不足而出現(xiàn)丟步、過(guò)沖或振蕩現(xiàn)象,如圖1 所示。
圖1 梯形速度曲線
2) S 型曲線加減速雖然梯形速度曲線簡(jiǎn)單,但它的速度曲線不平滑,其加速度有突變,因而運(yùn)動(dòng)中有沖擊現(xiàn)象,容易引起機(jī)器噪聲和傳動(dòng)機(jī)構(gòu)的磨損。在梯形速度曲線上,運(yùn)動(dòng)的不平滑主要表現(xiàn)在四個(gè)瞬間的速度轉(zhuǎn)折及相對(duì)應(yīng)的加速度突變,這四個(gè)瞬間分別是: 啟動(dòng)時(shí)、達(dá)到最高速度時(shí)、從最高速度下降時(shí)和最后停止時(shí)。
若將加速度改為線性變化,則速度曲線相應(yīng)將變得光滑。加速和減速階段均變?yōu)?ldquo;S”形狀。采用此種速度曲線,運(yùn)動(dòng)更平穩(wěn),且有助于縮短加速過(guò)程、降低運(yùn)動(dòng)裝置的震動(dòng)和噪聲,以及延長(zhǎng)機(jī)械傳動(dòng)部分的壽命,如圖2 所示。
圖2 S 型速度曲線
梯形曲線允許在運(yùn)動(dòng)過(guò)程中修改位置和速度參數(shù); S型曲線只允許在運(yùn)動(dòng)過(guò)程中修改位置參數(shù)。當(dāng)在加速度時(shí),梯形曲線具有較短的加減速時(shí)間,而S 曲線的運(yùn)動(dòng)比較平滑。因此,應(yīng)當(dāng)針對(duì)具體應(yīng)用場(chǎng)合選擇相應(yīng)的加減速曲線模式。
3.2.3 狀態(tài)檢測(cè)
用戶(hù)可以從運(yùn)動(dòng)控制卡的狀態(tài)寄存器中讀取控制軸的狀態(tài)、連續(xù)運(yùn)動(dòng)的軌跡控制狀態(tài)以及指令狀態(tài)。通過(guò)調(diào)用運(yùn)動(dòng)狀態(tài)檢測(cè)函數(shù)來(lái)查詢(xún)運(yùn)動(dòng)控制軸的工作模式和工作狀態(tài)。
下面對(duì)運(yùn)動(dòng)狀態(tài)檢測(cè)函數(shù)進(jìn)行描述:
d1000_check_done 檢測(cè)指定軸的運(yùn)動(dòng)狀態(tài)語(yǔ)法定義:
C/C + + :
DWORD d1000_check_done ( short axis) ;
參數(shù)描述:
Axis: 軸號(hào),范圍0 ~ ( n × 4 - 1)返回值:
0: 正在運(yùn)行
1: 脈沖輸出完畢停止
2: 指令停止( 如調(diào)用了d1000_decel_stop 函數(shù))
3: 遇限位停止
4: 遇原點(diǎn)停止
3.3 軟件結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)根據(jù)運(yùn)動(dòng)功能需求和運(yùn)動(dòng)控制卡系統(tǒng)的支持,主要可以分為以下幾個(gè)主要模塊: 參數(shù)設(shè)置模塊、運(yùn)動(dòng)控制模塊、狀態(tài)顯示模塊、代碼顯示模塊、系統(tǒng)管理模塊等。參數(shù)設(shè)置模塊主要負(fù)責(zé)各運(yùn)動(dòng)主軸的脈沖輸入出設(shè)置以及對(duì)刀具的選擇等,運(yùn)行控制模塊則主要控制移動(dòng)部件運(yùn)動(dòng)的方式,狀態(tài)顯示模塊主要負(fù)責(zé)將系統(tǒng)運(yùn)行狀態(tài)( 位置坐標(biāo)、速度大小等) 及運(yùn)行時(shí)的參數(shù)進(jìn)行實(shí)時(shí)顯示,代碼顯示模塊則主要負(fù)責(zé)對(duì)代碼的顯示、報(bào)錯(cuò)以及錯(cuò)誤代碼的更改,系統(tǒng)管理模塊主要負(fù)責(zé)文件管理等。程序通過(guò)各模塊之間的相互協(xié)調(diào)控制,共同構(gòu)成一個(gè)完整的基于運(yùn)動(dòng)控制卡的數(shù)控轉(zhuǎn)塔系統(tǒng),如圖3 所示。
圖3 軟件結(jié)構(gòu)框架
4 系統(tǒng)優(yōu)化設(shè)計(jì)與模具管理
4.1 最近距離法和便宜法
基于最近距離法和便宜法路徑優(yōu)化的算法在各行業(yè)中應(yīng)用相當(dāng)廣泛,通過(guò)對(duì)典型工藝路徑優(yōu)化算法基本原理的分析和總結(jié),研究制定轉(zhuǎn)塔數(shù)控沖床加工工藝路徑優(yōu)化方法并給出相應(yīng)的算法說(shuō)明。轉(zhuǎn)塔數(shù)控沖床主要進(jìn)行各種孔的加工,例如圓孔、方形孔、腰圓孔及各種復(fù)雜孔。利用零件圖形信息,采用人工交互式的方式進(jìn)行路徑的優(yōu)化。采用特定算法的優(yōu)化方法,減少加工時(shí)間和加工路徑,提高生產(chǎn)效率降低生產(chǎn)成本。
4.2 模具庫(kù)管理
模具的種類(lèi)很多、形式各異,要達(dá)到數(shù)控自動(dòng)編程系統(tǒng)的搜索匹配的功能要求,需對(duì)模具的各項(xiàng)參數(shù)進(jìn)行合理的定義和歸類(lèi)。主要包括對(duì)各種模具如三角形,圓形,正方形,五角星形,以及不規(guī)則圖形模具的設(shè)定。
5 結(jié)語(yǔ)
以DMC1410B 運(yùn)動(dòng)控制卡為主導(dǎo),基于Windows XP系統(tǒng)平臺(tái),利用Visual C + + 6. 0 作為系統(tǒng)的開(kāi)發(fā)工具,用以實(shí)現(xiàn)人機(jī)交互界面的管理和運(yùn)動(dòng)控制系統(tǒng)的實(shí)時(shí)監(jiān)控、運(yùn)動(dòng)軌跡以及加工代碼的顯示。構(gòu)筑了一個(gè)基于PC + 運(yùn)動(dòng)控制卡的數(shù)控轉(zhuǎn)塔沖床運(yùn)動(dòng)控制系統(tǒng)所形式的數(shù)控沖床平臺(tái),其對(duì)基于運(yùn)動(dòng)控制卡的數(shù)控系統(tǒng)具有一定的實(shí)用性和通用性。系統(tǒng)采用DMC1410B 運(yùn)動(dòng)控制卡完成運(yùn)動(dòng)軌跡規(guī)劃、直線插補(bǔ)和圓弧插補(bǔ)計(jì)算、運(yùn)動(dòng)位置的控制、運(yùn)行速度的控制等實(shí)時(shí)任務(wù),以PC 機(jī)實(shí)現(xiàn)方便快捷的人機(jī)界面、系統(tǒng)配置,充分發(fā)揮了PC 機(jī)豐富的軟硬件資源,縮短了開(kāi)發(fā)周期,反映了數(shù)控沖床系統(tǒng)的優(yōu)越性。以運(yùn)動(dòng)控制卡為核心構(gòu)建數(shù)控系統(tǒng)硬件平臺(tái),本數(shù)控系統(tǒng),允許其他用戶(hù)運(yùn)用新的技術(shù)和方法,對(duì)其進(jìn)行更多的開(kāi)發(fā)和擴(kuò)充新的功能模塊,以便使系統(tǒng)功能更加完善,更加先進(jìn),功能更強(qiáng)大。
評(píng)論