為機床工具企業提供深度市場分析                     

用戶名:   密碼:         免費注冊  |   點擊 進入企業管(guǎn)理  |   申請VIP  |   退出登錄  |  

English  |   German  |   Japanese  |   添加收藏  |  

車床(chuáng) 銑床 鑽床 數控係統 加工中心 鍛壓機床 刨插拉床 螺紋加工機床 齒輪加工
磨床 鏜床 刀具 功能部件 配件附(fù)件 檢驗測量 機床電器 特種加工 機器人

TPI
搜索
熱門(mén)關鍵字:

數控機床

 | 數(shù)控車床 | 數控係統 | 滾齒機 | 數控銑床 | 銑(xǐ)刀 | 主軸 | 立式加工中心 | 機器人(rén)
      用戶頻道:    應用案例 |  汽車 |  模具(jù) |  船舶(bó) |  電工電力 |  工程機械 |  航(háng)空航天 |  儀器儀表 |  通用機械 |  軌道交通 |  發動機加工 |  齒輪加工 |  汽輪機加工
您現在的位置:數控機床市場網> 專題>五軸加工中心設(shè)計(jì)與工藝
模擬機(jī)訓練係統操作模塊研究
2016-8-2  來源:天津職業技術師範大學(xué)  作者:嶽剛

  
 
      4.1 模擬訓練係統的(de)需求分(fèn)析
  
      數控編程(chéng)技術類課(kè)程(chéng)是大中專院校數控機械(xiè)專業(yè)必修的一類專(zhuān)業課[57]。它作為一項側重動手能力培養的課程,在實際授課中必須穿插一定的試驗實訓課程來使學(xué)生充分理解和掌握課程的精髓。數控程(chéng)序的編寫和現場機床實踐是授課的一個必需環節[58]。但是由於資金不足、場地匱乏(fá)等限製條件,當前大中(zhōng)專院校機床配備明顯不足(zú),甚至會出現同一專業學生(shēng)不能在同一學期進行數控實訓的現象,這就違背了理論結(jié)合實踐的初衷[59],無法使理論與實踐相互印證。因此,麵對五軸數控機床配備不足的實情(qíng)展(zhǎn)開了模擬訓練係統(tǒng)研究。
  
      該係統主要用於教學及培訓,專(zhuān)門為(wéi)職業院校以及工科大學數控類課程實踐打造,以(yǐ)解(jiě)決大規模數控實訓與培養學生動手操作能力的難題,同時也解(jiě)決(jué)了機床數量與學生數量不匹配的供需矛盾(dùn)[60]。使用模擬訓練(liàn)係(xì)統能夠讓加工製造類企業方便的實現(xiàn)加工代碼的編寫(xiě)和檢驗,為真實機床的(de)使用節省了時間,提高了生產效率[61]。此模擬訓練係統以西門子840D 為藍本,所研發的模擬訓(xùn)練係統需要擁有此機床的主要功能,模擬訓練係統需要滿足以下幾點要求:
  
      (l)該機床(chuáng)的一比一立體模型可以在模擬訓練(liàn)係(xì)統(tǒng)中實(shí)現與實體機床相同的各種運動及切削效果。
  
      (2)支持實時的手動(dòng)輸入加工代碼、能夠支持各種 CAD/CAM  軟件編寫而生成的加工代碼。
  
      (3)擁有反饋能力:可以針(zhēn)對刀具、零件、床身的相互碰撞做出變(biàn)色發聲(shēng)等警告和反饋;具有欠切、過切反饋功能;能給虛擬機床各軸設置(zhì)行程限製,超出時發出警告;有一定的加工代碼差(chà)錯(cuò)功能(néng)等。
  
      (4)可以完成五軸數控(kòng)機床各種加工輔助的模擬,比(bǐ)如三色光狀態顯示燈,切(qiē)屑,切削聲音等,令模擬器更加(jiā)接近真實機床。
  
      (5)通過立體模型運動模擬工件切削過程,並且能夠(gòu)對立(lì)體模型(xíng)進行局部放大或縮小、調整視角等操作。
  
      (6)擁有人性化(huà)的後台及前台人(rén)機交互頁麵,使操作者體驗到與真實機床相同的感受。具(jù)有一定的幫助信息,具有五軸(zhóu)數控機床二次開發功能及實訓(xùn)功能(néng)。
  
      4.2 仿(fǎng)真係統的(de)功能(néng)模型
  
      由上一節模擬器係統總體需求分析可以推出模擬(nǐ)機訓練係統必須擁有以下功能:
  
      1.模擬切(qiē)削場景功能
  
      對(duì)於模擬機訓練係統立體仿真的要求,此係統需要支持立體模型導入,用專業繪圖軟
件來進(jìn)行模型的構建,實現完(wán)善係統模擬性能,模擬場景有:
  
      1)機床(chuáng)結構模型的(de)組建以及模擬背景組建
  
      2)毛坯的外形尺寸、夾具的外形尺寸定義(yì)。
  
      3)加工用刀具的構建。允許使用已構建的刀具庫內的(de)刀具信息來進(jìn)行重定義,也允許(xǔ)直接指定刀(dāo)具各(gè)部分外形和(hé)大小來構建(jiàn)新的刀具。
  
      2.模擬切削動作的功(gōng)能
  
      需要擁有下列功能:
 
      1)五軸數控機床模擬訓練機(jī)係統和西(xī)門子 840D 實體數控係統,在加工代碼、零偏設定等方麵保(bǎo)持一致。可以識別標準  G  代碼加工程序。
 
      2)模擬功(gōng)能。可以(yǐ)模擬(nǐ)五軸(zhóu)數控機床各軸、刀庫、絲杠(gàng)等組件(jiàn)的(de)移動過程,動態化的再現五軸數控機床切削時刀具相對毛坯移動以及切屑掉落(luò)過程;可(kě)以利(lì)用色彩的改變(biàn),以及聲(shēng)音表示刀具與毛(máo)坯、刀具與機床的碰撞等事件。
  
      3)可以動態模擬五軸數控機床(chuáng)自動換刀的過程,並且能通過手輪完成加工(gōng)偏置的測量與輸入。
  
      4)可以針對五軸數控機床的多種附加(jiā)功能做出模擬(nǐ),例如三色光指示燈隨(suí)加工狀態的(de)變化(huà)。
  
      3.檢驗分析(xī)的功能
  
      加工質量檢驗功能。能夠將切削過程中或切削完成後的零件三維模型導出,然後測量零件尺寸以(yǐ)及(jí)觀察零件形狀是否符(fú)合預期標準。同時,具備(bèi)一種對照功(gōng)能,即比較加工後零件與預期零件之間的差別,根據有無差別(bié)以及差別大小,推算出工件加工過程(chéng)中(zhōng)是否發生過(guò)切或(huò)欠切過程。
 
      4.完(wán)全模擬機床界麵
 
      依據(jù)西門子(zǐ) 840D 機床界麵構建軟件(jiàn)前台(tái)界麵,擁有當前坐標(biāo)顯示、加工偏置設定(dìng)等輔助界麵,並且完全開放可二次開發,能夠依據自身需(xū)求進行定製(zhì)。
 
      4.3.1 仿真(zhēn)係統開發環境的選擇
   
      五軸數控模擬訓練機係統是一台具有鍵盤麵板手輪等硬件以(yǐ)及機床三(sān)維模型的教學儀器[62]。伴(bàn)隨著電子計算機顯卡 CPU 等圖像和數據(jù)處理硬(yìng)件的飛速進步(bù),以(yǐ)及三維建模(mó)仿真算法和(hé)軟件快速發展,虛擬加工(gōng)技術越(yuè)來越完美的呈現出機床的實際加工運動(dòng)狀態,這給五軸數控模擬訓(xùn)練機(jī)係統的搭(dā)建提供了不同種類(lèi)的研發環境和技術手段。通過(guò)大量閱讀文獻,以及網絡調研,綜合考慮研發目的以及應用環境,能夠使用的技術方案如下:
 
 
      a:基於VC++以及三維繪圖軟(ruǎn)件研(yán)發;
 
      b:基於VRML 技術的研發;
 
      c:基於 C#和 Open GL 的二次開發。
 
      雖然已經有許多技術(shù)人員(yuán)基於 Open GL 做了機床模(mó)擬器的研發與運用領域(yù)的(de)探索[63][64]。北(běi)航李軍峰運用 Open GL 對數控機床進(jìn)行了加工模擬仿(fǎng)真研究[63],不(bú)過他討論的內容隻是機床仿(fǎng)真係(xì)統的構建以及模擬工件切削過程,對添加硬件的完全型模擬數控技術研究以及專門為實訓課程所開發的教學功能性數(shù)控係統(tǒng)研究較為淺顯。缺乏(fá)適合於特殊用戶的數控模擬教學及虛擬(nǐ)仿真係統(tǒng),功能的深度開發與探索較為淺顯[65]。
 
      本課題是在目前較為先進的數控(kòng)機床基(jī)礎上(shàng)進(jìn)行虛擬仿真器的構建以及模擬(nǐ)係統的開發。使用(yòng)對象是廣大學生以及培(péi)訓工作人員,在 Open GL 上進(jìn)行二次開發可以減少開(kāi)發(fā)周期以及開發成本[66],同時基於 Open GL 的技術成熟度,數控仿真器(qì)的開發更加方便快捷。通過對比所提出各個方案的多種優點以及缺點(diǎn),同時聯合本(běn)論文的實際研究對象和(hé)研究方法(fǎ),選擇 Open GL 與 C#進行聯合開發方案,作為五(wǔ)軸(zhóu)數控機床的模擬器控製(zhì)係統的(de)開發(fā)平台。
  
  
      4.3.2 Open GL 概述(shù)
 
      一(yī)般來說,數控加工模擬軟件(jiàn)其最主要的部分就是仿真過程的顯示,仿真模擬的外放過程決定了編製軟件的水平層次,具備優秀的圖像顯示(shì)以及完備的(de)人機交互功能是一個虛擬仿(fǎng)真軟(ruǎn)件必不可少的功能[67]。采用(yòng)完備的圖形技術標準作為模擬軟件圖(tú)形顯示(shì)的主要技術支持非常有必要。基於圖形標(biāo)準在圖像顯示的重要作用,計算機技術的發展帶動了圖(tú)像顯(xiǎn)示領(lǐng)域的(de)發展[68],目前,主要的圖形顯示(shì)標準有 Core、Hoop S、Open GL 等。在市場競爭與產品的更新換代下,Open GL 脫穎而出稱為了目前國內(nèi)外 3D 圖形顯示領域的基本標準,具有(yǒu)重要的領(lǐng)域地位。基於 Unix 平(píng)台的(de) PC 機下的 Open GL 已經得到了比較成熟的使用。以下是對 Open GL 圖形庫基本內容(róng)的簡單介紹[69]。
 
      Open GL 全稱為開放式圖想編輯庫(Open Garphics Library),計算機(jī)的發展以及人們對圖形見麵觀賞(shǎng)效果的質量要求,推動了計算機圖形庫軟件的(de)發展,Open Garphics Library就是在這樣一個環境下所誕生的產品[70]。該軟件由上百個過程程序與函數共同構(gòu)成,采用圖形編輯庫內部的圖形編輯函(hán)數函數,使用人員可以構建出質量優越的(de)三維模型,不需要操(cāo)作人員具有專業的數學(xué)圖像處理知識,隻需要采用特定的方式,構建好自己所需要的圖(tú)形編輯軟件[71]。在 Open GL 編(biān)輯環(huán)境下,使用者能夠采用較少的步驟(zhòu)構建具有較(jiào)高質量的三(sān)維圖像,在動畫的(de)製作上,Open GL 使用起來也能得心應手。Open GL的原型是 SGI 公司為了將客戶從傳統(tǒng)的計算機編程軟(ruǎn)件(jiàn)與硬件係統(tǒng)中(zhōng)解脫出來而開發的一款圖形開發環境,主要是為圖形工作站服務,它具有獨立於窗口操作與計算機硬(yìng)件環境等(děng)特點,進行(háng)圖形(xíng)編輯時不用(yòng)花較多的時間去理解係統的主要(yào)結(jié)構和控製指令,采用固定(dìng)格式進行應用程序的編(biān)製就可以在支持 Open GL 係統的平台進行(háng)軟件的執行[73]。

        a)Open GL 的主要特點
 
      (1)工(gōng)業標準(zhǔn):Open GL 的應用標準由專門研究 Open GL 構架的審(shěn)查委員會進行技術(shù)指導,在審查委員會的監督下,Open GL 做到了行業開放、無商業利益(yì)牽連,兼容性優良的圖形標準。
 
      (2)穩定性:Open GL 經過 10 多年各種平台的實際應用效果檢驗,器不斷的優化與(yǔ)根性使其具備了良(liáng)好的控製特性與編寫規範,其(qí)軟件具備向後兼容性,對於軟件和硬件(jiàn)的跟(gēn)新十分方(fāng)便(biàn)。
 
      (3)可擴展性:Open GL 中具有一(yī)種自動擴展的軟件接口,即 API。采用(yòng)該擴展程序,可以對圖形編輯(jí)軟件進行額外功能的擴展;
 
      (4)簡單易用性:基於 Open GL 的優越控製(zhì)結構,簡單的設計以及完整的邏輯控製程(chéng)序,使得用戶(hù)在該圖形編製界麵下(xià),可以采(cǎi)用較(jiào)少的程序(xù)代碼就可以得到完整的程序,同時 Open GL 內部刻錄了係統硬件的相關信息,程(chéng)序開發人員在進行(háng)程序編製時不用對硬件進行詳細設計[73]。
 
      b)OPen GL 提供的基本功能
 
      (l)二維和三維造型:由於現實(shí)中的各(gè)種實際物體均能采用點、線、麵進行三維(wéi)描述,Open GL 具有完整的圖形(xíng)編輯命令,對實際物(wù)體的模擬(nǐ)繪製十(shí)分簡單方便。
 

      (2)圖形變換:由於複雜的圖形可以通過基本單元經過不同的變換進行實現,Open GL中具備係列基本變換,因(yīn)此可以對基本圖形單元進行合理的控製變化(huà),產生所需要的圖形。
 
      (3)光照處理:為使所(suǒ)繪製的圖形(xíng)具有較為真實的視感,需要對(duì)三維圖形進行光照處理和(hé)渲染。
 
      (4)著色:Open GL 內部具有(yǒu)多種模型(xíng)的著色方式,其一是 RGB 顏色編輯模式,另一種是顏色索引模式。
 
      (5)反走樣:Open GL 中主要采用(yòng)位圖模式進行圖形的編製,而位圖模式在繪圖時(shí)會(huì)產生邊(biān)界鋸齒,該鋸齒(chǐ)稱為圖形走樣,為了降低和弱化(huà)這種圖像邊界鋸齒,Open GL 內部具有多個點(diǎn)、線、麵以及多邊形的反走樣函數程序(xù),可(kě)以有效的對圖像邊界(jiè)鋸齒進行弱(ruò)化和消除(chú),達到清晰顯示的目的。
 
      (6)融合:在 Open GL 中,為了使(shǐ)三維(wéi)模(mó)型具有較高的實物(wù)視覺體(tǐ)驗,對三維模型進行半透明或者透明處理(lǐ)是主要技術手段,而該手段實現需要采用圖像融合技術進行模擬。
 
      (7)霧化:霧化效果在圖形編輯中具有較高(gāo)的使用頻率,由於霧化(huà)可以模擬真實環境中霧的存在,在模型的構建時具有一定的使用意義,而 Open GL 軟(ruǎn)件(jiàn)包(bāo)中的“fog”就可以對模型(xíng)圖形進行(háng)係統霧化效果實現。
 
      (8)紋理映射:計(jì)算機圖形圖像顯示學中,所(suǒ)有具有顏色、值、光亮度等(děng)數據三維物體所構成的(de)矩形數組(zǔ)被稱(chēng)為模型的(de)紋理。三維(wéi)模型的紋理映射就(jiù)是把該物體所具有的紋理數組在模型表麵進行投影,從而使該模型具有更(gèng)加直(zhí)觀的(de)表達效果。
 
      (9)動畫效果:在 Open GL 中,動畫的實現是該軟件包的主要特點之一,Open GL 通過設置 RI 圖形緩衝區區來實現動畫的(de)演示是目前(qián)主流的實現形式[74]。為了在虛擬軟件中得到運(yùn)動平滑的界麵動畫,模型(xíng)的動態過程必須在被投影(yǐng)到屏幕前在係統內存中建立相應的界麵幀(zhēn),才(cái)能(néng)保證動畫播放的流暢度。而(ér) Open GL 通過運用雙通道(dào)緩衝方(fāng)式,在係統內存中了構建多(duō)個基本場景界麵幀,屏幕對動畫進(jìn)行幀的播放時,後台內存(cún)中存(cún)儲著下一界麵的多個幀(zhēn),該方式對運(yùn)動動畫的顯示效果十分具有(yǒu)優勢,對於高速運動的圖像仍能快速處理(lǐ)。
  
      c)Open GL 的工作流程 
  
      首(shǒu)先,控製程序從左側進入 Open GL 的軟件程序包,通過其中包含有幾何數據以及像素數據兩者,經過求值器、像素操作,紋(wén)理映射、光柵化等多(duō)種圖像處(chù)理(lǐ)方式,最後生產待顯示的圖像幀。在該處理過程(chéng)中,基於的 Open GL 函數分析包,會將得(dé)到的(de)數據儲存在程序列(liè)表中(zhōng),並按照一定的順序(xù)進行解算處理,圖像處理的(de)求值過程是對所輸入(rù)數據的求值多項式進行幾何曲線以及曲麵的擬合繪製;然後會對圖像的各個定點以及微型圖元(yuán)進行對應的組合,同時采用特殊的變換方法(fǎ)對定點(diǎn)和光照進行有效(xiào)處理,將圖元進行修改(gǎi)和裁(cái)剪,從(cóng)而得到適合實際視覺的(de)大小[43]。而在(zài)後(hòu)續的圖(tú)像數據光柵化中(zhōng),Open GL 主要采用對點、線、多(duō)邊形進行二維數值描述的方法,生產對應的像素儲存和圖像幀的(de)緩存地址;當所輸入的處理對象是像素數據時,上述過(guò)程中(zhōng)的“求值器”將不(bú)再起作用,而(ér)會在像素值處理階段進行處理,該階段(duàn)的(de)處理結果可(kě)以儲存(cún)為模型的紋理(lǐ)內存,從而在圖像(xiàng)的光柵操作中進行分析時使用[35],同時也可以采(cǎi)用與幾何模型數(shù)據相同的方式進行數據光柵化。
 
      d)Open GL 的動畫技術
   
      數(shù)控加(jiā)工模擬軟件的動(dòng)態顯示是仿真係統的主要功能之一,采用基於 Open GL 開(kāi)發包的仿真過程動畫顯示具有突出的(de)技術優勢。
  
      Open GL 開發(fā)包的數控仿(fǎng)真動畫實現主要采用雙重緩衝算法以及交互函數,雙重緩衝區(qū)包含兩個部分(fèn):前緩衝區域以及(jí)後緩衝區域[37]。雙重緩衝作用方式是當前端緩衝區域畫麵得到顯示時,後端緩衝區(qū)域同時處理下一階段的緩衝內容,前緩衝區域的目標內容得到顯示後,後緩衝區(qū)域的內容進行顯示,顯示的(de)同時前緩衝區域對下(xià)一(yī)幀的內容進行處理,當後緩衝區域的內容顯示結束後[43],再次顯示前端緩衝區域所處理完成的(de)內容;此過(guò)程進行重複運行,就會得到圖形的連續顯示效果。Open GL 所采用的雙緩存顯示技術,繪製圖像的同時可以對上一幀的內容進行顯示,十分方便的克服了模擬動(dòng)畫播(bō)放時屏幕閃爍的問題(tí),可以對複雜的動畫圖像進行顯(xiǎn)示和處理,其主要缺點就是圖像的顯示速度會(huì)受製於圖像的加工(gōng)速度[42]。采用基於 Open GL 的雙緩存技術,能夠在數控仿真模擬軟件中進行有效運用,實現對數控加工過程中(zhōng)的剛體運動、變形、模型變化、視覺(jiào)效果的有效處理和實時(shí)顯示。同時 Open GL 提供了基於 Windows 係統(tǒng)的 API 擴展函數:Sw Pa Bueffsr 可以對緩衝區的處理對象進(jìn)行快速交(jiāo)換,功能十(shí)分完備可靠。
 
      e)係統的開發平台
 
      基(jī)於 Open GL 圖形(xíng)庫的技術特點和應用優勢(shì),目前主(zhǔ)流的(de)係(xì)統程序編寫(xiě)軟件,Visua1C++6.0、C++Builder 以及 C#等,都采用了 Open GL 圖形庫作為自身的擴(kuò)展模塊,用(yòng)來加強係統編(biān)譯軟件對圖形(xíng)圖像(xiàng)的分析及處理能力,而其中之一的(de) C#,是目前最為成熟的窗口可(kě)視化程序開發平台,其隸屬於微軟公司,也是目前軟件開發領域中非常優秀的(de)開發平台之一,其強(qiáng)大的功能以及相對簡單的使用性,十分適(shì)合本係統(tǒng)的開發[49]。
 
      4.3.3 模型構建
 
      通過 Open GL 按實際比例進行機床模型的繪製,模擬(nǐ)各軸(zhóu)的運動,實現數控係統的手輪控製功能,構建模型如下圖:
  
 
    
      圖 4-2  虛擬機床模型(xíng)
 
      4.3 機床手輪(lún)功能(néng)的實現
 
      本(běn)節研究了(le)模擬數控係統的手輪操作實現方法(fǎ)。研究了一種利用 C#與 Open GL 完成實體手輪操作模擬數控係統的算法。使用 C#完成手輪操作處理程序,完成手輪的通訊,並進行轉換,實現響應;利用 Open GL 模擬各軸(zhóu)的移動,完成模擬數控係統的實體手輪操(cāo)作,並公(gōng)開了核(hé)心部分的(de)程序源代碼[21]。通過這種方式,編寫出的程序代碼(mǎ),具備很強的開放性和可移植性。
  
      手輪操作在(zài)數控機床(chuáng)操(cāo)作中占據著非常主要的地位,在切削前(qián)對刀(dāo)、機床各軸小範圍移動(dòng)等都要通過手輪完成[32]。手輪操(cāo)作的實現難點是(shì)手輪大輪與選中軸移動(dòng)的跟隨性,跟隨性能夠分成兩個部分,運動距離與運動速度。本章(zhāng)研究了一種利用 C#與 Open GL 完成實體手輪操作模(mó)擬(nǐ)數控係統的算法。
 
      4.3.1 硬件結構
 
      以手輪為(wéi)控製機構,工控機為處理中樞,實現五軸(zhóu)數控機床模擬器中的虛擬機床(chuáng)與手輪的運動(dòng)跟隨。係統硬件連接如圖 4-2 所示。係統連接框(kuàng)圖如圖(tú) 4-3 所示。
     
 
    
      圖(tú) 4-2  係統硬件連接
 
   
      
    
      圖 4-3  係統連接框圖
  
      手(shǒu)輪通過串口將數據傳輸到(dào)工控機(jī)上(shàng),由工控機(jī)上的 C#語言編寫的上位(wèi)機軟件(以後簡稱(chēng) C#軟件)進行數據處理(lǐ),區(qū)分不同的軸和倍率(lǜ),以及使能是否按下。將處理後(hòu)的數據通過 API 接口傳(chuán)輸給Open GL,最(zuì)終驅動虛擬數控機床相應(yīng)軸的運動。
 
      4.3.2 手輪數據設定
 
      手(shǒu)輪通過串口發送給工控機的指令(lìng),由 C#軟件存(cún)儲在相應的變量中,手輪與 C#軟件的(de)通訊協議如表(biǎo) 4-1: 
  
      表 4-1  手輪(lún)通訊協議(yì)
    
      
     
      手輪利用RS485通訊協議與工控機相連(lián)接來(lái)實現數據交換。手輪的核心是旋轉(zhuǎn)編碼器(qì),旋轉手輪就能夠生(shēng)成一個表示當前位置的串碼 A,手輪上的各個分度值都具有唯一的串碼A。工(gōng)控機接收到手輪發(fā)出的串碼 A1 後(hòu),用 A1 和(hé)之前記錄(lù)的串碼 A0 求差,獲得差值△,當△>0 就(jiù)表示手輪正轉,當△<0 就表示手輪反轉。之後把|△|當做手輪移動距離。
 
      4.3.3 軟件(jiàn)設計
 
      在操作界麵能夠實時顯示 X、Y、Z、A、C 五個軸的相(xiàng)對位置或絕對位置,手輪(lún)當前位置,手輪旋(xuán)轉量,手輪倍率,手輪旋(xuán)轉速度。調試(shì)軟件界麵如圖 4-4 所(suǒ)示(shì):
 
         
    
      圖 4-4  軟件界麵
 
      數控機床手輪功能的實現,是數控機床控製係統設計中的重要的一環,本文詳(xiáng)細論述了利(lì)用 C#軟件和 Open GL 實現手輪運動和速度跟隨的方法(fǎ),並通過實驗(yàn)論證了方(fāng)法的有效性。
 
      4.4 機床多係(xì)統的(de)實現
 
      本章詳細的探究了多係(xì)統數控機床的設計過程(chéng),獨創的提出了一種基於 C#和數控麵板的(de)方法,最終實現集多係統於五軸數控(kòng)機床。通過 C#語言編寫上位機(jī)軟件,主要能夠(gòu)實現多係統界麵切換和功能切換的功能,通過各(gè)機床的通用性,使多個係統共存在一個機床內(nèi),如果(guǒ)想完全換成別的機床係統,除(chú)了在軟件界麵上切換過來,還需要切換相應的麵(miàn)板,這樣的話(huà),在很大程度上提高了數控(kòng)機床的利用率,特別適合用在學校的實訓教學之中。
 
      在教學實踐中,接觸到的數控機床係統(tǒng)往往不止一種,國內外有多個廠家發布了數控機床(chuáng)係統,例如西門子、海德漢、華中數控、三菱和 FANUC 等。為提高學生的適應性,學校通常會同時采購多種數控機床,而這些(xiē)機(jī)床通常床身的區別性不(bú)大,這樣就造出來資源的冗(rǒng)餘和浪費。因此,需要急需開發出一套能夠融合多種數控係統的(de)產品或者係(xì)統。
 
      4.4.1 實現原理
 
      實現對應的功能,需要的硬件主要有:工(gōng)控機一台,西(xī)門子 840D、海德漢 530i 的數控麵板。
 
      兩種數控麵板(bǎn)分(fèn)別(bié)通過串口與工控機相連接並實現通(tōng)訊。工控機將根(gēn)據接收到的數控麵板的鍵盤(pán)命(mìng)令進行相應的運(yùn)算和操作,通過 API 函數(shù)驅(qū)動 Open GL 中的(de)虛擬機床(chuáng)進行(háng)相應的運動。由工控機處理 Open GL 反饋的運動坐(zuò)標及其他參數數據(jù),並(bìng)實時控製數控麵板上(shàng)界麵的切(qiē)換和文字的顯示,控製係統的流程圖如圖 4-5 所示:
  
     
     
         圖 4-5  控製係統流程圖
 

      4.4.2 工控機程序編寫
 
      工控機(jī)作(zuò)為多係統機床的核心,綜合處理各組成部(bù)件間的信息,讓數控麵板、手輪、指示燈等硬件和虛擬數控機床有機的結合在一(yī)起,協調工作。軟(ruǎn)件的(de)原理是將各係統的數控編程語言進行轉化,轉化(huà)成統(tǒng)一的程序代碼。並且將需要顯示的(de)數據,如(rú)各軸坐標值、主軸轉速、當(dāng)前刀號等(děng)數據做為全局變量(liàng),實現數據處理的通(tōng)用化(huà);另(lìng)外在更換係統時,可以直接提取相應的變量,實現數據顯示的通用化。  
 
      程序的功能完全可由目前很成熟的、簡單的 C#編程語言來(lái)實(shí)現。下麵(miàn)就代表性代碼進行說明。
 
 
      首先是機床當前狀態,機床當前狀態是指在機床運行過程中所處的狀態(tài),比(bǐ)如(rú)切削狀態、當前刀具偏置、當前倍率等數據。這些數據通過全局變量來存儲可以(yǐ)實現(xiàn)各係(xì)統通(tōng)用化的調用,下麵是機床當前狀態的申明:
 

      Public Bool  jc_xunhuan_start // 機床循環啟停,循環(huán)啟動為 1,循環停止為 0 

      Public Int  jc_m oshi// 機床模式。
 
      Public Bool  jc_wcs_mcs// 機床坐標狀態,1 代表 wcs,0 代表 mcs 
   
      Public Int   bzw_開始讀(dú)坐標//運行狀態為 0  停止狀態為 1 
  
      Public Double  jc_ 擺頭偏置_x // 機(jī)床的擺頭(tóu)偏置 x Public Double  jc_ 擺頭偏置_y  // 機床的擺頭(tóu)偏置 y 
  
      Public Double  jc_ 擺頭(tóu)偏置_z  // 機床的擺頭偏置 z 
  
      Public Double  jc_ 已存偏置_x(16)//機(jī)床(chuáng)的已存偏置 x(相應軸(zhóu)對刀後)
 
      Public Double  jc_ 已存偏置_y(16)//機床的已存偏置 y(相應軸對刀後)
 
      Public Double  jc_ 已存偏置_z(16)//機床的已存偏置 z(相應軸對刀後)
 
      Public  String  jc_ 當(dāng)前零點偏移(yí)//設置當前激活的(de)零點偏(piān)移,如 G54 等,若為(wéi)空則未激活任何零點偏移(yí)
 
      Public Double  jc_ 切削進給倍率//切削進給倍率
 
      Public Double  jc_ 快速進給倍率//切削進給倍率
 
      Public String  jc_ 手輪倍率 //手輪倍率
 
      Public String  jc_ 手輪軸 //當前手輪軸
 
      Public String  jc_ 手輪位置(zhì) //當前手輪大輪位置—之前
 
      Public String  jc_ 手輪位置_當前//當前手輪(lún)大輪當(dāng)前位置
 
      Public Int   jc_手輪串口號//運行(háng)狀態為 0  停止狀態為 1 
  
      Public Int   jc_西門子鍵盤串口(kǒu)號
  
      Public Int   jc_海德漢鍵盤串口號
  
      Public Long  jc_ 開機延遲 //默認為 25000 
  
      研究了一種基於工控機和 C#實現多麵板(bǎn)數控機床的方法,以 FANUC 係統的數控編(biān)程語言為例,詳細說明了實現(xiàn)方法及思路。工控機界麵通過 C#語言編寫,同(tóng)時工控機實現了對數據的分析和處理,集成了數控機(jī)床(chuáng)控編程係統,達到了節約了購置成本的(de)效果。完全自主搭建好的多係統數控機床,已成功的應(yīng)用在自主研發的(de)五軸數控機床模擬訓練機上,並且達到了理(lǐ)想效果。
 
        表 4-2  麵板通訊協議
      
       
  
      4.5 機床麵板功能的實現
 
      機床麵板是用戶與機床進行交互的主要輸入裝置,為了給用戶提供真實的操作體驗,機床麵板采用采用物理麵板。麵板采用單片(piàn)機加矩陣鍵盤的形式,鍵盤自主設計製作,采用雙單片(piàn)機並聯(lián)模式,滿足組合按鍵(jiàn)按下的需求。麵板通訊協議如表4-2 所示。
 
      4.6 虛擬電機運動的實現
 
      五(wǔ)軸數控機床(chuáng)通過控製電機(jī)的轉動,帶動絲杠,進而實現各軸(zhóu)運動,在運動(dòng)過程中有連續性;而虛(xū)擬機床通過改變各軸與機床的相對位置,來實現五個軸(zhóu)的運動,因此(cǐ)改變相對位置值之後,相應的軸會立即運動到指定位置,這(zhè)就和實際機床運動有衝突了。
 
      為使虛(xū)擬機床運(yùn)行達(dá)到與實際機床相同的視覺效果,特別設計了虛擬電機運動算法。
 
      參考 PLC 控製伺服電機的方法,有兩種方式:
 
      第一種:一般的 PLC 都具備高速脈衝輸出口,通常有兩個。通過這兩個高速脈衝輸出口,就可以直接驅動(dòng)伺服電(diàn)機,電機運動的速度跟高速脈衝輸(shū)出口的脈衝頻率成正(zhèng)比,電機旋轉的圈數跟高(gāo)速脈衝輸(shū)出口的脈衝個數成正(zhèng)比,如果需要反(fǎn)轉,再通過一個 I/O 信號就(jiù)行。第(dì)二種:有一些 PLC 是具備定位模塊的(de),比如 GE,這(zhè)種定位模塊是通過讀取 PLC中 CPU模塊傳(chuán)過(guò)來的運行命令的數據,最終轉換成能夠驅動伺服電機的方向和脈衝。由於定(dìng)位模塊內(nèi)部接口是為控製伺服而設計的,所以能夠和伺(sì)服驅動器進行數據上的交換,能夠讀出伺服報警信號信號,伺服使能信號,伺服定位結束信號,還有其他的一些伺服電機控製方麵的(de)信(xìn)號。
 
      伺服電機控製的(de)方式(shì)一共可以分為兩種,分別為脈衝控製(zhì)和模擬電(diàn)壓控製。
 
      1、脈衝控製(zhì)方式可以細分為(wéi)位置控製模式和轉矩控(kòng)製模式;
 
      2、模擬電壓模擬電壓控製一般通過模擬量去控製伺服電機,可通過 PLC 的模(mó)擬量輸出去控製伺服電機,同時也可通過定位模塊去(qù)控製。
 
      所以為使虛擬電機能(néng)達到同樣的連續運動效果(guǒ),可(kě)以模擬電機的脈衝(chōng)運動效果,將結果分段顯示,將剩餘移動位移轉化為有限個小的位移,以脈衝的形式發送移動指令,這樣(yàng)就能達到把瞬間移動轉化為多(duō)個瞬間移動,然後每個瞬間移(yí)動之間,插入一個小(xiǎo)的延時,這樣就可(kě)以得到連續的效(xiào)果(guǒ)。
 
      理論上講延(yán)時越小則觀察到的連續性越好,但是對於程序來講,延時(shí)越小發出的脈衝越多,過大的頻率會導致係統(tǒng)卡頓,經測試,極限頻率為 100Hz 左右,所以延時(shí)大於 10ms即可;而電影的播放速度為 24 幀每(měi)秒,即 42.6ms/幀,也就是延時應該小於 42.6ms,所以每幀的(de)時(shí)間差可以取 Δt =40ms ,這樣既可以騙過人眼(yǎn),讓(ràng)使用者認為運動是(shì)連續的(de),又不至於影響係統的穩定性。
   
      然後是脈衝的個數 N,也就是完成一個運動需要的脈衝數量;每個脈衝移動的距離Δs ;還有最後一個脈衝移動的距離δs 。 
   
下麵可以開(kāi)始構建電機運動函數了,函數輸入值為所選坐標軸 axis、位移 S 和速度 V(若 S>0 則正(zhèng)向移動,若 S<0 則反向移動),這樣可以(yǐ)計算出移動用時 t。基於以上討論,可以推(tuī)導出如下公式:
 
     
  
      用這幾個公式(shì)可以構成虛擬(nǐ)電機的運動主函數,把(bǎ)輸入的位移和速度值分解為脈衝數、每個脈衝所走距離、最後一個脈衝所走距離,然後循環調用運(yùn)動子函數(shù)。虛擬電機運動主函數構建偽代碼如(rú)下:
  
      static void Dian Ji(Double S  ,Double V,Int axis)
   
      {Int N 
  
      Double d S  
  
      Double dd S 
   
      Int axis 
 
      Double t  
  
      t = S / V //計算總時間
 
      N = Math.Floor(t / 40)  + 1 //計(jì)算總(zǒng)脈衝次數
 
      d S = Math.Floor(S / N)  //計算每個脈衝所走距離
 
      dd S = S / N - d S //計算最後(hòu)一次脈衝的剩餘移(yí)動量
 
      XNDJ( N, d S,dd S,axis) //調用電機子(zǐ)函數} 然後構建虛擬電機的運動子函數(shù):
 
      static void XNDJ(Int N,Double d S,Double dd S,Int axis  )
 
      {//虛擬電機函數,參數分別為脈衝數、每個(gè)脈衝所(suǒ)走距離、最後一個脈衝所走距離、所選坐標(biāo)軸
   
      //其中調用的函數有
 
      //Move To(Int axis,Double s  )//(使選(xuǎn)定軸 axis 移動距(jù)離 s)
 
      //Sleep YS(Int time  )//(使程序延時(shí),單位 ms)
 
      //其中使用的全(quán)局變量有
 
      Int Stop XNDJ (用來停止相應軸的電機運動函數,0 為不停止,不為 0 則停止相應軸)
 
      If (N > 1)  
  
      {For(i = 2;i < N+1;i++) //完成前N-1 次脈衝
 
      {Move To(  axis,d S) //完成前 N-1 次脈衝中每次對應軸的移動
 
      I f (Stop XNDJ = = axis)  
  
      { return}//跳出循環條件Sleep YS  (40)//延時 40ms } 
 
   
      Move To  (axis,dd S) //完成最後一次脈衝的剩餘(yú)移動(dòng)量} 
  
 
      在虛擬電機的運動函數(shù)中,輸(shū)入參數為脈衝數(shù)、每個脈衝所走距離、最後一(yī)個脈(mò)衝所走距離、所選坐(zuò)標軸,每次調用可(kě)以(yǐ)完成相(xiàng)應軸(zhóu)的有限次的(de)移動,直到移動結束;也可以響應中斷,比如用戶點擊了循環停止按鈕或改變了電機運動(dòng)倍率。
 
      初期(qī)用的是係(xì)統的(de)自(zì)帶延時函數,發現使用(yòng)時會使係統失去響應,用戶無法進行其他操作(zuò),直到(dào)延時結束才(cái)能響應,所以雖然比較簡單,但並不能應用在這裏。新的(de)延時(shí)函數,使用的是(shì)係統開機時間,先(xiān)記(jì)錄延(yán)時開始時的(de)係(xì)統開機時間(jiān),再不斷請求(qiú)開機時(shí)間,將獲取的新的(de)開機時間與起始開機時間的差和延時長(zhǎng)度對比,若差大於延時長(zhǎng)度,則跳出循環。
 
      4.7 本章小(xiǎo)結(jié)
  
      本章主要從五軸手數控(kòng)機床模擬訓練機的功能分析入(rù)手,分析和比較了三種虛擬機床的開發方案,選擇基於 Open GL  以及C#  這兩款工具來進(jìn)行五軸數控機床模擬機的(de)開發,並簡單描述了Open GL  這款(kuǎn)工具的主要特點,分析了Open GL 的功(gōng)能優勢。
 
      在上章中提到,五軸數控機床模擬器是基於 C#和 Open GL 進(jìn)行二(èr)次開發,軟(ruǎn)件開發平台基於 Windows  係統,就需要將機(jī)床(chuáng)原有的伺服係統(tǒng)進行模擬,使原伺服係統及伺服電(diàn)機可以在 Windows 中模(mó)擬出來,使模擬器中機(jī)床的運行符合真實機(jī)床(chuáng)的運(yùn)行(háng)規律;同時(shí)可以驅動手輪、麵板、鍵盤(pán)、指示燈等硬件,實現對用戶輸入的響應,包括鍵盤和手輪按鍵的觸發,麵板界麵菜單的顯示,指示燈的點亮和熄滅(miè)等。最終效果是使用戶體驗(yàn)到操作真實五軸數控機床的感覺,最(zuì)大程度的實現(xiàn)仿真教學的真實性。
 
    投稿箱:
        如果您有機床行業、企業相關新聞稿件發表,或進行(háng)資訊合作,歡迎聯係本網編輯部, 郵箱(xiāng):skjcsc@vip.sina.com
名企推(tuī)薦
山特維克可樂滿
哈斯自動數控機械(xiè)(上海)有限公司
西(xī)門子(中國(guó))有限公司
哈挺機床(上海)有限公司
北京(jīng)阿奇夏米爾技術服務有限責(zé)任公司
陝西秦川機械發展股(gǔ)份有限公司
国产999精品2卡3卡4卡丨日韩欧美视频一区二区在线观看丨一区二区三区日韩免费播放丨九色91精品国产网站丨XX性欧美肥妇精品久久久久久丨久久久久国产精品嫩草影院丨成人免费a级毛片丨五月婷婷六月丁香综合