寧宗奇,王才嶧
(上海工程技術(shù)大學(xué) 高等職業(yè)技術(shù)學(xué)院,上海 200437)
數(shù)控技術(shù)是現(xiàn)代制造系統(tǒng)中的關(guān)鍵技術(shù)。在數(shù)控技術(shù)教學(xué)中,插補(bǔ)、刀補(bǔ)等概念是一些重要的概念,但又很抽象,不便于理解和講授。建立一個(gè)基于開(kāi)放式數(shù)控平臺(tái)的演示系統(tǒng),將圖形仿真過(guò)程和控制演示過(guò)程結(jié)合起來(lái),就可以為抽象的概念提供更加豐富的演示手段,在深刻的感性認(rèn)識(shí)的基礎(chǔ)上,加深對(duì)抽象概念的理解。同時(shí)系統(tǒng)的擴(kuò)展性強(qiáng),還可以根據(jù)實(shí)驗(yàn)、實(shí)踐教學(xué)的需要,為教師和學(xué)生提供二次開(kāi)發(fā)平臺(tái)。
本系統(tǒng)由硬件和軟件兩大部分組成。硬件分為機(jī)械部分、數(shù)控系統(tǒng)(步進(jìn)驅(qū)動(dòng)器裝置、運(yùn)動(dòng)控制卡)和上位PC。軟件部分主要包括演示軟件和控制軟件兩部分。如圖1所示,采用工業(yè)控制機(jī)(IPC)作為系統(tǒng)平臺(tái),采用“IPC+多軸運(yùn)動(dòng)控制器” 的典型結(jié)構(gòu)搭建開(kāi)環(huán)數(shù)控硬件平臺(tái)。
PC部分:采用工業(yè)控制的IPC。IPC具有性能可靠、軟硬件資源豐富的特點(diǎn),特別是可以利用它的軟件開(kāi)發(fā)資源,便于運(yùn)動(dòng)控制程序與演示程序的融合。
運(yùn)動(dòng)控制器:運(yùn)動(dòng)控制器采用顧高公司的GT-200-SV型運(yùn)動(dòng)控制卡作為運(yùn)動(dòng)控制器,它可以支持兩軸的步進(jìn)電機(jī)或伺服電機(jī),可以很方便地開(kāi)發(fā)所需要的運(yùn)動(dòng)控制程序。
步進(jìn)電動(dòng)機(jī):考慮到實(shí)用性,采用兩臺(tái)57BYG424型步進(jìn)電機(jī)來(lái)驅(qū)動(dòng)XY平臺(tái)的運(yùn)動(dòng)。
圖1 系統(tǒng)的構(gòu)成
驅(qū)動(dòng)器部分:驅(qū)動(dòng)器的性能決定運(yùn)動(dòng)控制的好壞。驅(qū)動(dòng)器采用與57BYG424型步進(jìn)電機(jī)相匹配的SMD2N1型驅(qū)動(dòng)器。
開(kāi)發(fā)環(huán)境:Visual C++6.0是一個(gè)優(yōu)秀的開(kāi)發(fā)環(huán)境,可利用的資源豐富,可以直接應(yīng)用運(yùn)動(dòng)控制器所提供的用于二次開(kāi)發(fā)的動(dòng)態(tài)鏈接庫(kù),便于運(yùn)動(dòng)控制程序和演示程序的融合,采用Visual C++6.0作為系統(tǒng)上位機(jī)軟件的開(kāi)發(fā)環(huán)境。
如圖2所示,采用夾持畫(huà)筆的輔助裝置(4)用于在固定于工作平臺(tái)(2)的白紙上繪制插補(bǔ)計(jì)算的具體過(guò)程。
系統(tǒng)的機(jī)械部分采用如圖2所示X-Y數(shù)控平臺(tái)。該平臺(tái)通過(guò)兩個(gè)方向運(yùn)動(dòng)的合成,可以實(shí)現(xiàn)任意平面軌跡,主要用于插補(bǔ)算法過(guò)程的演示。Y軸采用步進(jìn)電動(dòng)機(jī)作為驅(qū)動(dòng)元件,通過(guò)彈性聯(lián)軸器連接滾珠絲杠螺母,實(shí)現(xiàn)工作臺(tái)沿Y軸方向的相對(duì)運(yùn)動(dòng)。X軸也采用步進(jìn)電機(jī)作為驅(qū)動(dòng)元件,實(shí)現(xiàn)X軸方向的運(yùn)動(dòng)控制,輔助裝置夾持畫(huà)筆固定在底座上。X軸和Y軸均采用57BYG424型步進(jìn)電機(jī)以及與之配套的SMD2N1型驅(qū)動(dòng)器,可以實(shí)現(xiàn)兩周的聯(lián)動(dòng)。同時(shí),還要提供穩(wěn)定的直流電源。
圖2 系統(tǒng)的硬件結(jié)構(gòu)
根據(jù)應(yīng)用的需要,該系統(tǒng)的數(shù)控系統(tǒng)采用GT-200-SV-ISA運(yùn)動(dòng)控制卡,構(gòu)成開(kāi)環(huán)系統(tǒng)。GT-200-SV-ISA運(yùn)動(dòng)控制卡是顧高公司研發(fā)基于ISA總線的插卡式運(yùn)動(dòng)控制器,可以支持2軸的步進(jìn)電機(jī)或伺服電機(jī)。IPC作為上位機(jī)負(fù)責(zé)人機(jī)交互界面的管理和控制指令的發(fā)送;運(yùn)動(dòng)控制卡完成運(yùn)動(dòng)控制的所有細(xì)節(jié),包括直線和圓弧插補(bǔ)、脈沖和方向信號(hào)的輸出、自動(dòng)升降速的處理、原點(diǎn)和限位等信號(hào)的檢測(cè)等。GT-200-SV-ISA運(yùn)動(dòng)控制卡配備了功能強(qiáng)大、內(nèi)容豐富的Windows動(dòng)態(tài)鏈接庫(kù)。對(duì)當(dāng)前流行的編程開(kāi)發(fā)工具,如Visual Basic 6.0、Visual C++6.0提供了開(kāi)發(fā)用靜態(tài)連接庫(kù)及頭文件和模塊聲名文件,可方便地鏈接動(dòng)態(tài)鏈接庫(kù)引用, 便于進(jìn)行運(yùn)動(dòng)控制開(kāi)發(fā)。
如圖3所示,軟件系統(tǒng)包括模擬演示模塊、控制演示模塊和控制程序模塊三個(gè)部分。
模擬演示部分主要負(fù)責(zé)將直線插補(bǔ)、圓弧插補(bǔ)和刀具補(bǔ)償?shù)挠?jì)算及運(yùn)動(dòng)過(guò)程放大,在計(jì)算機(jī)上虛擬的演示出來(lái)。
實(shí)物演示模塊負(fù)責(zé)將直線插補(bǔ)、圓弧插補(bǔ)和刀具補(bǔ)償?shù)挠?jì)算及運(yùn)動(dòng)過(guò)程放大,同時(shí)通過(guò)運(yùn)動(dòng)控制模塊控制XY平臺(tái),將插補(bǔ)和補(bǔ)償過(guò)程用畫(huà)筆繪制出來(lái),使演示過(guò)程更為形象何直觀。
控制程序模塊主要負(fù)責(zé)步進(jìn)電動(dòng)機(jī)單軸控制和運(yùn)動(dòng)控制平臺(tái)的兩軸聯(lián)動(dòng)控制,用于待插補(bǔ)的直線和圓弧的繪制。
圖3 軟件結(jié)構(gòu)
控制程序包括兩部分:步進(jìn)電機(jī)的控制程序和數(shù)控平臺(tái)的控制程序。步進(jìn)電機(jī)的控制程序主要用于單軸步進(jìn)電機(jī)的調(diào)試運(yùn)行,主要包括步進(jìn)電機(jī)的起動(dòng)、停止、行程控制和加減速控制。數(shù)控平臺(tái)的控制程序主要用于完成坐標(biāo)系的繪制演示,直線或圓弧的繪制演示,直線插補(bǔ)過(guò)程的繪制演示、圓弧插補(bǔ)過(guò)程的繪制演示。
數(shù)控平臺(tái)的控制
圖4 直線插補(bǔ)程序框圖
圖形仿真程序中的直線插補(bǔ)部分采用逐點(diǎn)比較法。逐點(diǎn)比較法又稱(chēng)區(qū)域判別法,其基本思路是:被控制對(duì)象在數(shù)控裝置的控制下,按要求的軌跡運(yùn)動(dòng),每走一步都與規(guī)定的軌跡比較,根據(jù)比較的結(jié)果決定下一步移動(dòng)的方向。這種算法的特點(diǎn)是運(yùn)算直觀,插補(bǔ)誤差最大不超過(guò)1個(gè)脈沖當(dāng)量,而且輸出脈沖均勻,輸出脈沖的速度變化小、調(diào)節(jié)方便,因此在兩坐標(biāo)的開(kāi)環(huán)數(shù)控系統(tǒng)中應(yīng)用較為普遍。逐點(diǎn)比較法直線插補(bǔ)可以用硬件實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn),用軟件實(shí)現(xiàn)的程序框圖如圖4所示。
逐點(diǎn)比較法的圓弧插補(bǔ)是一加工點(diǎn)與圓心的距離和圓弧半徑相比是大于半徑還是小于半徑來(lái)反映偏差的依據(jù)。圓弧插補(bǔ)分順時(shí)針圓弧插補(bǔ)和逆時(shí)針圓弧插補(bǔ),兩種情況下偏差計(jì)算和坐標(biāo)進(jìn)給不同。第一象限的逆時(shí)針的圓弧插補(bǔ)程序框圖如圖5所示。
圖5 第一象限逆時(shí)針圓弧插補(bǔ)程序框圖
各個(gè)象限的插補(bǔ)的進(jìn)給方向,按表1所示的規(guī)律進(jìn)行計(jì)算。
表1 不同象限的插補(bǔ)進(jìn)給規(guī)律
坐標(biāo)計(jì)算和偏差計(jì)算按照表2的規(guī)律進(jìn)行計(jì)算。
表2 進(jìn)給方向與偏差計(jì)算規(guī)律
按照表1和表2中進(jìn)給方向和偏差計(jì)算的規(guī)律,可以分別得到各個(gè)象限圓弧插補(bǔ)的程序框圖。在多個(gè)象限的圓弧,對(duì)圓弧進(jìn)行過(guò)象限處理之后,分別對(duì)每個(gè)象限進(jìn)行處理。
刀具補(bǔ)償包括刀具半徑補(bǔ)償和長(zhǎng)度補(bǔ)償。刀具補(bǔ)償主要對(duì)直線插補(bǔ)和圓弧插補(bǔ)的B功能刀具進(jìn)行補(bǔ)償,模擬出根據(jù)零件輪廓和刀具半徑求刀具中心運(yùn)動(dòng)軌跡的過(guò)程。
控制演示程序的目的是實(shí)現(xiàn)一個(gè)能實(shí)時(shí)反映插補(bǔ)計(jì)算和機(jī)床進(jìn)給微觀動(dòng)作的過(guò)程。控制演示程序主要負(fù)責(zé)控制繪圖筆,用繪圖筆模擬刀具,繪制出的直線或者圓弧輪廓上繪制插補(bǔ)和B功能刀具補(bǔ)償?shù)倪^(guò)程。以數(shù)控平臺(tái)X軸和Y軸作為需要模擬的直線或圓弧的坐標(biāo)軸,它們的中點(diǎn)作為坐標(biāo)原點(diǎn),首先繪制坐標(biāo)軸;然后再控制程序的控制下繪制直線或圓弧;最后,用一個(gè)個(gè)線段代表插補(bǔ)的每一步,演示插補(bǔ)或補(bǔ)償?shù)拿恳粋€(gè)步驟。
控制演示程序首先通過(guò)控制X、Y軸的運(yùn)動(dòng),在繪圖板中央位置繪制直線,建立控制演示的坐標(biāo)系;其次,將該坐標(biāo)系的坐標(biāo)原點(diǎn)作為直線插補(bǔ)演示的起點(diǎn)、圓弧插補(bǔ)演示的圓心;再次,繪制被插補(bǔ)的直線段或圓弧段;最后,控制畫(huà)筆,繪制直線段,用一個(gè)個(gè)直線段繪制直線或圓弧的逐點(diǎn)比較法插補(bǔ)的每一步過(guò)程。
以下程序?qū)崿F(xiàn)XY平面內(nèi)的兩軸直線插補(bǔ)運(yùn)動(dòng):起點(diǎn)坐標(biāo)為當(dāng)前坐標(biāo),終點(diǎn)坐標(biāo)為(X_end, Y_end)。
void Line(double X_end, double Y_end) //走直線到指定坐標(biāo)
以下程序?qū)崿F(xiàn)XY平面內(nèi)的兩軸圓弧插補(bǔ)運(yùn)動(dòng):圓弧插補(bǔ)運(yùn)動(dòng)的起點(diǎn)是當(dāng)前位置坐標(biāo);終點(diǎn)坐標(biāo)為(X_end,Y_end);圓弧半徑為 R,R為正,此段圓弧是優(yōu)弧,R為負(fù)此段圓弧為劣?。籇ir是圓弧旋轉(zhuǎn)方向,取值為1表示正向旋轉(zhuǎn),-1表示負(fù)向旋轉(zhuǎn)。
本系統(tǒng)還提供了開(kāi)放式的開(kāi)發(fā)接口,為機(jī)電一體化技術(shù)實(shí)驗(yàn)、實(shí)訓(xùn)提供平臺(tái):讓學(xué)生學(xué)習(xí)機(jī)械結(jié)構(gòu)的特點(diǎn)、滾動(dòng)導(dǎo)軌、滾珠絲杠的結(jié)構(gòu)工作臺(tái)的移動(dòng)距離;學(xué)習(xí)步進(jìn)電機(jī)的工作原理、運(yùn)動(dòng)控制、速度調(diào)節(jié);學(xué)習(xí)運(yùn)動(dòng)控制程序的編制規(guī)則以及工作臺(tái)的兩軸聯(lián)動(dòng);學(xué)習(xí)利用運(yùn)動(dòng)控制卡開(kāi)發(fā)數(shù)控應(yīng)用程序。
利用開(kāi)放式數(shù)控平臺(tái),將圖形仿真程序和數(shù)控應(yīng)用程序進(jìn)行有機(jī)的融合。組成系統(tǒng)的各個(gè)部件來(lái)源于不同的部件供應(yīng)商,并且相互之間的兼容性好。系統(tǒng)程序具有模塊化的組織結(jié)構(gòu),允許用戶根據(jù)需要進(jìn)行擴(kuò)展,可以根據(jù)用戶的需要,在開(kāi)放式數(shù)控平臺(tái)上進(jìn)行二次開(kāi)發(fā)出新的模塊。
[1] 任玉田,焦學(xué)振,等.機(jī)床計(jì)算機(jī)數(shù)控技術(shù)(第二版)[M].北京:北京理工大出版社,2002.
[2] 何曉薇,林礪宗,等.數(shù)控插補(bǔ)教學(xué)演示系統(tǒng)的開(kāi)發(fā)[J].機(jī)械與電子.2002,(3):57-59.
[3] 固高科技有限公司.GT 系列運(yùn)動(dòng)控制器編程手冊(cè)[M].深圳:固高科技有限公司.
[4] 于萬(wàn)成,王太勇,等.基于開(kāi)放式數(shù)控機(jī)床教學(xué)平臺(tái)的研究[J].機(jī)床與液壓.2005,(10):63-65.
[5] 逄啟壽,馮羽生.基于C語(yǔ)言的數(shù)控直線逐點(diǎn)比較法的程序?qū)崿F(xiàn)[J].制造業(yè)自動(dòng)化.2009,(6):54-56.