<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
        中華工控網(wǎng)首頁
          P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
          D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
          電 源 | 嵌入式系統(tǒng) | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
        開放式激光振鏡運動控制器在Ubuntu+Qt下自定義圖形標刻
        深圳市正運動技術(shù)有限公司
        收藏本文     查看收藏

        001.gif

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



         

        01 ZMC408SCAN-V22硬件介紹

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

        1.png

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

        2.png

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

        3.png

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

        1.在Qt Creator菜單選擇“文件”→“新建文件或項目...”,打開創(chuàng)建項目向?qū)А_x擇Application項目集,創(chuàng)建Qt Widgets Application項目,設(shè)置項目名稱和保存位置。

        4.png

        2.導入廠家提供的相關(guān)函數(shù)庫及頭文件。

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

        5.png

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

        6.png

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

        7.png

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

        8.png

        03 自定義圖形標刻流程以及相關(guān)函數(shù)介紹

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

        9.png

        2.相關(guān)函數(shù)介紹

        (1)連接控制器


        10.png

        (2)通用命令執(zhí)行接口


        11.png

        (3)三次文件初始化


        12.png

        (4)生成空移字符串


        13.png

        (5)生成開光字符串


        14.png

        (6)生成關(guān)光字符串


        15.png

        (7)生成標刻點字符串


        16.png

        (8)下載三次文件


        17.png

        (9)設(shè)置輸出口狀態(tài)


        18.png

        (10)設(shè)置模擬量輸出


        19.png

        (11)設(shè)置pwm占空比


        20.png

        (12)設(shè)置pwm頻率


        21.png

        04 自定義圖形標刻的實現(xiàn)例程

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

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

        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);   //設(shè)置模擬量
            ZAux_Direct_SetPwmDuty(g_handle,markPara.PwmIo,0.5);   //設(shè)置占空比
            ZAux_Direct_SetPwmFreq(g_handle,markPara.PwmIo,markPara.PwmFreq);   //設(shè)置頻率
            ZAux_Direct_SetOp(g_handle,io_value.emit_io,0);   //關(guān)閉激光輸出口
            ZAux_Direct_SetOp(g_handle,io_value.enable_io,0);  //關(guān)閉激光器使能
        }

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

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

        void MainWindow::LaserScan_z3p_Init()
        {
            strFile3.clear();
            strFile3 += QString("BASE(%1,%2)\n").arg(4).arg(5); //設(shè)置軸號
            strFile3 += "ATYPE = 21,21\n"; //設(shè)置軸類型
            strFile3 += "UNITS = 100,100\n"; //設(shè)置脈沖當量
            strFile3 += "AXIS_ZSET = 3,3\n"; // 開啟精準輸出
            strFile3 += "MERGE = 1,1\n"; //開啟連續(xù)插補
            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.生成標刻自定義圖形的三次文件字符串

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

        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.設(shè)置運行任務(wù)號,啟動任務(wù)進行標刻

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

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

        5.設(shè)置配置文件信息,保留配置參數(shù)

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

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

        05 自定義圖形標刻的實現(xiàn)效果

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

        22.png

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

        23.png

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

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

        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 激光標刻過程

        激光標刻的過程,初始化、空移、開光、標刻、關(guān)光都封裝成函數(shù)接口,在進行標刻時,調(diào)用相關(guān)的函數(shù)接口即可生成對應(yīng)的三次文件字符串。

        24.png

        完整代碼獲取地址

        25.png

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

        更多精彩內(nèi)容請關(guān)注“正運動小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運動技術(shù)銷售工程師:400-089-8936。

        本文由正運動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學習,一起提高中國智能制造水平。文章版權(quán)歸正運動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。

        企業(yè)微信截圖_20240321153031.png

        正運動技術(shù)專注于運動控制技術(shù)研究和通用運動控制軟硬件產(chǎn)品的研發(fā),是國家級高新技術(shù)企業(yè)。正運動技術(shù)匯集了來自華為、中興等公司的優(yōu)秀人才,在堅持自主創(chuàng)新的同時,積極聯(lián)合各大高校協(xié)同運動控制基礎(chǔ)技術(shù)的研究,是國內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國內(nèi)少有、完整掌握運動控制核心技術(shù)和實時工控軟件平臺技術(shù)的企業(yè)。


         

        狀 態(tài): 離線

        公司簡介
        產(chǎn)品目錄

        公司名稱: 深圳市正運動技術(shù)有限公司
        聯(lián) 系 人: 戴德弟
        電  話: 0755-32976042
        傳  真: 0755-2606 6955
        地  址: 深圳市寶安區(qū)西鄉(xiāng)洲石路陽光工業(yè)園A1棟5樓
        郵  編: 518100
        主  頁:
         
        該廠商相關(guān)技術(shù)文摘:
        強實時運動控制內(nèi)核MotionRT750(十):運動控制中的微調(diào)軌跡動態(tài)補償
        機器視覺運動控制一體機在大功率共模電感多面AI外觀缺陷檢測應(yīng)用
        MotionRT750 SoftMotion:XPCIE1032H超高速運動控制卡在AOI檢測設(shè)備上的應(yīng)用
        強實時運動控制內(nèi)核MotionRT750(九):內(nèi)置C語言的自定義機械手模型實現(xiàn)
        NEPCON ASIA 2025:解鎖行業(yè)新機遇,我們在深圳等您
        開放式激光振鏡運動控制器在旋轉(zhuǎn)飛行打標中的應(yīng)用
        強實時運動控制內(nèi)核MotionRT750(八):us級高速交互之LabVIEW,為智能裝備提速
        液態(tài)點膠密封解決方案,柔性升級,密封更可靠!
        柔性機械手視覺供料解決方案,提升無序分揀效率!
        【2025上海工博會】正運動展位智造未來(二)
        【2025上海工博會】正運動展位智造未來(一)
        【2025上海工博會】機器視覺運動控制一體機應(yīng)用預覽(三)
        更多文摘...
        立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
        用戶名: 密碼: 免費注冊為中華工控網(wǎng)會員
        請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)

        關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報
        工控網(wǎng)客服熱線:0755-86369299
        版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved

        主站蜘蛛池模板: yw尤物av无码国产在线观看| 精品人妻一区二区三区蜜臀| 一二三四免费中文字幕| 思思99思思久久最新精品| 蜜臀在线播放一区在线播放| 亚洲欧美激情在线一区| 午夜免费福利小电影| 四虎永久在线高清免费看| 日日摸日日踫夜夜爽无码| 久久国产色av免费看| 久久亚洲精品ab无码播放| 亚洲精品91中文字幕| 91精品国产综合久蜜臀| 爱啪啪av导航| 韩国精品一区二区三区| 无码人妻人妻经典| 久久精品一本到99热免费| 一本一本久久久久a久久综合激情| 国产熟女肥臀精品国产馆乱| 久久久无码精品国产一区| 秋霞电影网| gogogo在线播放中国| 国产丝袜丝视频在线观看| 亚洲国产精品日韩在线| 亚洲国产精品久久青草无码| 国内极度色诱视频网站| 在线精品免费视频无码的| 国产一区二区丰满熟女人妻| 精品少妇爆乳无码aⅴ区| 72种姿势欧美久久久久大黄蕉| 亚洲av永久无码一区二区三区| 亚洲欧美不卡高清在线| 国产玩具酱一区二区三区| 成人无码区免费视频网站| 四虎精品视频永久免费| 欧美日本激情| 亚洲 一区二区 在线| 一区二区三区国产在线网站视频| 天天综合色一区二区三区| 久久99日韩国产精品久久99| 妺妺窝人体色www看美女|