亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 開放式激光振鏡運動控制器在Ubuntu+Qt下CAD圖形標刻

開放式激光振鏡運動控制器在Ubuntu+Qt下CAD圖形標刻

時間:2024-09-18 13:33:05來源:深圳市正運動技術有限公司

導語:?在正式學習之前,我們先了解一下正運動ZMC408SCAN-V22運動控制器,ZMC408SCAN-V22控制器支持在Linux環境下進行開發使用。

  前面課程我們講述了如何通過Ubuntu+Qt進行振鏡校正(詳情點擊→開放式激光振鏡運動控制器在Ubuntu+Qt下的激光振鏡校正),本節CAD圖形標刻是在振鏡校正的前提下實現的。

  在正式學習之前,我們先了解一下正運動ZMC408SCAN-V22運動控制器,ZMC408SCAN-V22控制器支持在Linux環境下進行開發使用。

  01ZMC408SCAN-V22硬件介紹

  ZMC408SCAN-V22是正運動技術推出的高性能雙振鏡運動控制器,集成了2個百兆以太網口,支持EtherCAT、EtherNET、CAN、RS232、RS485、24路通用數字輸入、20路通用數字輸出、2路通用模擬量輸出、2路通用模擬量輸入、4個本地差分脈沖軸接口、1個MPG手輪編碼器接口、2個帶反饋振鏡接口、1個LASER激光專用接口、1個FIBER激光器接口。開放式系統框圖如下所示:

運動控制

  ZMC408SCAN-V22總線控制器支持EtherCAT總線連接,支持最快500μs的刷新周期,支持最多達16軸運動控制,支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設置等;采用優化的網絡通訊協議可以實現實時的運動控制。

運動控制

  ZMC408SCAN-V22通過CAN、EtherCAT總線可以連接各個擴展模塊,從而擴展數字量、模擬量或運動軸。可以在Windows,Linux,Mac,Android,Wince各種操作系統下開發,提供vc,c#,vb.net,labview等各種環境的dll庫。上位機軟件編程參考《ZMotion PC函數庫編程手冊》。

運動控制

  02Ubuntu+Qt進行CAD圖形標刻項目的開發

  1.在Qt Creator菜單選擇“文件”→“新建文件或項目...”,打開創建項目向導。選擇Application項目集,創建Qt Widgets Application項目,設置項目名稱和保存位置。

運動控制

  2.導入廠家提供的相關函數庫及頭文件。(1)將zmotion.h和zmcaux.h、zmcaux.cpp、ZmotionCad3.h以及libzmotion.so和libZmotionCAD3.so庫復制到新建的項目文件夾中。

運動控制

  (2)在Qt Creator選擇新建的Qt項目右擊選擇“添加庫...”→“外部庫”點擊下一步,將剛才復制到項目文件夾上的libzmotion.so和libZmotionCAD3.so庫文件導入到項目中。

運動控制

  (3)在Qt Creator下右擊新建的Qt項目,選擇“添加現有文件...”,將之前復制到項目文件下的頭文件zmotion.h和ZScancorrect.h以及zmcaux.cpp和zmcaux.h添加到項目中。

運動控制

  (4)函數庫添加成功后,打開pro文件可以看到相關的函數庫和頭文件信息。此時已經將例程需要用到的函數庫和頭文件都加入到項目中了,接下來開始實現例程。

運動控制

  03CAD圖形標刻流程以及相關函數介紹

  1.CAD圖形標刻流程圖

運動控制

  2.相關函數介紹(1)連接控制器。

  (2)導入CAD圖形。

運動控制

  (3)取消CAD圖形導入,釋放整個圖層鏈表。

運動控制

  (4)獲取CAD圖形的范圍。

運動控制

  (5)CAD圖形解析后的鏈表結構,CAD庫通過雙向循環鏈表來存放具體的圖形數據以及解析后的坐標數據。

運動控制

  typedef struct Struct_ZCad_VectGroup{ int m_itemtype; //類型 struct Struct_ZCad_VectGroup *m_prev; struct Struct_ZCad_VectGroup *m_pnext; int m_GroupNum; //組號 uint32 m_ColorPen; //顏色 DWORD Struct_ZCad_Vect *m_pVect; //曲線列表 }Struct_ZCad_VectGroup;

  (6)下載三次文件。

運動控制

  (7)通用命令執行接口。

運動控制

  (8)獲取輸出口的狀態。

運動控制

  04CAD圖形標刻的實現例程

  CAD圖形標刻例程主要是使用CAD庫對CAD圖形進行解析,將圖形數據解析為鏈表結構,通過對鏈表的遍歷,獲取圖形的坐標數據,將所有坐標點數據生成三次文件字符串,下載到控制器中,即可實現CAD圖形的標刻。

  1.導入CAD圖形。

  ·

  void MainWindow::on_import_2_clicked(){ data_Load(); //獲取界面的設置參數 strFile3.clear(); LaserScan_z3p_Init(); //三次文件字符串初始化 QString qstr = ui->file_route->text(); //獲取CAD圖形的路徑和文件名 QByteArray byteArray = qstr.toUtf8(); const char* cstr = byteArray.constData(); m_pGraph = ZMotionCad3_ImportVectGraph(cstr,1016,0,0.001,0); // 導入圖形生成軌跡 update(); //更新界面圖形}

  2.遍歷鏈表,生成三次文件字符串,首先獲取CAD圖形 數據,開始遍歷鏈表,通過內部實現的空移、開光、標刻、關光函數接口生成三次文件字符串。以下是部分實現代碼。

  ·

  if (m_pGraph !=NULL){ Struct_ZCad_VectGroup *ps = m_pGraph; do { Struct_ZCad_Vect * pVect = ps->m_pVect; do { Struct_ZCad_Seg * pSeg = pVect->m_pLine; //空移到起點 LaserScan_z3p_EmptyMove(strFile3,pSeg->x1,pSeg->y1,markPara.JumpSpeed,markPara.JumpDelay); //開光 LaserScan_z3p_OpenLight(strFile3,io_value.emit_io,markPara.OpenDelay,markPara.MarkSpeed); int i = 0; do { if(!pSeg->m_Param1) { // 運動 strFile3 += QString("MOVESCANABS(%1,%2)\n").arg(pSeg->x2).arg(pSeg->y2); } i++; pSeg = pSeg->m_pnext; }while(pSeg != pVect->m_pLine); //關光 LaserScan_z3p_CloseLight(strFile3,io_value.emit_io,markPara.CloseDelay,markPara.JumpDelay); pVect = pVect->m_pnext; }while(pVect != ps->m_pVect); ps = ps->m_pnext; }while(ps != m_pGraph);}

  3.取消圖形導入,清空圖形鏈表,調用接口函數,清空鏈表,同時更新界面即可。

  ·

  void MainWindow::on_cancel_clicked(){ ZMotionCad3_DeleteChain((Struct_ZCad_Item *)m_pGraph); m_pGraph = NULL; update();}

  4.將三次文件字符串下載到控制器中。

  ·

  void MainWindow::on_create_File3_clicked(){ ZMC_DownMem3File(g_handle,strFile3.toLatin1().data(),strFile3.length(),"Zmc_CAD.z3p"); QString filePath = "Zmc_CAD.z3p"; QFile file(filePath); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream stream(&file); stream << strFile3; file.close(); qDebug() << "File saved successfully:" << filePath; } else { qDebug() << "Failed to open file for writing:" << filePath; }}

  5.使用在線命令執行三次文件,標刻CAD圖形。

  ·

  void MainWindow::on_but_Mark_clicked(){ if( 0 == g_handle) { QMessageBox::warning(this,"提示","控制器未連接!"); return; } char Response[1024]; ZMC_Execute(g_handle,"FILE3_RUN \"Zmc_CAD.z3p\",7 ",500,Response,1024);}

  05、CAD圖形標刻的實現效果

  1.連接控制器,設置激光器以及工藝參數。

運動控制

  2.選擇CAD圖形導入,繪制圖形。

運動控制

  3.生成三次文件,標刻CAD圖形。

運動控制

  4.使用示波器抓取標刻的CAD圖形。

運動控制

完整代碼獲取地址

運動控制

  本次,正運動技術開放式激光振鏡運動控制器在Ubuntu+Qt下CAD圖形標刻,就分享到這里。

  更多精彩內容請關注“正運動小助手”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。

  本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。

標簽: 正運動運動控制

點贊

分享到:

上一篇:智能制造是做什么的_智能制造...

下一篇:太陽能板給鋰電池充電?

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 邹城市| 桦甸市| 西昌市| 哈巴河县| 东乡族自治县| 中超| 太和县| 江川县| 土默特右旗| 策勒县| 松江区| 汉沽区| 汉川市| 麻栗坡县| 阿巴嘎旗| 土默特左旗| 仙游县| 西昌市| 临漳县| 娱乐| 沭阳县| 嫩江县| 丘北县| 札达县| 上栗县| 安康市| 凤城市| 南江县| 东阳市| 荆门市| 曲沃县| 五华县| 日喀则市| 锡林郭勒盟| 布拖县| 凯里市| 萨嘎县| 奎屯市| 三河市| 彰化市| 红河县|