胡巖
摘 ?要:結(jié)合三維平動并聯(lián)機床的結(jié)構(gòu)特點,采用以“PC機+GTS運動控制器”為基礎(chǔ)的硬件平臺,以Windows操作系統(tǒng)為軟件平臺,以delphi為開發(fā)工具,完成了該并聯(lián)機床控制系統(tǒng)的硬件與軟件設(shè)計。該系統(tǒng)可對該并聯(lián)機床進(jìn)行實時信息監(jiān)測和控制,包括動作同步監(jiān)測、開關(guān)量顯示、手動操控、運動編程、程序測試、參數(shù)設(shè)置等功能。
關(guān)鍵詞:并聯(lián)機床;運動控制;軟件平臺
前言:并聯(lián)機床是一種將并聯(lián)機構(gòu)作為進(jìn)給傳動機構(gòu)的數(shù)控機床,具有高剛度、高精度、高速度、高動態(tài)性能、高承載能力等優(yōu)點[1],三維平動并聯(lián)機床在我國經(jīng)濟活躍的地區(qū)用于非金屬切割、雕刻、打孔等方面,得到快速發(fā)展,但目前的加工設(shè)備價格昂貴,控制系統(tǒng)復(fù)雜,難以保證加工精度。本文設(shè)計了一種基于PC機和GTS運動控制器的三維加工用并聯(lián)機床的控制系統(tǒng),利用Delphi 7.0編程工具所開發(fā)的控制系統(tǒng)能夠?qū)υ撊S平動并聯(lián)機床進(jìn)行實時監(jiān)測和控制。
一、三維平動并聯(lián)機床結(jié)構(gòu)簡介
三維平動并聯(lián)機床的動平臺通過3根連桿和安裝在絲杠上的三個滑塊與靜平臺相連。通過控制交流伺服電動機的運動控制三滑塊協(xié)調(diào)運動,從而精確控制動平臺的位置,即控制加工點的位置。
三根連桿兩端均采用胡克鉸與絲桿螺母和動平臺相連。
二、控制系統(tǒng)硬件構(gòu)成
系統(tǒng)硬件組成如圖1所示,其中包括三套伺服電機作為電氣執(zhí)行元件;GTS運動控制器作為運動控制核心部件[9],完成各個電機之間的實時運動插補、運動控制功能;PC機作為上位機,完成路徑規(guī)劃、文件處理、仿真顯示、手動控制等功能。
其中,GTS運動控制器是固高科技的運動控制產(chǎn)品之一,基于計算機PCI總線,可同時控制4軸運動。
圖1 ?并聯(lián)機床控制系統(tǒng)硬件圖
三、控制系統(tǒng)軟件總體框架設(shè)計
為了實現(xiàn)對三維平動并聯(lián)機床的實時監(jiān)測,同時考慮到人機交互的便捷性,利用Delphi 7.0編寫上位機程序,上位機調(diào)用運動控制器的指令,運動控制器按照主機發(fā)送的指令工作,驅(qū)動電機運動,改變滑塊位置,即移動動平臺。
該控制系統(tǒng)主要由5個模塊組成:手動模塊、自動模塊、測試模塊、編程模塊、參數(shù)設(shè)置模塊。
手動模塊主要用于動平臺的小位移的運動控制和手輪操作控制。
自動模塊主要用于程序的自動運行,運動軌跡的實時顯示。
測試模塊主要用于對于所編寫好的程序進(jìn)行運動軌跡的模擬仿真,可選擇進(jìn)行單步或單次等不同的調(diào)試方式。
編程模塊主要用于新建任務(wù),進(jìn)行運動程序的編寫等,在編寫程序的過程中要能對一些明顯的編程錯誤進(jìn)行報錯提醒。
參數(shù)設(shè)置模塊主要用于設(shè)定機床零點和默認(rèn)進(jìn)給速度等。
手動模塊和自動模塊的界面都以顯示燈的形式實時顯示外部輸入信息:如主軸開關(guān)、冷卻液開關(guān)、極限限位等信息,并實時顯示坐標(biāo)數(shù)據(jù)。
四、主要功能模塊
本三維平動并聯(lián)機床的控制系統(tǒng)以Delphi 7.0作為編程工具進(jìn)行控制系統(tǒng)的開發(fā)。Delphi 7.0是Borland公司推出的Delphi編程軟件的新且成熟的一個版本,它采用面向?qū)ο蟮某绦蛟O(shè)計、組件化的編程方式,其開發(fā)功能強大,且易于學(xué)習(xí)使用[1]。本控制系統(tǒng)采用GTS系列運動控制卡,只需將運動控制卡的動態(tài)鏈接庫和函數(shù)聲明文件復(fù)制到工程文件夾中,并將函數(shù)聲明文件添加到工程中,并添加對函數(shù)聲明文件的引用,用戶就可以在Delphi中調(diào)用函數(shù)庫中的任何函數(shù),編寫應(yīng)用程序,進(jìn)行控制系統(tǒng)的開發(fā)[2]。
圖2 ?作業(yè)編輯處理過程
(一)編程模塊。該模塊主要用于進(jìn)行作業(yè)管理:新建作業(yè)、編輯作業(yè)、刪除作業(yè)。當(dāng)初次建立編程任務(wù)時,設(shè)置編程環(huán)境,創(chuàng)建臨時作業(yè)區(qū),讀取臨時作業(yè)區(qū)內(nèi)容并顯示,默認(rèn)將程序起始語句“START”和結(jié)束語句“END”置于程序首末,并設(shè)置第一個語句的序號“001”。若僅是編輯作業(yè),則復(fù)制當(dāng)前作業(yè)到臨時作業(yè)區(qū),然后顯示。進(jìn)行正常語句編寫,包括機床作業(yè)點的三維坐標(biāo)以及運動速度。每個語句結(jié)束處,鍵入回車鍵即可進(jìn)入下一行程序編輯狀態(tài),同時自動輸入行號。除了運動位置輸入外,還可依據(jù)運動中的要求(如打開冷卻液、主軸開啟等)選擇或設(shè)置指令。程序編輯中也可以進(jìn)行刪除行、插入行、更改內(nèi)容等工作。編輯完畢,即可保存該運動程序,也可直接執(zhí)行該文件。編程過程如圖2所示,運行界面如圖3所示。
圖3 ?程序編輯界面
(二)手動模塊。手動模塊完成的功能主要有:歸零(回機床零點),設(shè)定進(jìn)給量、進(jìn)給速度,手動驅(qū)動,手輪驅(qū)動等,運行控制界面如圖4所示。
無論手輪驅(qū)動還是手動驅(qū)動動平臺運動,均可以實現(xiàn)三電機聯(lián)動,這樣做的目的是為了避免一個電機的過度運動,使并聯(lián)機構(gòu)發(fā)生干涉。如圖4所示,在手動運行的界面可以實時刷新顯示加工點位置。
圖4 ?手動運行控制界面
回零操作,是借助于極限開關(guān)和GTS運動控制的限位功能進(jìn)行編程實現(xiàn)的,具體的操作將在下一節(jié)進(jìn)行描述。
圖5 ?測試運行控制界面
(三)測試模塊。測試模塊主要用來對已有作業(yè)任務(wù)進(jìn)行測試,檢驗編程的正確與否,有三種測試模式:單步、單次、循環(huán)。
根據(jù)用戶所選定的測試模式,可以確定程序測試時是按何種方式進(jìn)行運行,需要注意的是在測試模式下,作業(yè)中的輔助功能指令不起作用??刂平缑嫒鐖D5所示。
(四)自動模塊。對于已經(jīng)通過測試,確認(rèn)正確的作業(yè),可以在自動模式下進(jìn)行運行。自動模塊的控制運行界面如圖6所示。
圖6 ?自動運行控制界面
該界面右上角為當(dāng)前坐標(biāo)的顯示,中上部為仿真界面,左邊的指示燈同步顯示個外部輸入信號,中下部顯示正在運行的任務(wù)。
五、零位、限位報警設(shè)置
本三維平動并聯(lián)機床的零位及左右極限位置的確定使用的是限位開關(guān)和硬件捕獲的功能確定的,限位開關(guān)按圖7所示的方式進(jìn)行布置(以其中一條絲杠的限位開關(guān)布置進(jìn)行說明)。
圖7 ?各限位開關(guān)的布置
根據(jù)整個并聯(lián)機床的工作空間,由逆解可求得滑塊所要求的運動區(qū)域,根據(jù)該區(qū)域的長度可安裝左右限位開關(guān)A、B,零位開關(guān)選擇安裝在滑塊工作區(qū)域外的左側(cè),這樣安排的好處是,在每次找零時都可直接使對應(yīng)的電機驅(qū)動滑塊左移,進(jìn)行找零。找到零位開關(guān)后,進(jìn)行相應(yīng)的偏置,設(shè)定零點。與將零位開關(guān)安裝在工作區(qū)域中間相比,簡化了找零過程,因為斷電后重新上電再次找零,并不能記錄滑塊位置,即不知道滑塊在零位的左側(cè)還是右側(cè)。將零位開關(guān)安裝在工作區(qū)域中進(jìn)行找零時需要配合左右極限開關(guān)進(jìn)行找零。
結(jié)束語:系統(tǒng)通過上位機控制該三維平動并聯(lián)機床的使用,能夠控制三電機聯(lián)動,對并聯(lián)機床的運動進(jìn)行實時監(jiān)測和控制,具有較好的人機交互性,并且操作使用也比較簡單方便。
參考文獻(xiàn):
[1] 黃真,孔令富,方躍法.并聯(lián)機器人機構(gòu)學(xué)理論及控制[M].北京:機械工業(yè)出版社,1997.
[2] 張霏霏,吳洪濤,嚴(yán)偉. 三維平動并聯(lián)機床的運動分析, 機械制造,2013,12:17-20
[3] 田園,官東,李若素. Delphi7.0程序設(shè)計[M]. 清華大學(xué)出版社, 2008.