唐明明,鐘佩思,車霞
(山東科技大學 先進制造技術研究中心,山東 青島 266590)
基于運動控制卡的數控轉塔沖床數控系統研究
唐明明,鐘佩思,車霞
(山東科技大學 先進制造技術研究中心,山東 青島 266590)
基于PC + 運動控制卡的數控轉塔沖床運動控制系統。以伺服電機的運動為主要研究對象,結合運動控制卡、驅動器、運動控制函數庫,通過調用運動控制卡中的運動控制函數,實現伺服電機的單軸運動和連續運動等功能。在VC++6.0高級語言支持下,介紹了系統的開發過程,實現了實時控制、運動控制、狀態檢測顯示等功能,并對系統優化和模具庫管理進行了介紹。
運動控制卡;伺服電機;數控轉塔沖床;數控系統;運動控制
現階段,在我國轉塔數控沖床運動控制系統方面的開發與研究主要基于兩種模式:1) 基于PC+PLC的數控轉塔沖床運動控制系統;2) 基于PC+運動控制卡的數控轉塔沖床運動控制系統。由于PC+PLC的數控轉塔沖床運動控制系統,采用單片機PLC來實現設備移動部件的速度控制和位置控制,外圍電路比較復雜,計算速度比較慢,所以人們更傾向于使用運算速度快,可以滿足高精度的速度和位置控制的運動控制系統,因而基于PC+運動控制卡的數控轉塔沖床運動控制系統隨著運動控制技術的發展而得到了廣泛應用。此外,本系統采用的是伺服電機實現機器的加減速運動控制,伺服電機作為一種把電脈沖轉化為角位移的執行機構,能夠隨著脈沖信號的頻率和數量控制設備移動部件的速度和距離,通過方向信號控制設備移動的方向,是一種既經濟又簡單的控制極速方案。
本系統采用PC+運動控制卡的運動控制系統方案,利用Visual C++6.0語言進行系統程序和界面的開發與設計,實現對伺服電機的運動控制功能。本系統通過人工在PC機上操作接口傳遞給機器控制軟件,機器控制軟件將操作信息轉化為運動參數并根據這些參數調用DLL庫中的運動函數,運動函數調用運動控制卡驅動程序發出控制指令給控制卡,運動控制卡再根據控制指令發出相應的控制信號(脈沖、方向信號)給電機驅動器,電機驅動器根據控制信號來驅動電機運動帶動機器部件的運動。
2.1 硬件設備的組成
系統在硬件上由PC機、DMC1410B運動控制卡、伺服電機驅動器以及伺服電機組成。DMC1410B運動控制卡為雷賽公司自主研發的脈沖式四軸運動控制卡,可輸出脈沖信號和方向信號,用以控制電機的轉速和方向。DMC1410B運動控制卡具有即插即用、連續運動、直線插補、單軸運動等功能;具有梯形和S型加減速運動曲線,最大脈沖輸出頻率為1.2MHz,具有16路輸入和12路輸出的通用I/O接口,輸入輸出信號均采用光電隔離大幅度提高了運動控制卡的可靠性能和抗干擾性能。DMC1410卡也支持即插即用功能。
2.2 運動控制卡主要功能
通過對運動控制卡的操作實現對走刀軌跡的設定、各軸回原點、點動控制、機床啟停、刀具選擇,在加工狀態的顯示,加工任務的管理實現各軸的獨立運動、以及連續運動,并可通過設定速度和加速度的參數數值,讓運動軌跡呈現梯形或者S型加減速運動控制。通過對運動控制卡的實時控制,實現二軸直線插補、三軸直線插補、多軸聯動等操作。DMC1410B運動控制卡可以輸出兩類脈沖信號:1) 脈沖+方向形式(單脈沖);2) 正脈沖+反脈沖(雙脈沖)形式。每軸都有兩個減速剎車信號+SD 和-SD,在檢測到減速信號后,電機減速至低速運行。
通用數字輸出信號OUT用于控制繼電器、電磁閥、指示燈等開關器件。
通用數字輸入信號INPUT用于接近開關、光電開關、按鍵等傳感器的信號輸入。
3.1 運動控制函數
系統是基于Windows XP系統支持平臺,以Visual C++6.0作為開發工具,進行程序設計與開發的系統,是一種基于驅動方式的消息件的程序設計系統 , 當用戶需要完成某種特定功能時, 點擊相應的功能按鈕, 就會產生相對應的消息。然后,操作系統將對消息進行循環并開始檢索消息,并將消息發送給對應的對象。每個相應的接收對象都有相對應的消息映射, 用于將消息與處理函數聯系起來。當目標對象接收到消息映射時, 將開始搜索對應的消息映射, 尋找互相匹配的消息處理函數并實現相應的功能。
系統所支持的DMC1410B運動控制卡,主要有初始化函數、連續運動控制函數、單軸運動控制函數、直線插補函數、圓弧插補函數、回原點函數以及運動狀態檢測函數等各種豐富的函數。由于DMC1410B運動控制卡支持12塊DMC1410B運動卡同時運行工作,因此一臺PC機可以完成多達48軸的伺服電機同時進行運動控制。
在軟件方面運動控制卡提供了大量的運動控制函數,用以滿足用戶在應用中的各種要求。用戶只需根據運動控制系統的具體要求,調用相關的運動控制卡函數庫中的運動控制函數,就可以滿足多種要求的多軸運動控制系統。
函數列舉如下:
(1) 初始化函數
d1000_board_init 軟件初始化
(2) 連續運動控制函數
d1000_start_tv_move 以梯形速度曲線控制一個軸連續運動
d1000_start_sv_move 以S形速度曲線控制一個軸連續運動
d1000_immediate_stop 以梯形或S形急停一個軸
d1000_decel_stop 以梯形或S形減速停止一個軸
(3) 單軸運動控制函數
d1000_start_t_move 以梯形速度曲線控制相對坐標的點位運動
d1000_start_sa_move 以S形速度曲線控制絕對坐標的點位運動
(4) 直線插補函數
d1000_start_t/ta_line 任意2、3、4軸相/絕對坐標的直線插補運動
(5) 圓弧插補函數
d1000_start_t/ta_arc 任意2軸進行相/絕對坐標的圓弧插補
(6) 回原點函數
d1000_home_move 回原點運動
3.2 系統程序設計
3.2.1 實時控制
數控轉塔沖床運動控制系統作為一個實時性多任務的運動控制系統,需要完成的任務有很多,主要包括機床的啟停、直線圓弧插補運算、速度和位置控制等。在這些任務中,對實時性的要求高低不同,因此,根據這一點可以利用系統多線程、多任務、搶占式的技術特點將各個系統任務分配給不同的線程,并賦予各個不同線程的優先級,當優先級高的線程, 即需要執行實時性要求比較高的任務時,可以自動終止其他低線程優先級的工作,而轉向執行這一線程,這樣就可以實現運動控制系統所需求的實時性了。
為了完成運動控制系統的實時控制,系統采用了定時循環檢測的方式。在運行程序中添加消息定時器來完成消息的映射過程,并通過編寫與之相對應的OnTimer()功能函數。其中,OnTimer()函數是實時運動控制系統中的關鍵函數,根據定時器所設置的時間參數,循環執行以下功能:
1) 判斷x,y軸極限位置。
2)x-y軸實時坐標顯示。
3) 回零點的實時運動控制,其中回零時先x軸后y軸。
3.2.2 運動控制
由于DMC1410B運動控制卡可實現單軸點位運動和連續運動。因此,可以對單軸點位運動進行精確地位置控制或速度控制。DMC1410在表述運動軌跡時可以用絕對坐標和相對坐標這兩種模式,這兩種模式各有優點,如:在絕對坐標模式中用一系列坐標點定義一條曲線,如果要修改中間某點坐標時,不會影響后續點的坐標;而在相對坐標模式中,用一系列坐標點定義一條曲線,用循環命令可以重復這條曲線軌跡多次。在DMC1410函數庫中距離或位置的單位為脈沖;速度單位為脈沖/s;時間單位為s。
DMC1410B運動控制卡提供了位置控制模式下兩種加減速方式:一種是梯形曲線加減速,一種是S型曲線加減速。
1) 梯形曲線加減速 通常位置控制采用梯形這種速度控制模式。運動速度之所以要按梯形曲線變化,是因為:電機轉子和被拖動的物體具有慣性,不可能在瞬間達到指定速度,因此應該有一定的加速過程。減速時亦是類似,否則電機會因為瞬間力矩不足而出現丟步、過沖或振蕩現象,如圖1所示。

圖1 梯形速度曲線
2) S型曲線加減速 雖然梯形速度曲線簡單,但它的速度曲線不平滑,其加速度有突變,因而運動中有沖擊現象,容易引起機器噪聲和傳動機構的磨損。在梯形速度曲線上,運動的不平滑主要表現在四個瞬間的速度轉折及相對應的加速度突變,這四個瞬間分別是:啟動時、達到最高速度時、從最高速度下降時和最后停止時。
若將加速度改為線性變化,則速度曲線相應將變得光滑。加速和減速階段均變為“S”形狀。采用此種速度曲線,運動更平穩,且有助于縮短加速過程、降低運動裝置的震動和噪聲,以及延長機械傳動部分的壽命,如圖2所示。

圖2 S型速度曲線
梯形曲線允許在運動過程中修改位置和速度參數;S型曲線只允許在運動過程中修改位置參數。當在加速度時,梯形曲線具有較短的加減速時間,而S曲線的運動比較平滑。因此,應當針對具體應用場合選擇相應的加減速曲線模式。
3.2.3 狀態檢測
用戶可以從運動控制卡的狀態寄存器中讀取控制軸的狀態、連續運動的軌跡控制狀態以及指令狀態。通過調用運動狀態檢測函數來查詢運動控制軸的工作模式和工作狀態。
下面對運動狀態檢測函數進行描述:
d1000_check_done 檢測指定軸的運動狀態
語法定義:
C/C++:
DWORD d1000_check_done (short axis);
參數描述:
Axis:軸號,范圍0~(n×4-1)
返回值:
0:正在運行
1:脈沖輸出完畢停止
2:指令停止(如調用了d1000_decel_stop函數)
3:遇限位停止
4:遇原點停止
3.3 軟件結構設計
系統根據運動功能需求和運動控制卡系統的支持,主要可以分為以下幾個主要模塊:參數設置模塊、運動控制模塊、狀態顯示模塊、代碼顯示模塊、系統管理模塊等。參數設置模塊主要負責各運動主軸的脈沖輸入出設置以及對刀具的選擇等, 運行控制模塊則主要控制移動部件運動的方式, 狀態顯示模塊主要負責將系統運行狀態( 位置坐標、速度大小等) 及運行時的參數進行實時顯示, 代碼顯示模塊則主要負責對代碼的顯示、報錯以及錯誤代碼的更改,系統管理模塊主要負責文件管理等。程序通過各模塊之間的相互協調控制, 共同構成一個完整的基于運動控制卡的數控轉塔系統,如圖3所示。

圖3 軟件結構框架
4.1 最近距離法和便宜法
基于最近距離法和便宜法路徑優化的算法在各行業中應用相當廣泛,通過對典型工藝路徑優化算法基本原理的分析和總結,研究制定轉塔數控沖床加工工藝路徑優化方法并給出相應的算法說明。轉塔數控沖床主要進行各種孔的加工,例如圓孔、方形孔、腰圓孔及各種復雜孔。利用零件圖形信息,采用人工交互式的方式進行路徑的優化。采用特定算法的優化方法,減少加工時間和加工路徑,提高生產效率降低生產成本。
4.2 模具庫管理
模具的種類很多、形式各異,要達到數控自動編程系統的搜索匹配的功能要求,需對模具的各項參數進行合理的定義和歸類。主要包括對各種模具如三角形,圓形,正方形,五角星形,以及不規則圖形模具的設定。
以DMC1410B運動控制卡為主導,基于Windows XP系統平臺,利用Visual C++6.0作為系統的開發工具,用以實現人機交互界面的管理和運動控制系統的實時監控、運動軌跡以及加工代碼的顯示。構筑了一個基于PC+運動控制卡的數控轉塔沖床運動控制系統所形式的數控沖床平臺, 其對基于運動控制卡的數控系統具有一定的實用性和通用性。系統采用DMC1410B運動控制卡完成運動軌跡規劃、直線插補和圓弧插補計算、運動位置的控制、運行速度的控制等實時任務, 以PC 機實現方便快捷的人機界面、系統配置,充分發揮了PC 機豐富的軟硬件資源,縮短了開發周期,反映了數控沖床系統的優越性。以運動控制卡為核心構建數控系統硬件平臺, 本數控系統,允許其他用戶運用新的技術和方法,對其進行更多的開發和擴充新的功能模塊, 以便使系統功能更加完善,更加先進, 功能更強大。
[1] 王飛. 轉塔沖床數控系統及其它關鍵技術的設計與研究[D]. 廈門:廈門大學, 2007.
[2] 林業強. 轉塔沖床數控系統的設計[D]. 廈門:廈門大學, 2009.
[3] 張宏,李富平, 基于PC+運動控制卡的開放式數控系統的研究[J]. 機械設計與制造, 2008(06):171-172.
[4] 張劍,殷蘇民, 基于運動控制卡的開放式數控系統研制[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