唐明明,鐘佩思,車霞
(山東科技大學 先進制造技術研究中心,山東 青島 266590)
基于運動控制卡的數(shù)控轉塔沖床數(shù)控系統(tǒng)研究
唐明明,鐘佩思,車霞
(山東科技大學 先進制造技術研究中心,山東 青島 266590)
基于PC + 運動控制卡的數(shù)控轉塔沖床運動控制系統(tǒng)。以伺服電機的運動為主要研究對象,結合運動控制卡、驅動器、運動控制函數(shù)庫,通過調用運動控制卡中的運動控制函數(shù),實現(xiàn)伺服電機的單軸運動和連續(xù)運動等功能。在VC++6.0高級語言支持下,介紹了系統(tǒng)的開發(fā)過程,實現(xiàn)了實時控制、運動控制、狀態(tài)檢測顯示等功能,并對系統(tǒng)優(yōu)化和模具庫管理進行了介紹。
運動控制卡;伺服電機;數(shù)控轉塔沖床;數(shù)控系統(tǒng);運動控制
現(xiàn)階段,在我國轉塔數(shù)控沖床運動控制系統(tǒng)方面的開發(fā)與研究主要基于兩種模式:1) 基于PC+PLC的數(shù)控轉塔沖床運動控制系統(tǒng);2) 基于PC+運動控制卡的數(shù)控轉塔沖床運動控制系統(tǒng)。由于PC+PLC的數(shù)控轉塔沖床運動控制系統(tǒng),采用單片機PLC來實現(xiàn)設備移動部件的速度控制和位置控制,外圍電路比較復雜,計算速度比較慢,所以人們更傾向于使用運算速度快,可以滿足高精度的速度和位置控制的運動控制系統(tǒng),因而基于PC+運動控制卡的數(shù)控轉塔沖床運動控制系統(tǒng)隨著運動控制技術的發(fā)展而得到了廣泛應用。此外,本系統(tǒng)采用的是伺服電機實現(xiàn)機器的加減速運動控制,伺服電機作為一種把電脈沖轉化為角位移的執(zhí)行機構,能夠隨著脈沖信號的頻率和數(shù)量控制設備移動部件的速度和距離,通過方向信號控制設備移動的方向,是一種既經濟又簡單的控制極速方案。
本系統(tǒng)采用PC+運動控制卡的運動控制系統(tǒng)方案,利用Visual C++6.0語言進行系統(tǒng)程序和界面的開發(fā)與設計,實現(xiàn)對伺服電機的運動控制功能。本系統(tǒng)通過人工在PC機上操作接口傳遞給機器控制軟件,機器控制軟件將操作信息轉化為運動參數(shù)并根據(jù)這些參數(shù)調用DLL庫中的運動函數(shù),運動函數(shù)調用運動控制卡驅動程序發(fā)出控制指令給控制卡,運動控制卡再根據(jù)控制指令發(fā)出相應的控制信號(脈沖、方向信號)給電機驅動器,電機驅動器根據(jù)控制信號來驅動電機運動帶動機器部件的運動。
2.1 硬件設備的組成
系統(tǒng)在硬件上由PC機、DMC1410B運動控制卡、伺服電機驅動器以及伺服電機組成。DMC1410B運動控制卡為雷賽公司自主研發(fā)的脈沖式四軸運動控制卡,可輸出脈沖信號和方向信號,用以控制電機的轉速和方向。DMC1410B運動控制卡具有即插即用、連續(xù)運動、直線插補、單軸運動等功能;具有梯形和S型加減速運動曲線,最大脈沖輸出頻率為1.2MHz,具有16路輸入和12路輸出的通用I/O接口,輸入輸出信號均采用光電隔離大幅度提高了運動控制卡的可靠性能和抗干擾性能。DMC1410卡也支持即插即用功能。
2.2 運動控制卡主要功能
通過對運動控制卡的操作實現(xiàn)對走刀軌跡的設定、各軸回原點、點動控制、機床啟停、刀具選擇,在加工狀態(tài)的顯示,加工任務的管理實現(xiàn)各軸的獨立運動、以及連續(xù)運動,并可通過設定速度和加速度的參數(shù)數(shù)值,讓運動軌跡呈現(xiàn)梯形或者S型加減速運動控制。通過對運動控制卡的實時控制,實現(xiàn)二軸直線插補、三軸直線插補、多軸聯(lián)動等操作。DMC1410B運動控制卡可以輸出兩類脈沖信號:1) 脈沖+方向形式(單脈沖);2) 正脈沖+反脈沖(雙脈沖)形式。每軸都有兩個減速剎車信號+SD 和-SD,在檢測到減速信號后,電機減速至低速運行。
通用數(shù)字輸出信號OUT用于控制繼電器、電磁閥、指示燈等開關器件。
通用數(shù)字輸入信號INPUT用于接近開關、光電開關、按鍵等傳感器的信號輸入。
3.1 運動控制函數(shù)
系統(tǒng)是基于Windows XP系統(tǒng)支持平臺,以Visual C++6.0作為開發(fā)工具,進行程序設計與開發(fā)的系統(tǒng),是一種基于驅動方式的消息件的程序設計系統(tǒng) , 當用戶需要完成某種特定功能時, 點擊相應的功能按鈕, 就會產生相對應的消息。然后,操作系統(tǒng)將對消息進行循環(huán)并開始檢索消息,并將消息發(fā)送給對應的對象。每個相應的接收對象都有相對應的消息映射, 用于將消息與處理函數(shù)聯(lián)系起來。當目標對象接收到消息映射時, 將開始搜索對應的消息映射, 尋找互相匹配的消息處理函數(shù)并實現(xiàn)相應的功能。
系統(tǒng)所支持的DMC1410B運動控制卡,主要有初始化函數(shù)、連續(xù)運動控制函數(shù)、單軸運動控制函數(shù)、直線插補函數(shù)、圓弧插補函數(shù)、回原點函數(shù)以及運動狀態(tài)檢測函數(shù)等各種豐富的函數(shù)。由于DMC1410B運動控制卡支持12塊DMC1410B運動卡同時運行工作,因此一臺PC機可以完成多達48軸的伺服電機同時進行運動控制。
在軟件方面運動控制卡提供了大量的運動控制函數(shù),用以滿足用戶在應用中的各種要求。用戶只需根據(jù)運動控制系統(tǒng)的具體要求,調用相關的運動控制卡函數(shù)庫中的運動控制函數(shù),就可以滿足多種要求的多軸運動控制系統(tǒng)。
函數(shù)列舉如下:
(1) 初始化函數(shù)
d1000_board_init 軟件初始化
(2) 連續(xù)運動控制函數(shù)
d1000_start_tv_move 以梯形速度曲線控制一個軸連續(xù)運動
d1000_start_sv_move 以S形速度曲線控制一個軸連續(xù)運動
d1000_immediate_stop 以梯形或S形急停一個軸
d1000_decel_stop 以梯形或S形減速停止一個軸
(3) 單軸運動控制函數(shù)
d1000_start_t_move 以梯形速度曲線控制相對坐標的點位運動
d1000_start_sa_move 以S形速度曲線控制絕對坐標的點位運動
(4) 直線插補函數(shù)
d1000_start_t/ta_line 任意2、3、4軸相/絕對坐標的直線插補運動
(5) 圓弧插補函數(shù)
d1000_start_t/ta_arc 任意2軸進行相/絕對坐標的圓弧插補
(6) 回原點函數(shù)
d1000_home_move 回原點運動
3.2 系統(tǒng)程序設計
3.2.1 實時控制
數(shù)控轉塔沖床運動控制系統(tǒng)作為一個實時性多任務的運動控制系統(tǒng),需要完成的任務有很多,主要包括機床的啟停、直線圓弧插補運算、速度和位置控制等。在這些任務中,對實時性的要求高低不同,因此,根據(jù)這一點可以利用系統(tǒng)多線程、多任務、搶占式的技術特點將各個系統(tǒng)任務分配給不同的線程,并賦予各個不同線程的優(yōu)先級,當優(yōu)先級高的線程, 即需要執(zhí)行實時性要求比較高的任務時,可以自動終止其他低線程優(yōu)先級的工作,而轉向執(zhí)行這一線程,這樣就可以實現(xiàn)運動控制系統(tǒng)所需求的實時性了。
為了完成運動控制系統(tǒng)的實時控制,系統(tǒng)采用了定時循環(huán)檢測的方式。在運行程序中添加消息定時器來完成消息的映射過程,并通過編寫與之相對應的OnTimer()功能函數(shù)。其中,OnTimer()函數(shù)是實時運動控制系統(tǒng)中的關鍵函數(shù),根據(jù)定時器所設置的時間參數(shù),循環(huán)執(zhí)行以下功能:
1) 判斷x,y軸極限位置。
2)x-y軸實時坐標顯示。
3) 回零點的實時運動控制,其中回零時先x軸后y軸。
3.2.2 運動控制
由于DMC1410B運動控制卡可實現(xiàn)單軸點位運動和連續(xù)運動。因此,可以對單軸點位運動進行精確地位置控制或速度控制。DMC1410在表述運動軌跡時可以用絕對坐標和相對坐標這兩種模式,這兩種模式各有優(yōu)點,如:在絕對坐標模式中用一系列坐標點定義一條曲線,如果要修改中間某點坐標時,不會影響后續(xù)點的坐標;而在相對坐標模式中,用一系列坐標點定義一條曲線,用循環(huán)命令可以重復這條曲線軌跡多次。在DMC1410函數(shù)庫中距離或位置的單位為脈沖;速度單位為脈沖/s;時間單位為s。
DMC1410B運動控制卡提供了位置控制模式下兩種加減速方式:一種是梯形曲線加減速,一種是S型曲線加減速。
1) 梯形曲線加減速 通常位置控制采用梯形這種速度控制模式。運動速度之所以要按梯形曲線變化,是因為:電機轉子和被拖動的物體具有慣性,不可能在瞬間達到指定速度,因此應該有一定的加速過程。減速時亦是類似,否則電機會因為瞬間力矩不足而出現(xiàn)丟步、過沖或振蕩現(xiàn)象,如圖1所示。
圖1 梯形速度曲線
2) S型曲線加減速 雖然梯形速度曲線簡單,但它的速度曲線不平滑,其加速度有突變,因而運動中有沖擊現(xiàn)象,容易引起機器噪聲和傳動機構的磨損。在梯形速度曲線上,運動的不平滑主要表現(xiàn)在四個瞬間的速度轉折及相對應的加速度突變,這四個瞬間分別是:啟動時、達到最高速度時、從最高速度下降時和最后停止時。
若將加速度改為線性變化,則速度曲線相應將變得光滑。加速和減速階段均變?yōu)椤癝”形狀。采用此種速度曲線,運動更平穩(wěn),且有助于縮短加速過程、降低運動裝置的震動和噪聲,以及延長機械傳動部分的壽命,如圖2所示。
圖2 S型速度曲線
梯形曲線允許在運動過程中修改位置和速度參數(shù);S型曲線只允許在運動過程中修改位置參數(shù)。當在加速度時,梯形曲線具有較短的加減速時間,而S曲線的運動比較平滑。因此,應當針對具體應用場合選擇相應的加減速曲線模式。
3.2.3 狀態(tài)檢測
用戶可以從運動控制卡的狀態(tài)寄存器中讀取控制軸的狀態(tài)、連續(xù)運動的軌跡控制狀態(tài)以及指令狀態(tài)。通過調用運動狀態(tài)檢測函數(shù)來查詢運動控制軸的工作模式和工作狀態(tài)。
下面對運動狀態(tài)檢測函數(shù)進行描述:
d1000_check_done 檢測指定軸的運動狀態(tài)
語法定義:
C/C++:
DWORD d1000_check_done (short axis);
參數(shù)描述:
Axis:軸號,范圍0~(n×4-1)
返回值:
0:正在運行
1:脈沖輸出完畢停止
2:指令停止(如調用了d1000_decel_stop函數(shù))
3:遇限位停止
4:遇原點停止
3.3 軟件結構設計
系統(tǒng)根據(jù)運動功能需求和運動控制卡系統(tǒng)的支持,主要可以分為以下幾個主要模塊:參數(shù)設置模塊、運動控制模塊、狀態(tài)顯示模塊、代碼顯示模塊、系統(tǒng)管理模塊等。參數(shù)設置模塊主要負責各運動主軸的脈沖輸入出設置以及對刀具的選擇等, 運行控制模塊則主要控制移動部件運動的方式, 狀態(tài)顯示模塊主要負責將系統(tǒng)運行狀態(tài)( 位置坐標、速度大小等) 及運行時的參數(shù)進行實時顯示, 代碼顯示模塊則主要負責對代碼的顯示、報錯以及錯誤代碼的更改,系統(tǒng)管理模塊主要負責文件管理等。程序通過各模塊之間的相互協(xié)調控制, 共同構成一個完整的基于運動控制卡的數(shù)控轉塔系統(tǒng),如圖3所示。
圖3 軟件結構框架
4.1 最近距離法和便宜法
基于最近距離法和便宜法路徑優(yōu)化的算法在各行業(yè)中應用相當廣泛,通過對典型工藝路徑優(yōu)化算法基本原理的分析和總結,研究制定轉塔數(shù)控沖床加工工藝路徑優(yōu)化方法并給出相應的算法說明。轉塔數(shù)控沖床主要進行各種孔的加工,例如圓孔、方形孔、腰圓孔及各種復雜孔。利用零件圖形信息,采用人工交互式的方式進行路徑的優(yōu)化。采用特定算法的優(yōu)化方法,減少加工時間和加工路徑,提高生產效率降低生產成本。
4.2 模具庫管理
模具的種類很多、形式各異,要達到數(shù)控自動編程系統(tǒng)的搜索匹配的功能要求,需對模具的各項參數(shù)進行合理的定義和歸類。主要包括對各種模具如三角形,圓形,正方形,五角星形,以及不規(guī)則圖形模具的設定。
以DMC1410B運動控制卡為主導,基于Windows XP系統(tǒng)平臺,利用Visual C++6.0作為系統(tǒng)的開發(fā)工具,用以實現(xiàn)人機交互界面的管理和運動控制系統(tǒng)的實時監(jiān)控、運動軌跡以及加工代碼的顯示。構筑了一個基于PC+運動控制卡的數(shù)控轉塔沖床運動控制系統(tǒng)所形式的數(shù)控沖床平臺, 其對基于運動控制卡的數(shù)控系統(tǒng)具有一定的實用性和通用性。系統(tǒng)采用DMC1410B運動控制卡完成運動軌跡規(guī)劃、直線插補和圓弧插補計算、運動位置的控制、運行速度的控制等實時任務, 以PC 機實現(xiàn)方便快捷的人機界面、系統(tǒng)配置,充分發(fā)揮了PC 機豐富的軟硬件資源,縮短了開發(fā)周期,反映了數(shù)控沖床系統(tǒng)的優(yōu)越性。以運動控制卡為核心構建數(shù)控系統(tǒng)硬件平臺, 本數(shù)控系統(tǒng),允許其他用戶運用新的技術和方法,對其進行更多的開發(fā)和擴充新的功能模塊, 以便使系統(tǒng)功能更加完善,更加先進, 功能更強大。
[1] 王飛. 轉塔沖床數(shù)控系統(tǒng)及其它關鍵技術的設計與研究[D]. 廈門:廈門大學, 2007.
[2] 林業(yè)強. 轉塔沖床數(shù)控系統(tǒng)的設計[D]. 廈門:廈門大學, 2009.
[3] 張宏,李富平, 基于PC+運動控制卡的開放式數(shù)控系統(tǒng)的研究[J]. 機械設計與制造, 2008(06):171-172.
[4] 張劍,殷蘇民, 基于運動控制卡的開放式數(shù)控系統(tǒng)研制[J]. 機床與液壓, 2003(03):170-173.
Research on NC Turret System Based on Motion Control Card and Its Development
TANG Ming-ming,ZHONG Pei-si,CHE Xia
(Advanced Manufacturing Technology Center, Shandong University of Science and Technology, Qingdao 266590, China)
Based on a CNC turret punch press motion control system of the PC + motion control card,this paper takes the stepping motor movement as the main research object and uses the motion control card, driver, motion control function library and calling motion control functions of the movement control card to achieve its single shaft movement and continuous movement functions. Under the vc + + 6.0 high-level language support, it also introduces the development process of the system, its optimization and mould library management and the way which is used to realize the real-time control, motion control, detecting state display and other functions.
motion conrtol card;servo motor;NC turret punch press;control system;motion control
唐明明(1986-),男, 山東兗州人,碩士研究生,研究方向:先進制造技術。
TG385
B
1671-5276(2014)02-0192-03
2013-03-11