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