<nobr id="zkazv"></nobr>

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

      001.gif

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



       

      01 ZMC408SCAN-V22硬件介紹

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

      1.png

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

      2.png

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

      3.png

      02 Ubuntu+Qt進(jìn)行自定義圖形標(biāo)刻項(xiàng)目的開發(fā)

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

      4.png

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

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

      5.png

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

      6.png

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

      7.png

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

      8.png

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

      1.自定義圖形標(biāo)刻流程圖

      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)生成標(biāo)刻點(diǎn)字符串


      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 自定義圖形標(biāo)刻的實(shí)現(xiàn)例程

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

      1.建立控制器連接,設(shè)置相關(guān)的振鏡和工藝參數(shù),可以通過設(shè)置模擬量口和pwm以及激光器使能信號(hào),可以打開或者關(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.生成初始化的三次文件字符串

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

      void MainWindow::LaserScan_z3p_Init()
      {
          strFile3.clear();
          strFile3 += QString("BASE(%1,%2)\n").arg(4).arg(5); //設(shè)置軸號(hào)
          strFile3 += "ATYPE = 21,21\n"; //設(shè)置軸類型
          strFile3 += "UNITS = 100,100\n"; //設(shè)置脈沖當(dāng)量
          strFile3 += "AXIS_ZSET = 3,3\n"; // 開啟精準(zhǔn)輸出
          strFile3 += "MERGE = 1,1\n"; //開啟連續(xù)插補(bǔ)
          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); //拐角延時(shí)時(shí)間
          strFile3 += QString("FORCE_SPEED = %1\n").arg(markPara.JumpSpeed); //空移速度
          strFile3 += "MOVESCANABS(0,0)\n"; //移動(dòng)到 0 位
      }

      3.生成標(biāo)刻自定義圖形的三次文件字符串

      自定義圖形本質(zhì)上可以分解為線段進(jìn)行繪制,在進(jìn)行激光標(biāo)刻時(shí)也是采用線段的形式,在生成自定義圖形時(shí),只需要控制每一條線段的起始點(diǎn)和結(jié)束點(diǎn)位置,同時(shí)在起始點(diǎn)和結(jié)束點(diǎn)的位置控制延時(shí)參數(shù),最后在完成繪制時(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)//標(biāo)刻點(diǎn)
              {
                  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)//標(biāo)刻直線
              {
                  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)//標(biāo)刻圓弧
              {
                  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)//標(biāo)刻整圓
              {
                  LaserScan_z3p_Arc(pData->next->x + ps->radius,pData->next->y - ps->radius,ps->radius,0,360,0,0);
              }
              ......        //標(biāo)刻其他類型
              ps = ps->next;
          }while(ps != layers);
      }

      4.設(shè)置運(yùn)行任務(wù)號(hào),啟動(dòng)任務(wù)進(jìn)行標(biāo)刻

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

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

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

      通過生成ini配置文件信息,在程序加載時(shí)讀取文件,程序關(guān)閉時(shí)將配置數(shù)據(jù)寫到ini配置文件中,以此實(shí)現(xiàn)保留最后一次的使用參數(shù),方便下一次加載使用。通過使用內(nèi)部函數(shù)庫(kù)QSettings實(shí)現(xiàn)的,下面是部分的實(shí)現(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 自定義圖形標(biāo)刻的實(shí)現(xiàn)效果

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

      22.png

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

      23.png

      3. 點(diǎn)擊標(biāo)刻即可完成已選自定義圖形的標(biāo)刻。

      4.分析生成的三次文件信息,下面是生成三次文件的部分內(nèi)容,三次文件的開頭都是對(duì)軸參數(shù)加工參數(shù)的設(shè)置,當(dāng)移動(dòng)到運(yùn)動(dòng)起始點(diǎn)時(shí),設(shè)置開光參數(shù)和延時(shí)參數(shù),在軌跡完成時(shí)設(shè)置關(guān)光延時(shí)和關(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 激光標(biāo)刻過程

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

      24.png

      完整代碼獲取地址

      25.png

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

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

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

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

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


       

      狀 態(tài): 離線

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

      公司名稱: 深圳市正運(yùn)動(dòng)技術(shù)有限公司
      聯(lián) 系 人: 戴德弟
      電  話: 0755-32976042
      傳  真: 0755-2606 6955
      地  址: 深圳市寶安區(qū)西鄉(xiāng)洲石路陽(yáng)光工業(yè)園A1棟5樓
      郵  編: 518100
      主  頁(yè):
       
      該廠商相關(guān)技術(shù)文摘:
      強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(七):us級(jí)高速交互之Qt,為智能裝備提速
      【2025上海工博會(huì)】高速高精運(yùn)動(dòng)控制卡應(yīng)用預(yù)覽(一)
      強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互之C++,為智能裝備提速
      解鎖光未來!9月 CIOE 2025,正運(yùn)動(dòng)邀您相聚深圳,共赴光電盛宴!
      機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)在線路板跟隨灌膠上的應(yīng)用
      強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(五):EtherCAT總線冗余讓生產(chǎn)制造更可靠
      深圳·EelE智博會(huì):智控賦能,驅(qū)動(dòng)未來制造
      機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)在喇叭跟隨點(diǎn)膠上的應(yīng)用
      強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(四):高速貼裝應(yīng)用中的拱形運(yùn)動(dòng)
      聚焦深圳國(guó)際電子展 | 正運(yùn)動(dòng)攜熱門產(chǎn)品和方案!等您來體驗(yàn)!
      超高速EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡在高速半導(dǎo)體固晶機(jī)上的應(yīng)用
      強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(三):us級(jí)高速交互之C#,為智能裝備提速
      更多文摘...
      立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
      用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
      請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

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

      主站蜘蛛池模板: 日本一区二区三区在线 |观看| 老熟妇乱子交视频一区| 开心一区二区三区激情| 奇米777四色成人影视| 亚洲国产欧美在线人成AAAA| 天天爽天天摸天天碰| 成人午夜大片免费看爽爽爽| 亚洲国产成人资源在线| 日韩精品国产二区三区| 国产精品国产三级国产专| 九九热精品在线免费视频| 在线播放亚洲成人av| 人妻少妇精品系列一区二区| 99久久精品国产一区二区| 亚洲精品国产一二三区| 午夜亚洲AV日韩AV无码大全| 亚洲v欧美v日韩v国产v| 亚洲中文字幕久久精品码| 精品999日本久久久影院| 精品国产一区二区三区香| 亚洲综合伊人五月天中文| 国产亚洲精品AA片在线播放天 | 国产一区二区四区不卡| 无码人妻久久一区二区三区app| 国产一区一一区高清不卡| 中文字幕乱码一区二区免费| 99久久无色码中文字幕| 国产成人精品亚洲午夜| 国产精品人伦一区二区三| 成人午夜激情在线观看| 国产AV无码专区亚洲AV紧身裤| 成av人电影在线观看| 蜜臀av一区二区三区不卡| 艳妇乳肉豪妇荡乳在线观看| AV免费播放一区二区三区| 亚洲国产欧美在线观看片| 精品人妻av综合一区二区| 国产乱子伦视频在线播放| 欧美视频网站www色| 久久综合色一综合色88欧美| 亚洲综合网国产精品一区|