中文字幕视频在线免费_日韩在线精品_日韩视频免费看_中文字幕在线三区_午夜免费视频_日韩在线大片

基于QT+PMAC的V溝機數控軟件的開發

來源:互聯網

點擊:2330

A+ A-

所屬頻道:新聞中心

關鍵詞:PMACV溝機 數控軟件

    0 引言

      隨著近年來光纖通訊行業的迅猛發展,對光纖產品的質量要求越來越高。光纖連接器用于光纖之間的對接,其主要組成部件是V型槽結構。V型槽結構作為連接光纖的微光學器件,其加工精度直接影響著光纖連接器的性能。通常V型槽的加工精度由槽的傾斜角、表面粗糙度、直線度等來衡量。為了實現V槽的亞微米級的加工精度,需尋求一種最為有效的加工方式。目前V型槽陣列的加工方法主要有三種:濕法腐蝕,壓膜,超精密加工。利用超精密機床對V型槽進行磨削加工,是實現其高精度的一種非常有效的方法。

      超精密數控系統作為超精密數控機床的控制核心,也是加工V型槽陣列需要重點研究的環節。QT是C++圖形用戶界面應用程序框架,具備藝術級的圖形界面開發功能,QT的良好封裝機制也使得QT的模塊化程度非常高,可重用性較好。PMAC則是功能強大,市場定位較高的一款控制器。本課題在上位機上借助QT開發工具,調用Turbo PMAC clipper提供的PcommSeRer Pr02:Lih岬庫函數,開發了V型槽加工機床的數控系統軟件。該軟件不僅實現了優越的人機界面功能,還能根據V槽的關鍵參數自動生成NC代碼并檢測代碼的正確性,并能對系統的參數進行規范的數據庫管理,以及進行V槽加工過程的三維模擬仿真,可視化強。同時,軟件也實現了系統的CNC運動控制功能。針對這樣一款專門應用于V型槽陣列加工的軟件,它的實用性,市場需求度都是不言而喻的。

    1 V溝機數控系統的硬件設計

      系統硬件結構主要包括:研華工控機,Turbo PMAC Clipper多軸運動控制器,端子板,KOI工MORGEN AKD.P系列驅動,氣浮主軸,KOmMORGEN直線電機,ReniShaw光柵尺,氣浮工作臺,配以其他的I/O等輔助設備。


    2 V溝機數控系統的軟件開發

      V溝機數控系統具有普通數控系統的數控加工、系統診斷、數據采集等功能。同時還應具有本身特殊的功能,即根據V型槽的關鍵參數以及加工工藝自動生成NC代碼,將代碼下載至PMAC控制器中,從而進行加工。整個軟件開發過程包括:軟件功能的設計以及功能模塊的劃分,人機界面的設計,各功能模塊的編寫和調試,整個應用程序的集成、調試和運矧引。在訪n(10ws7操作系統下,利用QT4.8開發工具,通過調用PcommServer Pr02 Library庫函數,實現軟件的編寫和系統的控制功能。

      2.1 建立QT與PM漁C的通訊

      基于QT+PMAc的開放式數控系統,其開放性既體現在軟件上,又體現在硬件上。QT提供了非常強大的圖形用戶功能,允許用戶根據自己的需要開發人機交互界面;PMAC運動控制卡則提供了多于400個運動相關的函數,實現數控系統插補、前瞻、補償、伺服算法、聯動功能等各種控制功能。

      PcommSenrer Pm2“bEary是PMAC為在Windows系統下開發人機界面提供的動態鏈接庫。它是基于COM組件的形式提供的,用戶通過安裝PMAC Executive pr02 suite軟件包,在系統盤里可找到pcommserver.exe、pcomm32w.dll、pcomlIl32w.1ib等文件,但并沒有提供庫的頭文件,因此不能用一般的顯式隱式來調用。那么要在QT中調用庫函數,就必須知道QT如何調用COM接口,下面說明其調用方法。

      QT提供的QAxContainer模塊,該模塊允許使用COM對象,以及在QT應用程序中嵌入ActiveX控件。它提供了2個類:QAxwidget(Qwidget的子類,作為ActiveX控件的容器)和QAxObject(QWidget的子類,易于訪問非可視化COM對象)。本次開發中采用生成命名空間的方式來調用cOM對象的APIs。具體操作流程如下:

      (1)通過VC++6.0中的Tools工具條中的OLE/COM object viewer選項,查找類型庫,可查得pcom—mserver.exe的類型庫ID{50ECCF67-B73C-431B-A53D-9EDDAF3CE611}

      (2)叫提供了一個名為d啪pcpp的工具可以為想要訪問的類型庫生成一個c++名空間,將dumpcpp工具所在的bin目錄添加到系統路徑中。

      (3)運行命令提示符,在用戶名后輸人命令:dumpcpp-n PCOMMSERVERKb{50ECCF67-B73C-431B-A53D-9EDDAF3CE611}。運行后,會自動生成兩個文件:ponmmserverHb.cpp和ponmmserverlib.h。

      (4)在QT應用程序的.pm中添加“CONnG+=qaxcontainer”,并添加上述導出的頭文件和源文件。通過包含頭文件“#include ponmmserverlib.h”和在程序開頭使用“using namespace PCOMMSERVERLib;”語句,并定義“PCOMMSERVERLib:PmacDevice*Pmac”對象指針,利用Pmac即可調用運動庫函數。

      2.2 數控軟件主界面設計

      利用QT優越的圖形界面設計功能,實現人機接口界面如圖2所示,界面實現:坐標、速度、狀態、程序的顯示,三維圖形的顯示和模擬仿真,自動加工信息處理,文件的管理,零件尺寸、系統、伺服、砂輪等參數設置,MDI,G代碼編譯,錯誤診斷等功能。整個界面秉承了設計友好,操作簡單,交互性好的原則。

      2.3 各功能模塊的設計和開發

      數控軟件作為整個數控系統的核心組成部分,功能眾多。為了使數控系統易于維護,具有可重構性、可擴展性,采用模塊化設計方法。

      (1)系統的初始化

      建立injtial()函數實現控制器的初始化,首先調用SelectDevice(int hWiIldow,im&pdwDe、rice,bool&pbsuccess)函數選擇設備號,調用后會彈出設備選擇對話框,選擇PMAC 00,點擊OK按鈕。然后,調用open(int&pdwDevice,b001&pbSuccess)函數打開運動控制器,若PC未連接卡或通訊出現異常則報錯,另外系統關閉時需調用close(int&p“Device)關閉控制卡。

      (2)系統設置及處理下載系統的配置文件,如I、M、P、Q變量配置,G代碼的解釋程序,監控的PLC程序以及其它的特殊的參數設置。

      (3)NC文件的讀取、編譯、下載

      對系統進行設置完成后,打開并讀取加工文件,然后對其進行編譯,編譯成功后下載至運動控制器,下載文件到控制器時使用:D響rIlload(int dwDevice,constQString&fileP訕,bool bMacro,b00l bM印,bool bkg,b001 bDmd,bool&pbSuccess)函數,該函數在使用時需要注意參數:①filepatll指的是絕對路徑,相對路徑無法識別。②bDIlld代表是否下載,所以需要置為tme,否則,不能成功執行。③執行多個DowIlload命令需要中間調用Sleep()函數。

      另外,PMAC雖然支持G、M、D、T代碼,但是需要按照要求的格式來預先對各種代碼進行解釋,PMAC在執行上述代碼時會自動轉去調用相應的子程序(即解釋程序),例如:執行G01會自動調用PROGl000的N1000行,執行M03會自動調用豫OGl001的N3000行,其它類似。

      (4)自動加工、手動運行、回零等功能的實現下載編譯完加工程序文本,通過調用GetResponse(0,”&1BlR”,pAnswer)使程序自動連續運行,同樣的對于單步運行、暫停亦可通過該函數發送命令“S”、“H"。GetResponse(int dwDevice,const QString&question,QString&pAnswer)相當于萬能函數,它能直接向控制器發送指令,而pmac自帶類似Basic的語言,兩者結合使用。手動功能的實現通過發送手動命令“#nJ+”或“#nJ-”(n為電機號),回零發送回零指令“#nHM”,該函數執行成功則字符串pAnswer為空,否則會報錯。若要發送控制符指令,則利用GetcontmlRe—sponse(int dwDeVice,int number,QString&pAnswer)函數,number代表控制符的ASCII碼的十進制值。在編寫軟件時,利用GetRespo璐e函數直接發送指令,同在PMAC自帶的PEWIN32軟件終端窗口操作類似,通過變量、命令和程序三者相互配合,完成運動控制、過程控制和主機通信等任務。

      (5)坐標、速度、狀態的實時顯示開設一個監控線程類MoIlitorThread,實時獲取系統的狀態反饋并顯示。在一個statusGeⅡtems()函數內調用GetResponse()函數獲取位置、速度、行號等程序信息,并將獲取的信息傳遞給對應的全局變量。線程啟動時就調用stamsGetItems(),設定多長時間獲取一次數據,獲取完一次則發送信號,激發updatedata()槽,使得顯示在編輯框中的信息隨之更新。

      (6)基于OpenGL的三維模擬仿真Qt提供的QOpenGL模塊,輕松地實現了在應用程序中使用openGL功能,建立基于OpenGL交互控制的虛擬數控機床加工仿真系統,實現G代碼的三維模擬仿真,使系統具有良好的實時性、交互性以及三維圖形顯示能力。

      (7)工藝參數、系統參數、坐標系設置參數的有效管理

      建立基于Micros硪Omce Access(微軟數據庫管理系統)的數據庫表格,通過QT提供的Qtsql模塊以及QODBc驅動來實現對數據庫文件的訪問和操作。要執行數據庫的各種操作,必須首先建立數據庫模型QSqlDatab鵲e的一個對象,擁有一個QSqlDatabase對象代表著擁有一個數據庫的連接,在一個已經打開的QSqlDatabase對象上,就可以執行各種數據庫操作。創建一個QSqlDatabase對象的方法是使用QSqlDatabase類的靜態函數addDatab鵲e,而打開這個數據庫連接,則需要先設置數據庫的DSN(Data S0urce Name),DSN的設置是通過成員函數setDatabaseName完成的。在QODBc中,DSN選用”DRIVER={Microsoft Access Driver(術.mdb)};FIL={Ms Access};DBQ=Xxx.mdb”字符串的形式提供。部分代碼如下:

      QSqlDatabase db=QSqlDatabase::addDatabase(”QODBC”);  ∥建立一個數據庫連接并指定驅動  QString fliePatll=”..\CNCnew\Test.mdb”;∥指定數據庫相對路徑  QString dsn:QString(”DRIVER={Microsoft Ac—  cess Driver(宰.mdb)};”  ”FIL={MS Access};DBQ=%1”).argfniePatll);∥設置dsn  db.setDateName(dsn);∥設置數據庫名字  db.open();∥打開連接

      完成連接后即可用QsqlTableModel類來訪問數據表,用record(),values()函數獲取相應記錄的字段值。  (8)V溝槽的參數化編程

      最后,將生成的G代碼用正確的格式顯示到文本框,并以PMAC能下載的格式保存在.pmc類型的文件里。

    3 軟件測試

      連接好設備,在PC上運行軟件,打開參數設置頁,設置好系統、坐標系等參數,將要加工的V槽的關鍵參數輸入到工件參數設置頁,點擊相應的功能按鈕自動獲取NC代碼,同時,可以對代碼進行保存、編輯、修改、刪除等操作,選擇代碼文件,點擊編譯按鈕,實現NC代碼的自動編譯,編譯通過,方可運行。運行程序之前,根據成功編譯的代碼來進行三維模擬加工仿真,頁面可以實現仿真速度的設置,以及單步、多步測試。整個過程操作非常簡單,根據按鈕選擇相應的功能。程序運行正常,控制精準。

    4 結束語

      采取QT+PMAC的模式,初步設計和開發出了V溝槽加工數控系統軟件。軟件實現了界面友好,操作易行的人機交互功能,并集成數控系統各個模塊,完成了從初始化、參數設置、加工文件處理、運行、顯示及錯誤警告處理到三維模擬仿真的各種功能,整個程序采取模塊化設計,可擴展性強,易于維護。


    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 亚洲国产精品99久久久久久久久 | 日韩成人小视频 | 国产三级精品在线 | 免费看黄色小视频 | 亚洲免费在线 | 国产亚洲激情 | 自拍视频网站 | 成人国产精品视频 | 久久精品国产久精国产 | 亚洲精品乱码久久久久久花季 | 久久久久久国产一级毛片高清版 | 17c一起操 | 本道综合精品 | 日韩成人在线视频 | 欧美一级在线 | 欧洲亚洲精品久久久久 | 国产一区二区久久 | 成人日日夜夜 | 鲁一鲁综合 | 91色在线| 日本在线免费观看视频 | 黄色二区 | 色婷婷久久 | 阿v视频在线| 午夜成人免费电影 | 久久99视频精品 | 成人在线手机版视频 | 成人黄色在线 | 久久久久久久久国产精品 | 午夜精品福利网 | 黄色综合| 国产精品一区二区无线 | 日韩大片在线观看 | 日日夜夜综合 | 日本99精品| 免费黄色在线 | 黄色毛片在线看 | 国产亚洲在线 | www.色.com| 色综合久久88色综合天天6 | 欧美wwwsss9999|