寧宗奇,王才嶧
(上海工程技術大學 高等職業技術學院,上海 200437)
數控技術是現代制造系統中的關鍵技術。在數控技術教學中,插補、刀補等概念是一些重要的概念,但又很抽象,不便于理解和講授。建立一個基于開放式數控平臺的演示系統,將圖形仿真過程和控制演示過程結合起來,就可以為抽象的概念提供更加豐富的演示手段,在深刻的感性認識的基礎上,加深對抽象概念的理解。同時系統的擴展性強,還可以根據實驗、實踐教學的需要,為教師和學生提供二次開發平臺。
本系統由硬件和軟件兩大部分組成。硬件分為機械部分、數控系統(步進驅動器裝置、運動控制卡)和上位PC。軟件部分主要包括演示軟件和控制軟件兩部分。如圖1所示,采用工業控制機(IPC)作為系統平臺,采用“IPC+多軸運動控制器” 的典型結構搭建開環數控硬件平臺。
PC部分:采用工業控制的IPC。IPC具有性能可靠、軟硬件資源豐富的特點,特別是可以利用它的軟件開發資源,便于運動控制程序與演示程序的融合。
運動控制器:運動控制器采用顧高公司的GT-200-SV型運動控制卡作為運動控制器,它可以支持兩軸的步進電機或伺服電機,可以很方便地開發所需要的運動控制程序。
步進電動機:考慮到實用性,采用兩臺57BYG424型步進電機來驅動XY平臺的運動。

圖1 系統的構成
驅動器部分:驅動器的性能決定運動控制的好壞。驅動器采用與57BYG424型步進電機相匹配的SMD2N1型驅動器。
開發環境:Visual C++6.0是一個優秀的開發環境,可利用的資源豐富,可以直接應用運動控制器所提供的用于二次開發的動態鏈接庫,便于運動控制程序和演示程序的融合,采用Visual C++6.0作為系統上位機軟件的開發環境。
如圖2所示,采用夾持畫筆的輔助裝置(4)用于在固定于工作平臺(2)的白紙上繪制插補計算的具體過程。
系統的機械部分采用如圖2所示X-Y數控平臺。該平臺通過兩個方向運動的合成,可以實現任意平面軌跡,主要用于插補算法過程的演示。Y軸采用步進電動機作為驅動元件,通過彈性聯軸器連接滾珠絲杠螺母,實現工作臺沿Y軸方向的相對運動。X軸也采用步進電機作為驅動元件,實現X軸方向的運動控制,輔助裝置夾持畫筆固定在底座上。X軸和Y軸均采用57BYG424型步進電機以及與之配套的SMD2N1型驅動器,可以實現兩周的聯動。同時,還要提供穩定的直流電源。

圖2 系統的硬件結構
根據應用的需要,該系統的數控系統采用GT-200-SV-ISA運動控制卡,構成開環系統。GT-200-SV-ISA運動控制卡是顧高公司研發基于ISA總線的插卡式運動控制器,可以支持2軸的步進電機或伺服電機。IPC作為上位機負責人機交互界面的管理和控制指令的發送;運動控制卡完成運動控制的所有細節,包括直線和圓弧插補、脈沖和方向信號的輸出、自動升降速的處理、原點和限位等信號的檢測等。GT-200-SV-ISA運動控制卡配備了功能強大、內容豐富的Windows動態鏈接庫。對當前流行的編程開發工具,如Visual Basic 6.0、Visual C++6.0提供了開發用靜態連接庫及頭文件和模塊聲名文件,可方便地鏈接動態鏈接庫引用, 便于進行運動控制開發。
如圖3所示,軟件系統包括模擬演示模塊、控制演示模塊和控制程序模塊三個部分。
模擬演示部分主要負責將直線插補、圓弧插補和刀具補償的計算及運動過程放大,在計算機上虛擬的演示出來。
實物演示模塊負責將直線插補、圓弧插補和刀具補償的計算及運動過程放大,同時通過運動控制模塊控制XY平臺,將插補和補償過程用畫筆繪制出來,使演示過程更為形象何直觀。
控制程序模塊主要負責步進電動機單軸控制和運動控制平臺的兩軸聯動控制,用于待插補的直線和圓弧的繪制。

圖3 軟件結構
控制程序包括兩部分:步進電機的控制程序和數控平臺的控制程序。步進電機的控制程序主要用于單軸步進電機的調試運行,主要包括步進電機的起動、停止、行程控制和加減速控制。數控平臺的控制程序主要用于完成坐標系的繪制演示,直線或圓弧的繪制演示,直線插補過程的繪制演示、圓弧插補過程的繪制演示。
數控平臺的控制

圖4 直線插補程序框圖
圖形仿真程序中的直線插補部分采用逐點比較法。逐點比較法又稱區域判別法,其基本思路是:被控制對象在數控裝置的控制下,按要求的軌跡運動,每走一步都與規定的軌跡比較,根據比較的結果決定下一步移動的方向。這種算法的特點是運算直觀,插補誤差最大不超過1個脈沖當量,而且輸出脈沖均勻,輸出脈沖的速度變化小、調節方便,因此在兩坐標的開環數控系統中應用較為普遍。逐點比較法直線插補可以用硬件實現,也可以用軟件實現,用軟件實現的程序框圖如圖4所示。
逐點比較法的圓弧插補是一加工點與圓心的距離和圓弧半徑相比是大于半徑還是小于半徑來反映偏差的依據。圓弧插補分順時針圓弧插補和逆時針圓弧插補,兩種情況下偏差計算和坐標進給不同。第一象限的逆時針的圓弧插補程序框圖如圖5所示。

圖5 第一象限逆時針圓弧插補程序框圖
各個象限的插補的進給方向,按表1所示的規律進行計算。

表1 不同象限的插補進給規律
坐標計算和偏差計算按照表2的規律進行計算。

表2 進給方向與偏差計算規律
按照表1和表2中進給方向和偏差計算的規律,可以分別得到各個象限圓弧插補的程序框圖。在多個象限的圓弧,對圓弧進行過象限處理之后,分別對每個象限進行處理。
刀具補償包括刀具半徑補償和長度補償。刀具補償主要對直線插補和圓弧插補的B功能刀具進行補償,模擬出根據零件輪廓和刀具半徑求刀具中心運動軌跡的過程。
控制演示程序的目的是實現一個能實時反映插補計算和機床進給微觀動作的過程。控制演示程序主要負責控制繪圖筆,用繪圖筆模擬刀具,繪制出的直線或者圓弧輪廓上繪制插補和B功能刀具補償的過程。以數控平臺X軸和Y軸作為需要模擬的直線或圓弧的坐標軸,它們的中點作為坐標原點,首先繪制坐標軸;然后再控制程序的控制下繪制直線或圓弧;最后,用一個個線段代表插補的每一步,演示插補或補償的每一個步驟。
控制演示程序首先通過控制X、Y軸的運動,在繪圖板中央位置繪制直線,建立控制演示的坐標系;其次,將該坐標系的坐標原點作為直線插補演示的起點、圓弧插補演示的圓心;再次,繪制被插補的直線段或圓弧段;最后,控制畫筆,繪制直線段,用一個個直線段繪制直線或圓弧的逐點比較法插補的每一步過程。
以下程序實現XY平面內的兩軸直線插補運動:起點坐標為當前坐標,終點坐標為(X_end, Y_end)。
void Line(double X_end, double Y_end) //走直線到指定坐標


以下程序實現XY平面內的兩軸圓弧插補運動:圓弧插補運動的起點是當前位置坐標;終點坐標為(X_end,Y_end);圓弧半徑為 R,R為正,此段圓弧是優弧,R為負此段圓弧為劣弧;Dir是圓弧旋轉方向,取值為1表示正向旋轉,-1表示負向旋轉。


本系統還提供了開放式的開發接口,為機電一體化技術實驗、實訓提供平臺:讓學生學習機械結構的特點、滾動導軌、滾珠絲杠的結構工作臺的移動距離;學習步進電機的工作原理、運動控制、速度調節;學習運動控制程序的編制規則以及工作臺的兩軸聯動;學習利用運動控制卡開發數控應用程序。
利用開放式數控平臺,將圖形仿真程序和數控應用程序進行有機的融合。組成系統的各個部件來源于不同的部件供應商,并且相互之間的兼容性好。系統程序具有模塊化的組織結構,允許用戶根據需要進行擴展,可以根據用戶的需要,在開放式數控平臺上進行二次開發出新的模塊。
[1] 任玉田,焦學振,等.機床計算機數控技術(第二版)[M].北京:北京理工大出版社,2002.
[2] 何曉薇,林礪宗,等.數控插補教學演示系統的開發[J].機械與電子.2002,(3):57-59.
[3] 固高科技有限公司.GT 系列運動控制器編程手冊[M].深圳:固高科技有限公司.
[4] 于萬成,王太勇,等.基于開放式數控機床教學平臺的研究[J].機床與液壓.2005,(10):63-65.
[5] 逄啟壽,馮羽生.基于C語言的數控直線逐點比較法的程序實現[J].制造業自動化.2009,(6):54-56.