免费99精品国产自在在线_玖玖免费_毛片网在线观看_午夜视频网站_96久久久久久_精品久久久久久久久久久

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

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

English  |   German  |   Japanese  |   添加收藏  |  

車床 銑床 鉆床 數控系統 加工中心 鍛壓機床 刨插拉床 螺紋加工機床 齒輪加工
磨床 鏜床 刀具 功能部件 配件附件 檢驗測量 機床電器 特種加工 機器人

TPI
搜索
熱門關鍵字:

數控機床

 | 數控車床 | 數控系統 | 滾齒機 | 數控銑床 | 銑刀 | 主軸 | 立式加工中心 | 機器人
      用戶頻道:    應用案例 |  汽車 |  模具 |  船舶 |  電工電力 |  工程機械 |  航空航天 |  儀器儀表 |  通用機械 |  軌道交通 |  發動機加工 |  齒輪加工 |  汽輪機加工
您現在的位置:數控機床市場網> 專題>五軸加工中心設計與工藝
模擬機訓練系統操作模塊研究
2016-8-2  來源:天津職業技術師范大學  作者:岳剛

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

        a)Open GL 的主要特點
 
      (1)工業標準:Open GL 的應用標準由專門研究 Open GL 構架的審查委員會進行技術指導,在審查委員會的監督下,Open GL 做到了行業開放、無商業利益牽連,兼容性優良的圖形標準。
 
      (2)穩定性:Open GL 經過 10 多年各種平臺的實際應用效果檢驗,器不斷的優化與根性使其具備了良好的控制特性與編寫規范,其軟件具備向后兼容性,對于軟件和硬件的跟新十分方便。
 
      (3)可擴展性:Open GL 中具有一種自動擴展的軟件接口,即 API。采用該擴展程序,可以對圖形編輯軟件進行額外功能的擴展;
 
      (4)簡單易用性:基于 Open GL 的優越控制結構,簡單的設計以及完整的邏輯控制程序,使得用戶在該圖形編制界面下,可以采用較少的程序代碼就可以得到完整的程序,同時 Open GL 內部刻錄了系統硬件的相關信息,程序開發人員在進行程序編制時不用對硬件進行詳細設計[73]。
 
      b)OPen GL 提供的基本功能
 
      (l)二維和三維造型:由于現實中的各種實際物體均能采用點、線、面進行三維描述,Open GL 具有完整的圖形編輯命令,對實際物體的模擬繪制十分簡單方便。
 

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

      4.4.2 工控機程序編寫
 
      工控機作為多系統機床的核心,綜合處理各組成部件間的信息,讓數控面板、手輪、指示燈等硬件和虛擬數控機床有機的結合在一起,協調工作。軟件的原理是將各系統的數控編程語言進行轉化,轉化成統一的程序代碼。并且將需要顯示的數據,如各軸坐標值、主軸轉速、當前刀號等數據做為全局變量,實現數據處理的通用化;另外在更換系統時,可以直接提取相應的變量,實現數據顯示的通用化。  
 
      程序的功能完全可由目前很成熟的、簡單的 C#編程語言來實現。下面就代表性代碼進行說明。
 
 
      首先是機床當前狀態,機床當前狀態是指在機床運行過程中所處的狀態,比如切削狀態、當前刀具偏置、當前倍率等數據。這些數據通過全局變量來存儲可以實現各系統通用化的調用,下面是機床當前狀態的申明:
 

      Public Bool  jc_xunhuan_start // 機床循環啟停,循環啟動為 1,循環停止為 0 

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