无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
開放式激光振鏡運動控制器在Ubuntu+Qt下自定義圖形標刻
深圳市正運動技術有限公司
收藏本文     查看收藏

001.gif

前面課程我們講述了如何通過Ubuntu+Qt進行振鏡校正(詳情點擊→開放式激光振鏡運動控制器在Ubuntu+Qt下的激光振鏡校正),本節自定義圖形標刻是在振鏡校正的前提下實現的。在正式學習之前,我們先了解一下正運動技術的ZMC408SCAN-V22運動控制器,ZMC408SCAN-V22支持在Linux環境進行開發使用。



 

01 ZMC408SCAN-V22硬件介紹

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

1.png

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

2.png

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

3.png

02 Ubuntu+Qt進行自定義圖形標刻項目的開發

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

4.png

2.導入廠家提供的相關函數庫及頭文件。

(1) 將zmotion.h和zmcaux.h、zmcaux.cpp以及libzmotion.so庫復制到新建的項目文件夾中。

5.png

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

6.png

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

7.png

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

8.png

03 自定義圖形標刻流程以及相關函數介紹

1.自定義圖形標刻流程圖

9.png

2.相關函數介紹

(1)連接控制器


10.png

(2)通用命令執行接口


11.png

(3)三次文件初始化


12.png

(4)生成空移字符串


13.png

(5)生成開光字符串


14.png

(6)生成關光字符串


15.png

(7)生成標刻點字符串


16.png

(8)下載三次文件


17.png

(9)設置輸出口狀態


18.png

(10)設置模擬量輸出


19.png

(11)設置pwm占空比


20.png

(12)設置pwm頻率


21.png

04 自定義圖形標刻的實現例程

自定義圖形標刻例程主要是通過選擇簡單圖形來生成標刻的三次文件,控制器運行三次文件標刻對應的圖形,例程中的三次文件主要通過字符串追加的形式生成,在將所有圖形的繪制過程生成三次文件后下載到控制器即可。

1.建立控制器連接,設置相關的振鏡和工藝參數,可以通過設置模擬量口和pwm以及激光器使能信號,可以打開或者關閉激光。

void MainWindow::on_ip_open_clicked()
{
    char * tmp_buff = new char[16];
    QString str = ui->ip_Address->text();
    QByteArray ba = str.toLatin1();
    tmp_buff = ba.data();
    if(0 != g_handle)
    {
        ZAux_Close(g_handle);
    }
    int32 iresult= ZMC_FastOpen(ZMC_CONNECTION_ETH,tmp_buff,1000,&g_handle);
    if( 0 != iresult)
    {
        QMessageBox::warning(this,"提示","連接失敗");
        return;
    }
    ZAux_Direct_SetDA(g_handle,markPara.PowerDA,markPara.Power);   //設置模擬量
    ZAux_Direct_SetPwmDuty(g_handle,markPara.PwmIo,0.5);   //設置占空比
    ZAux_Direct_SetPwmFreq(g_handle,markPara.PwmIo,markPara.PwmFreq);   //設置頻率
    ZAux_Direct_SetOp(g_handle,io_value.emit_io,0);   //關閉激光輸出口
    ZAux_Direct_SetOp(g_handle,io_value.enable_io,0);  //關閉激光器使能
}

2.生成初始化的三次文件字符串

可以將標刻過程中初始化的部分寫到相關的函數里面,包括設置初始化的激光器參數、標刻起點、延時參數等,方便在標刻自定義圖形的過程中直接使用。三次文件字符串本質是將basic指令進行拼接處理,將所有指令拼接完成后,可以直接寫入控制器中執行。

void MainWindow::LaserScan_z3p_Init()
{
    strFile3.clear();
    strFile3 += QString("BASE(%1,%2)\n").arg(4).arg(5); //設置軸號
    strFile3 += "ATYPE = 21,21\n"; //設置軸類型
    strFile3 += "UNITS = 100,100\n"; //設置脈沖當量
    strFile3 += "AXIS_ZSET = 3,3\n"; // 開啟精準輸出
    strFile3 += "MERGE = 1,1\n"; //開啟連續插補
    strFile3 += QString("OP(%1,ON)\n").arg(io_value.enable_io);
    strFile3+=QString("MOVE_AOUT(%1,%2)\n").arg(markPara.PowerDA).arg(static_cast(markPara.Power * 255 / 100));           
    strFile3+=QString("MOVE_PWM(%1,0.5,%2)\n").arg(markPara.PwmIo).arg(markPara.PwmFreq);
    strFile3 +=QString("DECEL_ANGLE= %1,%2\n").arg(15.0/180.0*M_PI).arg(15.0/180.0*M_PI);
    strFile3 += QString("STOP_ANGLE = %1,%2\n").arg(90.0/180.0*M_PI).arg(90.0/180.0*M_PI);
    strFile3 += QString("ZSMOOTH= %1,%2\n").arg(markPara.CorDelay).arg(markPara.CorDelay); //拐角延時時間
    strFile3 += QString("FORCE_SPEED = %1\n").arg(markPara.JumpSpeed); //空移速度
    strFile3 += "MOVESCANABS(0,0)\n"; //移動到 0 位
}

3.生成標刻自定義圖形的三次文件字符串

自定義圖形本質上可以分解為線段進行繪制,在進行激光標刻時也是采用線段的形式,在生成自定義圖形時,只需要控制每一條線段的起始點和結束點位置,同時在起始點和結束點的位置控制延時參數,最后在完成繪制時關閉激光和使能即可。下面是部分生成三次文件字符串以及下載的代碼。

void MainWindow::on_create_File3_clicked()
{
    LaserScan_z3p_Init(strFile3);
    ListNode *ps = layers->next;
    do
    {
        Coordinate * pData = ps->data;
        if(ps->type == 1)//標刻點
        {
            LaserScan_z3p_EmptyMove(strFile3,pData->next->x,pData->next->y,markPara.JumpSpeed,markPara.JumpDelay);
            LaserScan_z3p_OpenLight(strFile3,io_value.emit_io,markPara.OpenDelay,markPara.MarkSpeed);
            LaserScan_z3p_MarkPoint(strFile3,pData->next->x,pData->next->y);
            LaserScan_z3p_CloseLight(strFile3,io_value.emit_io,markPara.CloseDelay,markPara.JumpDelay);
        }
        else if(ps->type == 2)//標刻直線
        {
            LaserScan_z3p_EmptyMove(strFile3,pData->next->x,pData->next->y,markPara.JumpSpeed,markPara.JumpDelay);
            LaserScan_z3p_OpenLight(strFile3,io_value.emit_io,markPara.OpenDelay,markPara.MarkSpeed);
            LaserScan_z3p_MarkPoint(strFile3,pData->next->x2,pData->next->y2);
            LaserScan_z3p_CloseLight(strFile3,io_value.emit_io,markPara.CloseDelay,markPara.JumpDelay);
         }
        else if(ps->type == 3)//標刻圓弧
        {
            LaserScan_z3p_Arc(pData->next->x + ps->radius,pData->next->y - ps->radius,ps->radius,ps->angle,ps->radian,0,0);
        }
        else if(ps->type == 4)//標刻整圓
        {
            LaserScan_z3p_Arc(pData->next->x + ps->radius,pData->next->y - ps->radius,ps->radius,0,360,0,0);
        }
        ......        //標刻其他類型
        ps = ps->next;
    }while(ps != layers);
}

4.設置運行任務號,啟動任務進行標刻

三次文件已經下載到控制器中,這個時候可以通過ZMC_Execute函數輸入命令去運行生成的三次文件,完成圖形的標刻。下面的啟動任務,進行標刻的部分實現代碼。

void MainWindow::on_but_Mark_clicked()
{
    if( 0 == g_handle)
    {
        QMessageBox::warning(this,"提示","控制器未連接!");
        return;
    }
    QString Cmd;
    char Response[1024];
    //設置啟動任務號,執行Zmc_polyline.z3p
    ZMC_Execute(g_handle,"FILE3_RUN  \"Zmc_polyline.z3p\",7 ",500,Response,1024);
}

5.設置配置文件信息,保留配置參數

通過生成ini配置文件信息,在程序加載時讀取文件,程序關閉時將配置數據寫到ini配置文件中,以此實現保留最后一次的使用參數,方便下一次加載使用。通過使用內部函數庫QSettings實現的,下面是部分的實現代碼。

void MainWindow::saveINI()
{
    //保存配置數據信息
    QSettings *iniWrite = new QSettings("config.ini",QSettings::IniFormat);
    iniWrite->setValue("laserType",ui->laser_List->currentIndex());
    .....
    delete iniWrite;
}
void MainWindow::readINI()
{
    //讀取配置文件數據
    QSettings *iniRead = new QSettings("config.ini",QSettings::IniFormat);
    int laserType = iniRead->value("laserType").toInt();
    ui->laser_List->setCurrentIndex(laserType);
    .....
    delete iniRead;
}

05 自定義圖形標刻的實現效果

1. 打開Qt繪制的基本圖形界面,設置基本的激光器參數和運動參數。

22.png

2. 添加想要標刻的自定義圖形,設置圖形參數,選擇添加圖形,例程中添加的圖形為點、矩形、整圓、圓弧、直線,點擊生成三次文件后,查看三次文件的內容。

23.png

3. 點擊標刻即可完成已選自定義圖形的標刻。

4.分析生成的三次文件信息,下面是生成三次文件的部分內容,三次文件的開頭都是對軸參數加工參數的設置,當移動到運動起始點時,設置開光參數和延時參數,在軌跡完成時設置關光延時和關光操作。

BASE(4,5)
ATYPE = 21,21
UNITS = 100,100
AXIS_ZSET = 3,3
MERGE = 1,1
OP(47,ON)
MOVE_AOUT(3,127)
MOVE_PWM(11,0.5,4000)
DECEL_ANGLE = 0.261799,0.261799
STOP_ANGLE = 1.5708,1.5708
ZSMOOTH = 1000,1000
FORCE_SPEED = 1000
MOVESCANABS(0,0)
FORCE_SPEED = 1000
MOVESCANABS(0.00000,0.00000)
MOVE_DELAY(0.2,1)
FORCE_SPEED = 500
MOVEOP_DELAY = -0.1
MOVE_OP(44,ON)
MOVESCANABS(0.00000,0.00000)
MOVEOP_DELAY = 0
MOVE_DELAY(1)
MOVE_OP(44,OFF)
FORCE_SPEED = 1000
MOVESCANABS(-5.00000,5.00000)
MOVE_DELAY(200,1)
FORCE_SPEED = 500
MOVEOP_DELAY = -0.1
MOVE_OP(44,ON)
MOVESCANABS(5.00000,5.00000)
MOVESCANABS(5.00000,-5.00000)
MOVESCANABS(-5.00000,-5.00000)
MOVESCANABS(-5.00000,5.00000)
MOVEOP_DELAY = 0
MOVE_DELAY(1)
MOVE_OP(44,OFF)

06 激光標刻過程

激光標刻的過程,初始化、空移、開光、標刻、關光都封裝成函數接口,在進行標刻時,調用相關的函數接口即可生成對應的三次文件字符串。

24.png

完整代碼獲取地址

25.png

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

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

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

企業微信截圖_20240321153031.png

正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 深圳市正運動技術有限公司
聯 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區西鄉洲石路陽光工業園A1棟5樓
郵  編: 518100
主  頁:
 
該廠商相關技術文摘:
全國產EtherCAT運動控制邊緣控制器(二):統一的上位機API接口
全國產EtherCAT運動控制邊緣控制器(一):ZMC432H硬件接口
經濟型EtherCAT運動控制器(四):ModbusRTU或ModbusTcp與觸摸屏通訊
推薦 | 8通道PSO的高性能EtherCAT總線運動控制器
正運動技術運動控制器如何快速實現單軸/多軸同步跟隨功能?
VPLC系列機器視覺運動控制一體機快速入門(八)測量點/線/圓
VPLC系列機器視覺運動控制一體機快速入門(五)尺寸測量
經濟型EtherCAT運動控制器(三):PLC實現多軸直線插補與電子凸輪
經濟型EtherCAT運動控制器(二):ZBasic實現多軸直線插補運動
經濟型EtherCAT運動控制器(一):功能簡介與應用場景
VPLC系列機器視覺運動控制一體機快速入門(九)劃痕檢測
VPLC系列機器視覺運動控制一體機快速入門(六)標定功能
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
亚洲男人在线| 亚洲综合日韩| 日韩和的一区二在线| 99精品在线| 欧美另类中文字幕| 在线一区免费| 欧美少妇精品| 国产精品网站在线看| 免费在线观看一区二区三区| 日韩视频网站在线观看| 亚洲三级网站| 欧美美女一区| 99精品视频精品精品视频| 国产精品成人自拍| 免费日韩视频| 在线日韩中文| 国产一区二区三区国产精品| 首页国产欧美日韩丝袜| 国产在线不卡| 日韩一区二区三区免费| 久久精品五月| 国精品产品一区| 牛牛精品成人免费视频| 欧美偷窥清纯综合图区| 日韩在线成人| 日韩国产欧美在线视频| 中文字幕一区二区av| 日韩午夜免费| 亚洲欧美日韩一区在线观看| 免费av一区| 狠狠干成人综合网| 五月天综合网站| 日韩网站在线| 亚洲伊人影院| 日韩精品一区二区三区中文字幕| 亚洲欧美日本视频在线观看| 免费中文字幕日韩欧美| 四虎成人精品一区二区免费网站| 国产精品普通话对白| 国产亚洲一区在线| aa国产精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 99pao成人国产永久免费视频 | 99综合视频| 免费视频最近日韩| 综合色就爱涩涩涩综合婷婷| 蜜桃视频在线观看一区| 日韩不卡一区二区三区| 国产精品亚洲片在线播放| 老司机精品视频网| 中文另类视频| 免费精品视频| 久久精品超碰| 日韩一区三区| 丝袜美腿成人在线| 国产精品对白久久久久粗| 在线天堂中文资源最新版| 99热国内精品| 在线精品亚洲| 超碰在线99| 亚洲日产av中文字幕| 久久精品亚洲| 伊人影院久久| 国产精品mv在线观看| 亚洲天堂久久| 国产欧美自拍| 日韩一区二区免费看| 久久精品国产99| 首页国产欧美久久| 在线中文字幕播放| 婷婷久久免费视频| 久久久亚洲一区| 日韩av在线免费观看不卡| 国产精品毛片一区二区在线看| 国产综合婷婷| 国产九九精品| 中文精品视频| 国产精品99在线观看| 亚洲欧洲一区二区天堂久久| 国产九九精品| 中文在线不卡| 黄在线观看免费网站ktv| 中文字幕亚洲精品乱码| 久久久久久久久久久9不雅视频| 深夜福利一区| 国产精品99免费看| 国产一区二区三区91| 日韩欧美在线精品| 欧美.日韩.国产.一区.二区 | 欧美成人久久| 精品资源在线| 欧美亚洲tv| 三级欧美韩日大片在线看| 色偷偷偷在线视频播放| 免费不卡在线视频| 91精品电影| 日韩欧美三级| 国产成人精品一区二区三区在线| 蜜桃视频一区二区| 欧美国产91| 成人久久一区| av资源中文在线| 久久精品亚洲| 欧美国产日韩电影| 日本aⅴ精品一区二区三区| 中文精品在线| 国产精品毛片| 在线综合视频| 美女黄网久久| 热久久久久久久| 中文字幕av一区二区三区四区| 伊人影院久久| 丝袜亚洲精品中文字幕一区| 国产一区白浆| 国产亚洲毛片在线| 中文日韩在线| 综合国产精品| 欧美综合社区国产| 国产精品国产三级在线观看| 欧美日韩亚洲国产精品| 91精品日本| 国产精品mv在线观看| 久久久久九九精品影院| 成人午夜在线| 久久久五月天| 国产亚洲高清视频| 婷婷五月色综合香五月| 日本成人在线一区| 国产精品chinese| 国产精品99久久精品| 午夜精品成人av| 午夜国产欧美理论在线播放| 亚洲激情av| 日日夜夜免费精品视频| 国产精品麻豆成人av电影艾秋 | 国产亚洲久久| 精品一二三区| 热三久草你在线| 亚洲一级二级| 亚洲欧美高清| 青青草国产成人99久久| 69堂精品视频在线播放| 久久亚洲精精品中文字幕| 大香伊人久久精品一区二区| 欧美aa在线观看| 国产一区91| 国产欧美日韩精品一区二区免费 | 久久久久九九精品影院| 大香伊人久久精品一区二区| 亚洲一级少妇| 视频在线观看国产精品| 国产精品日本一区二区不卡视频 | 国产精选在线| 亚洲视频www| 久久成人福利| 欧美日韩国产探花| 欧美久久一区二区三区| 成人小电影网站| 亚洲午夜免费| 国产成人免费| 一区二区日韩免费看| 麻豆91在线播放| 欧美成人久久| 国产精品mv在线观看| 日本а中文在线天堂| 三级在线观看一区二区| 精品久久久亚洲| 久久www成人_看片免费不卡| 国产一区二区三区免费在线| 日韩精品一二三四| 亚洲成人va| 国产劲爆久久| 亚洲理论在线| 成人va天堂| 欧美激情视频一区二区三区免费| 国产精品91一区二区三区| 国产欧美自拍一区| 99成人超碰| 精品一区二区三区中文字幕| 三级在线观看一区二区| 日韩中文首页| 国产精品乱战久久久| 美女网站久久| 免费福利视频一区二区三区| 18国产精品| 日韩中文字幕区一区有砖一区 | 美女亚洲一区| 久久99免费视频| 日本一区福利在线| 在线综合欧美| 欧美日韩国产免费观看| 久久久久91| 日本国产精品| 久久免费国产| 丝袜美腿诱惑一区二区三区| 国产高潮在线| 丝袜诱惑一区二区| 亚洲伦乱视频| 色婷婷久久久| 亚洲成人不卡|