?

“數控技術與數控機床”課程數字積分插補教學輔助軟件開發設計

2024-03-17 16:42陳良驥李慧瑩
科技資訊 2024年2期
關鍵詞:教學軟件數控技術

陳良驥 李慧瑩

摘要:針對“數控技術與數控機床”關于數字積分插補課堂教學環節學生難以理解的問題,在對數字積分插補算法深入挖掘的基礎上,開發設計一種基于可視化編程語言的課堂輔助教學軟件,利用該軟件實現了數字積分插補過程。?該軟件的開發與實際應用,可使學生在課堂上即可對插補方法有直觀的理解和學習,進而達到提高學生學習效果的目的。

關鍵詞:課程教改?數控技術?數字積分插補?教學軟件

中圖分類號:TG659

Development?and?Design?of?Assistant?Software?for?Digital?Integral?Interpolation?Teaching?in?the?Course?of?"CNC?Technology?and?CNC?Machine?Tools"

CHEN?Liangji??LI?Huiying*

(Guilin?University?of?Technology,?Guilin,?Guangxi?Zhuang?Autonomous?Region,?541006?China)

Abstract:?In?response?to?the?problem?that?students?find?it?difficult?to?understand?digital?integral?interpolation?in?the?class?teaching?in?"CNC?Technology?and?CNC?Machine?Tools",?based?on?the?in-depth?exploration?of?the?digital?integral?interpolation?algorithm,?a?kind?of?classroom?auxiliary?teaching?software?based?on?visual?programming?language?is?developed?and?designed,?and?the?digital?integral?interpolation?process?is?implemented?by?the?software.?The?development?and?practical?application?of?the?software?enable?students?to?have?an?intuitive?understanding?and?learning?of?interpolation?methods?in?the?classroom,?so?as?to?achieve?the?purpose?of?improving?their?learning?effect.

Key?Words:?Curriculum?teaching?reform;?CNC?technology;?Digital?integral?interpolation;?Teaching?software

隨著制造加工技術的發展,先進加工技術迅速發展,數控加工成為當前加工技術的重要加工方法[1]?。數控加工操作原理的掌握是每位從事數控技術行業人員所必備的。數控技術從業人員的學生對數控技術了解的程度不一,往往需要在校學階段成為一個真正合格的數控技術人員,但是,盡管如此,數控技術人員還是相當短缺,這也在一定程度上制約著中國精密數控加工制造業的迅速發展。也因此,中國國內外不少院校在機械類和工業自動化類的各學科中均設立了“數控技術與數控機床”這門必修課程。然而在實際的教學過程中,關于數控技術知識點的深入理解是學生遇到的難點問題。特別是數字積分插補原理[2-3],它是“數控技術與數控機床”教學中的一個重要環節,其方法抽象難懂也難以掌握,教師在教學過程中講解起來也比較棘手,往往是教師明白怎么回事,但學生上完課后未必能深入理解。因此,讓學生能夠充分理解“數控技術與數控機床”課中的數字積分插補原理已逐漸成為一個重要教學改革課題。通過多年的教學經歷可以發現:如果我們改變這種傳統的教學模式,嘗試一種在課堂上利用界面顯示的方式,一是可以提高學生學習課程的積極性,二是能有效地提高課程的學習效果。為此,本文在探索“數控技術與數控機床”課程教學改革過程中,提出一種關于數字積分插補算法的軟件設計與實現方法,為“數控技術與數控機床”課程中的后續教學環節手段的更新提供一種新思路、探索一種新途徑。

本文基于Visual?Basic(VB)可視化編程語言開發設計了數字積分插補方法的教學軟件,介紹了數字積分線和圓弧插補方法的原理,制定出可行的數字積分教學軟件的設計方法,利用時間控件的定時功能進行界面繪圖,繪圖時將待插補的直線或圓弧劃分成能獲得足夠精度的大量微小直線軌跡段,然后使用Line畫圖控件結合時間控件的定時功能,間隔一定時間調用插補程序最終連續進行插補計算,畫出待插補的直線、圓弧。由于VB編程語言設計比較靈活,使得數字積分法插補過程具有較好的實時性和動態顯示性,開發設計的輔助教學軟件較好地顯示了數控逐步插補過程,效果良好、應用方便、通俗易懂,在教師課堂上可以極大的利于學生對數字積分插補基本原理和實現方法的深刻理解,同時利用軟件實現的這種動態插補過程的仿真模擬又可以大大簡化教師教學過程的設計,能更好地達到要求的教學培訓目的。

1?VB簡介

VB誕生由來已久,如今它不僅是一種可以執行計算類型的編程語言,而更是一種可在Windows?環境下進行面向可視化執行的開發工具[4-5]。VB語言是利用了面向對象的概念,將各類事件以對象形式呈現,降低了在Windows?環境下進行程序設計的復雜性,可使基于Windows的編程設計變得更加方便、簡單以及快捷。同時,由于VB是一門基于結構化的編程語言,設計了大量的科學計算可視化窗口,在程序設計環境中,它創建了菜單、窗口、對話框、按鍵、滾動條和消息框等Windows應用程式的標準用戶界面和各種控制對象,同時還擁有了一套可視化程序設計方法,使編程人員在程序設計時,可以在短暫的工作時間內編程并設計出較為復雜的應用程序視窗界面。VB還是采用基于事件驅動的程序設計機制的語言,無論是小型的應用程序系統,還是大型企業的應用程序系統,更甚至可以針對基于Internet的應用程序系統,都可以從?VB?編程語言所提供的各種類型功能中獲取,同時VB具有功能強大而且可以靈活使用的編譯器和調試器,通過編譯器的編譯,編譯系統可在編譯、解釋后,生成Windows系統下的可執行文件,如此即便脫離了VB編譯系統環境,編制的應用程序仍然可在Windows環境下順利運行;VB還具有高度的可擴充性,既能支持任何第三方軟件開發者針對具體問題開發出可視化的控件對象,又能支持開發者順利訪問Windows自帶的動態鏈接庫中的*.dll文件,實現利用鏈接庫中的應用程序接口(API)進行編程,從而增強VB的編程能力,支持對象鏈接與嵌入(OLE),可以開發出集聲音、圖像、動畫等對象于一體的應用程序。因此,本文選用VB作為數字積分插補輔助教學軟件開發平臺。

2?數字積分插補簡介

數字積分插補器又常被稱作為數字微分分析器(Digital?Differential?Analyzer,?DDA),是在傳統數字積分器基礎上經過數學公式演變而得到的一種新型的插補算法[6-7],DDA插補在本質上仍是一種脈沖增量插補運算。DDA插補法是依據高等數學中的微積分幾何定義,將各類函數的求取積分的運算轉換為對自變量微小化劃分為一些列微小變量,在微小變量范圍內對函數值求和,再求取出極限的運算過程。由上述求取積分的運算過程中可以看出,在對函數求取積分的過程實質上是對微小變量的累加結果作出近似逼近?;谏鲜鲈?,可以將數控機床的脈沖當量視為微小變量,當其值在足夠小時即可采用上述近似求取積分的方法使用求和求極限運算代替比較復雜的求積分運算。通過近似逼近的程度可以將積分運算的誤差始終保持在加工允差范圍之內。DDA插補是用數字積分思想的要領來對刀具沿各坐標軸的移動量進行計算和謀劃,進而可使刀具能在加工時沿著既定的弧線軌跡進行切削運動。能實現數字積分插補計算與謀劃的這種裝置就被稱為數字積分器?,F代數控領域中的數字積分器已可以采用軟件來實現。DDA數字積分插補方法在實際插補時具有運算速度較快,脈沖分配更均勻,無論是對一次還是二次的弧線軌跡均可進行插補運算,而且易實現多軸聯動的軌跡控制模式,因此在數控系統與數控加工技術領域都得以廣泛應用。

圖1所示為某函數的積分原理圖。設該函數為Y=f(t),欲求該函數在(t0,tn)區間里的積分,從數學角度來講實質上是需要計算出該函數f(t)的函數曲線與求積分區間(t0,tn)的時間段之間的面積。

通過將橫軸t的求取區間段分割為間隔為△t的大量微小區間段,當△t的取值足夠微小時,該函數f(t)的函數曲線與時間橫軸t之間的面積即可近似計算為函數曲線下諸多微小長方形面積之和,即

上式中,Yi為函數f(t)在ti時的函數值。

根據式(1)可知在函數f(t)求取積分的過程中,完全可使用諸多微小長方形面積不斷做累加運算以近似計算得出。為簡化計算過程,通常的做法是將式(1)中的△t假設為一個基本單位量“1”,因此有

成立。由此可見,復雜的求積分過程最終可簡化為對函數值的累加過程。

針對上述分析,可以將數字積分插補過程設計為累加運算、獲得函數值以及求積運算三部分(如圖2所示),將基本單位量△t和函數值寄存器里的函數值乘積運算后不斷與之前的乘積進行累加,最后輸出一個累加值△s。DDA數字積分器的工作原理和過程可表述為:每間隔一個△t時間,向積分器不斷發送插補計算脈沖序列,通過與門的打開不斷地將函數寄存器里的函數值向累加器做累加運算,由于累加器存儲的容量有限,經過累加后的數值若,超出累加器容量時,則會向外溢出脈沖。在不斷累加后所產生的溢出脈沖總數即為所求函數的近似積分值。

為體現本文插補輔助教學軟件的設計思路,現分別介紹直線和圓弧插補軟件實現的基本原理。

2.1?DDA直線插補軟件實現

設待插補直線的終點坐標為(Xe,Ye),時鐘器定時控制,每隔一定時間就向Jrx、Jry積分寄存器進行累加,若哪個寄存器溢出,則對應的軸進給一次,各軸的進給相互對立,進給一次后要對終點進行判斷,到達終點則結束,否則繼續。根據以上描述,可設計出直線插補軟件的實現流程圖(如圖3所示)。

2.2?DDA圓弧插補軟件實現

設待插補圓弧的終點坐標為(Xe,Ye),同時輸入圓弧起始點后,開始運行,時鐘器定時控制,每隔一定時間向Jrx、Jry積分寄存器進行累加,由于x,y坐標到達終點的時間不同,對x,y坐標所輸出的脈沖數分別計數,每執行一次作一次判斷,當到終點時即插補結束,插補流程如圖4所示。

3?DDA插補軌跡實現方法概述

在計算機圖形學中,用以實現動畫仿真的現有技術主要包括:(1)多界面切換技術;(2)圖段變換技術;(3)幀動畫技術[8]。

多界面切換技術的實現機理為在主顯示界面與當前工作界面之間不斷進行界面的切換,從視覺效果上看形成動態變化的效果。

圖段變換技術的實現機理為圖段在屏幕上顯示的位置基于時段做出改變,用以實現圖段在不同時刻有運動的效果,達到視覺上的圖段的連續位移,形成圖段隨時變換的動畫仿真效果。

幀動畫技術的實現機理則是開辟緩存空間用以存儲每幀圖像,將即將顯示各幀圖像在緩存內進行直接加或減的運算并填寫運算后的圖像顏色信息,運用運算結果對排列好順序的各幀圖像進行切換和填寫,進而實現將相應圖像在屏幕上以動態形式仿真顯示出來。

綜合上述幾種實現插補軌跡動態顯示技術,由于本文需設置插補計算脈沖,結合VB軟件自身的定時功能,最終在實現的教學仿真軟件中采用了圖段變換技術來實現DDA插補器插補軌跡的動態仿真顯示。

深入分析Visual?Basic?6.0(VB6.0)后,總結出可在VB6.0上實現插補軌跡的三種方法[9]:

(1)使用VB6.0軟件中自帶的圖形繪制功能,編程人員可以根據實際情況的需要,在軟件程序運行過程中不斷的進行所需圖形的繪制。

(2)結合VB6.0軟件具有的循環繪圖功能,首先將待插補曲線在定義范圍內分割成一定數量連續順序序列點,再使用VB6.0軟件具有的Pset功能和循環功能,將分割出來的連續序列點在屏幕中繪制出。由于連續序列點的數量眾多使得任意相鄰兩點間距足夠小,當達到視覺誤差允許要求時,該待插補曲線即可視為眾多連續序列點的有序排列。

(3)在此基礎上再使用VB6.0軟件的定時器Timer控件,實現不同插補脈沖時動態效果的顯示,具體做法是將待插補的曲線利用VB6.0軟件的Line功能將上述眾多連續序列點連接起來形成諸多微小直線段,結合Timer控件的定時功能,在顯示窗口中不斷地對這些微小直線段進行動態繪制。同樣,當這些微小直線段有足夠多的數量時即可最終形成待插補曲線,此時,待插補曲線又成為眾多微小直線段的連續有序排列。

以上三種實現動畫仿真顯示的方法具有其各自特點:第(1)種方法是圖形繪制領域最常見的一種方法,實現起來也較簡單但不足之處是各類幾何元素(如點、線、圓)的繪制是在某特定時刻產生的,并不利于動態仿真顯示效果的呈現,同時顯示的實時欠佳;第(2)種方法在實現方面同樣較簡單,對基本幾何元素亦可產生較好的動態仿真效果,同時存在的不足之處是該方法在動態仿真效果的實時性方面差強人意;第(3)種方法實現起來較為復雜,但優點也很明顯,具備動態仿真效果的實時性,在已知待插補曲線軌跡方程的情況下,能較快繪制其圖形,具有較好的實時動態顯示特性。

基于上述對三種顯示方法的分析和比較,數控加工的待插補曲線軌跡的仿真需要具備插補軌跡的實時動態顯示以及對當前插補點位置的實時動態顯示,使用第(3)種方法繪制待插補曲線軌跡及插補軌跡并進行動態仿真會取得更佳的效果。綜上,本文采用了第(3)種方法在VB6.0中實現插補軌跡曲線的動態模擬顯示。

4?插補輔助教學軟件實現

基于VB編程實現了本文的上述數字積分插補教學輔助軟件,軟件運行后選擇所要的插補類型,點擊進入直線插補演示工作界面如圖5所示。

假定輸入起點為(0,0)、終點(4,6),圖6模擬了完成全部插補的動態過程。

在課堂教學過程中,為方便學生的直觀認識,也可以實現單步的插補暫停的功能。在插補時先繪出被插補的直線,單擊“繪出直線”,先把該插補的直線繪出來,然后點擊“插補直線”即由時間控件的定時器控制直線一步一步插補,插補的過程中可以暫停,點擊“暫?!卑粹o即可,如圖7所示。插補暫停后也可以繼續,實現方法是:暫停時主要是把時間控件的定時器暫停運行,把其屬性值?“Timer1.Enabled?=?false”若要繼續,再把Enabled屬性改為true。

同樣的方法可實現數字積分圓弧插補算法,只是不同的是,圓弧需要輸入起始角度,輸入的角度為360°制,圓弧插補的運行效果圖如圖8所示。

5?結語

本文是數字積分插補教學軟件設計,文中對原理的描述比較詳盡,在結合VB程序設計的特點,設計出操作可行的數控插補計算教學輔助軟件,軟件功能上添加了對插補過程的實時動態動畫模擬,對數控插補過程進行了較好的動畫動態顯示效果。在課堂上教師可以利用該數控插補教學輔助軟件,將數字積分插補器的實時插補過程在窗口界面上比較直觀的顯示出來,便于學習插補原理的初學者理解記憶。在實際教學過程中,該輔助教學軟件能在課堂教學過程中幫助聽課的學生較快掌握數字積分插補的計算過程和插補原理。同時,動態的插補模擬演示簡化了抽象的教學過程,可起到較好的教學效果。

參考文獻

[1]? 鄧春華.數控技術在機械加工技術中的應用探析[J].內燃機與配件,2023(6):84-86.

[2]? 李恩林.插補原理[M].北京:機械工業出版社,1984.

[3] ?WANG?D?W,ZHANG?C,XI?X.A?Novel?Interpolation?Method?for?Cutting?Trajectories?in?Spatial?Coherent?Cutting?Machine[J].Journal?of?Physics:Conference?Series,2022,2395(1):1-7.

[4] ?邱李華,郭全.Visual?Basic程序設計教程[M].北京:人民郵電出版社,2009.

[5]? 陳愛萍.Visual?Basic程序設計實驗教程[M].北京:清華大學出版社,2010.

[6]?游達章,談太振,張業鵬,等.DDA圓弧插補算法改進研究[J].現代電子技術,2021,44(3):?87-90.

[7] 崔林,王士軍,郝樹萌.基于DDA和最小二乘法插補的激光洗水加工技術設計與實現[J].機床與液壓,2019,47(7):85-88.

[8]? DIMITRI?K,AGATHE?L,ANTOINE?L,et?al.Surgical?Management?of?Hypertelorism:The?3D?Animated?Technical?Note[J].The?Journal?of?Craniofacial?Surgery,2023,34(1):391-392.

[9] ?程東,張崇波.基于VB?6.0的載荷布置標識曲線繪制程序的設計[J].北京汽車,2019(3):?28-31.

猜你喜歡
教學軟件數控技術
傳承·創新·引領:虛擬教學軟件在高中生物學教學中的應用與推廣
虛擬教學軟件在高職院校汽車維修實踐教學中的應用
數控技術在礦山機械制造中的應用探討
智能制造與先進數控技術的發展
基于HTML5的凸輪廓線圖解法App教學軟件研究
基于AR的國家開放大學計算機專業體驗式教學軟件的設計開發
VR技術在三維角色動畫教學軟件中的應用研究
香港大學生普通話學習的環境、語言態度及教學軟件的應用——焦點小組訪談研究
數控技術在汽車底盤生產中的應用
機械制造中數控技術的應用研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合