91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

步進控制的光柵尺全閉環(huán)EtherCAT運動控制器ZMC432CL-V2快速入門:二維螺距補償(下)

正運動技術(shù) ? 來源:正運動技術(shù) ? 作者:正運動技術(shù) ? 2026-03-03 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天,正運動小助手以QT(C++)為例,為大家介紹如何通過上位機編程來啟用ZMC432CL-V2的二維螺距補償功能。

更多關(guān)于ZMC432CL-V2運動控制器的詳情點擊→步進控制的光柵尺全閉環(huán)解決方案:32軸EtherCAT總線運動控制器ZMC432CL-V2查看。

01 產(chǎn)品簡介

ZMC432CL-V2高性能多軸運動控制器是一款兼容EtherCAT總線和脈沖型的獨立式運動控制器,具備高速實時反饋功能,支持脈沖全閉環(huán)控制,能夠?qū)崿F(xiàn)高精度、高響應(yīng)速度的運動控制。高精度定位,有效消除機械傳動誤差,滿足高精密加工場景應(yīng)用要求。

wKgZO2mmnzuAUVERAABPJndvDmY51.webp

ZMC432CL-V2硬件功能:

豐富的運動控制功能:支持直線、圓弧、空間圓弧、螺旋插補等。

硬件接口豐富:支持脈沖軸(帶編碼器反饋)和EtherCAT總線軸,具備24路輸入和12路輸出的通用IO,部分為高速IO,2路模擬量輸出(DA)。

EtherCAT刷新周期最快達250us,滿足高速通信需求。

支持4通道硬件比較輸出、硬件定時器、運動中精準輸出,適用于多通道視覺飛拍等場合。

支持掉電檢測、掉電存儲,多種程序加密方式,能夠有效防止系統(tǒng)故障,保護項目工程文件數(shù)據(jù),并提高系統(tǒng)的可靠性。

通過純國產(chǎn)IDE開發(fā)環(huán)境RTSys進行項目開發(fā),可實時仿真、在線跟蹤以及診斷與調(diào)試,簡便易用,支持多種高級上位機語言聯(lián)合編程進行二次開發(fā)。

ZMC432CL-V2產(chǎn)品介紹視頻請點擊→步進控制的光柵尺全閉環(huán)解決方案:32軸EtherCAT總線運動控制器ZMC432CL-V2

02 硬件接口

wKgZO2mmnzuAWsWUAABTvJvyVXI76.webp

wKgZPGmmnzyAbj0OAACrXniYJpw23.webp

03 硬件接線

1.數(shù)字量輸入口IN接線

wKgZO2mmnzyAERNSAAAnVJnOqzA74.webp

圖1 輸入口通用接線圖

wKgZPGmmnzyAPFNJAAAjwBmNTXs80.webp

圖2 輸入口單端編碼器接線圖

2.數(shù)字量輸出口接線

wKgZO2mmnzyACqIkAAA37LzAzgI88.webp

圖3 輸出口通用接線圖

wKgZPGmmnzyAXDONAABGUqbpY8g75.webp

圖4 輸出口單端脈沖軸接線圖

04 控制器開發(fā)

1.PC開發(fā)

支持以下語言進行開發(fā),我們所有的開發(fā)語言和所有控制器提供的都是同一套API接口。

wKgZO2mmnz2AWzvEAAAkWktq8aY77.webp

2.脫機開發(fā)

使用自主自研的IDE RTSys進行開發(fā),支持Basic、梯形圖開發(fā)。

wKgZPGmmnz2AA4ZrAABShA5urL438.webp

05 二維螺距補償應(yīng)用場景

wKgZO2mmnz2AI837AACWbq6vob840.webp

06 二維螺距補償指令說明

/*************************************************************
Description:  //二維螺距補償, 4系列特殊固件支持,該算法比較占CPU
Input:     //handle    句柄連接
Input:     //iaxisList   軸號列表
Input:     //iAxisNum   XY模式2個軸,XYY/XYX模式是3個軸
Input:     //iEnable    0- 關(guān)閉補償,1- XY補償 ,2- XYX補償,3- XYY補償
Input:     //StartPosX   起始補償MPOS位置X,
Input:     //StartPosY   起始補償MPOS位置Y,
Input:     //DisOneX    每個補償點間距X,
Input:     //DisOneY    每個補償點間距Y,
Input:     //maxpointX   補償區(qū)間X方向總點數(shù)
Input:     //maxpointy   補償區(qū)間Y方向總點數(shù)
Input:     //Tableindex  螺距補償表存儲的table位置,從StartPos下一個點開始存儲,脈沖數(shù)單位, 每個點存儲兩個數(shù)據(jù),表示X方向偏差值與Y方向偏差值. 先存儲第一行(X方向), 再存儲第二行.總共占用 maxpointx*maxpointy*2 個TABLE位置.
Input:     //pfDisancelist 區(qū)間補償值列表
Output:     //
Return:     //錯誤碼
*************************************************************/
int32 ZAux_Direct_Pitch2set(ZMC_HANDLE handle,int * iaxisList,int iAxisNum,int iEnable,float StartPosX,float StartPosY,float DisOneX ,float DisOneY ,uint32 maxpointX,uint32 maxpointY,uint32 Tableindex,float * pfDisancelist);

正運動二維螺距補償指令使用的注意點:

1.必須先設(shè)置ATYPE,然后設(shè)置補償;修改ATYPE時,必須先關(guān)閉補償!

2.設(shè)置補償時,軸要位于IDLE的停止狀態(tài)!

3.開始補償點的坐標填寫的是軸的MPOS坐標!

4.帶編碼器反饋的軸類型,不同位置補多少個脈沖,是根據(jù)編碼器位置確定脈沖補償?shù)膫€數(shù)的,所以一定要保證編碼器的反饋是正確的!

5.機臺斷使能前,需先關(guān)掉二維螺距補償功能,否則如果斷使能的情況下機臺有移動,會造成dpos跟mpos的數(shù)據(jù)對不上。

6.如下圖假設(shè)開始補償點是坐標系的原點,補償間距分別是【DisX,DisY】補償?shù)狞c是【4*4】的話,螺距補償表存儲的點位數(shù)據(jù)就是以下【點1】到【點16】的位置下的補償數(shù)據(jù)。

wKgZPGmmnz2AZ24FAABmcoxQUJo03.webp

07 上位機編程驗證效果

假設(shè)客戶有一個激光切割機的機臺需要使用二維螺距補償指令來解決機臺在不同位置受力不同【導致】機臺形變不同【從而】導致的精度丟失問題。

步驟一:
以軸坐標【0,0】作為二維補償?shù)拈_始補償?shù)奈恢谩?/strong>

步驟二:
以軸坐標【40,40】作為第一個圓的圓心,然后以陣列的方式通過激光在板子是畫出4行4列的16個圓,陣列X軸方向間距為40mm,Y軸方向間距為40mm,16個圓的大致位置如下:

wKgZO2mmnz6ARf6kAABPYkLq7zk55.webp

步驟三:
設(shè)置二維螺距補償?shù)摹据o助參數(shù)】,并運動到【開始補償點】的位置點擊【教導編碼器】,把當前編碼器位置更新到【開始補償點】的編碼器原始值里面。

wKgZPGmmnz6Ac6DUAAD2lGMsoUQ79.webp

步驟四:
通過視覺找出這16個圓的圓心的實際坐標,并把坐標填入到Ui界面的表格里面。

wKgZO2mmnz-AVeKBAAFfYA3MnUI25.webp

步驟五:
運動到各個補償點驗證效果,具體補償效果如下:

wKgZPGmmn0CANJ-4AAHJRjcBiLg82.webpwKgZO2mmn0CAesi3AAG3gDukmiE17.webpwKgZPGmmn0GAUVBPAAG-DEMZzYw19.webp


步驟六:
上位機編程詳情。

①如何啟用二維螺距補償功能。

int TimeOut = 3000;
int TempI[AxisNum]={0,0};
int AxisList[AxisNum] = {AxisIdX,AxisIdY};
float PcTable[16*2];
//是否啟用二維螺距補償功能
if((0 == m_Enable)&&(ui->Enable->text() == "是"))
{
  //等待軸停止,軸停下來了才可以打開二維螺距補償功能
  while (TimeOut>0) {
    ZAux_Direct_GetIfIdle(handle,MyAxisInfo[0].AxisId,&TempI[0]);
    ZAux_Direct_GetIfIdle(handle,MyAxisInfo[1].AxisId,&TempI[1]);
    if((TempI[0] != 0 ) &&(TempI[1] != 0))
    {
      break;
    }
    QThread::msleep(10);
    TimeOut = TimeOut -10;
  }
  if(TimeOut ==0)
  {
    qDebug()TableData->rowCount(); row++) {
    QTableWidgetItem *xItem = ui->TableData->item(row, 1); // X列(索引1)
    QTableWidgetItem *yItem = ui->TableData->item(row, 2); // Y列(索引2)
    if (xItem && yItem) {
      // 直接讀取表格顯示的文本值
      QString xText = xItem->text(); // 如 "40.003800"
      QString yText = yItem->text(); // 如 "40.008700"
      // 轉(zhuǎn)換為浮點數(shù)
      bool xOk, yOk;
      float xValue = xText.toFloat(&xOk);
      float yValue = yText.toFloat(&yOk);
      if (xOk && yOk) {
        // 按原邏輯存儲到PcTable數(shù)組
        PcTable[i] = xValue;
        i = i + 1;
        PcTable[i] = yValue;
        i = i + 1;
      } else {
        qDebug() text().toUInt();i++) //行
 {
   for(j=0;jMaxPointX->text().toUInt();j++) //列
   {
     PcTable[2*(i*4+j)] = ((1+j)*ui->DisX->text().toFloat()+ui->StartMposX->text().toFloat()-PcTable[2*(i*4+j)])* MyAxisInfo[0].Units;
     PcTable[2*(i*4+j)+1] = ((1+i)*ui->DisY->text().toFloat()+ui->StartMposY->text().toFloat()-PcTable[2*(i*4+j)+1])* MyAxisInfo[1].Units ;
   }
 }
 //啟用二維螺距補償功能
 /*************************************************************
 Description:  //二維螺距補償, 4系列(VERSION_BUILD > 230511)特殊固件支持. 比較占CPU, 標準固件不支持.
 Input:     //handle 句柄連接
 Input:     //AxisList	 軸號列表
 Input:     //iEnable 0- 關(guān)閉補償, 1- XY補償,2- XYX補償,3- XYY補償
 Input:     //StartMposX 起始補償MPOS位置X,
  Input:     //StartMposY 起始補償MPOS位置Y,
 Input:     //DisX	每個補償點間距X,
 Input:     //DisY	每個補償點間距Y,
 Input:     //MaxPointX 補償區(qū)間總點數(shù)
 Input:     //MaxPointY 補償區(qū)間總點數(shù)
 Input:     //TableStartId  螺距補償表存儲的table位置,從startpos下一個點開始存儲,脈沖數(shù)單位, 每個點存儲兩個數(shù)據(jù),表示X方向偏差值與Y方向偏差值. 先存儲第一行(X方向), 再存儲第二行.總共占用 maxpointx*maxpointy*2 個TABLE位置.
 Input:     //PcTable 區(qū)間補償值列表
 *************************************************************/
 ZAux_Direct_Pitch2set(handle,AxisList,2,1,ui->StartMposX->text().toFloat(),ui->StartMposY->text().toFloat(),
            ui->DisX->text().toFloat() ,ui->DisY->text().toFloat(),
            ui->MaxPointX->text().toUInt(),ui->MaxPointY->text().toUInt(),
            ui->TableStartId->text().toUInt(),PcTable);  m_Enable=true;}

②定時器如何實時計算實際補償數(shù)據(jù)到UI界面。

float TempDpos[AxisNum]={0,0};
float TempActuaPul[AxisNum]={0,0};
//理論上發(fā)的脈沖數(shù)
ZAux_Direct_GetDpos(handle,MyAxisInfo[0].AxisId,&TempDpos[0]);
TempDpos[0] = (TempDpos[0] - ui->StartMposX->text().toFloat() )*(MyAxisInfo[0].Units);
ZAux_Direct_GetDpos(handle,MyAxisInfo[1].AxisId,&TempDpos[1]);
TempDpos[1] = (TempDpos[1] - ui->StartMposY->text().toFloat() )*(MyAxisInfo[1].Units);
//實際上發(fā)的脈沖數(shù)
ZAux_Direct_GetEncoder(handle,MyAxisInfo[0].AxisId,&TempActuaPul[0]);
TempActuaPul[0] = (TempActuaPul[0] - ui->StrarEncoderX->text().toFloat());
ZAux_Direct_GetEncoder(handle,MyAxisInfo[1].AxisId,&TempActuaPul[1]);
TempActuaPul[1] = (TempActuaPul[1] - ui->StrarEncoderY->text().toFloat());
//實際上發(fā)的脈沖數(shù) -理論上發(fā)的脈沖數(shù) = 實際補償?shù)拿}沖數(shù) (除以脈沖當量后表示實際補償?shù)木嚯x)
ui->CompenDataX->setText(QString("%1").arg((TempActuaPul[0]-TempDpos[0])/(MyAxisInfo[0].Units)));
ui->CompenDataY->setText(QString("%1").arg((TempActuaPul[1]-TempDpos[1])/(MyAxisInfo[1].Units)));

完整代碼獲取地址

wKgZO2mmn0GAan4sAAAyBJ5hOZg52.webp

本次,正運動技術(shù)步進控制的光柵尺全閉環(huán)EtherCAT運動控制器ZMC432CL-V2快速入門:二維螺距補償(下),就分享到這里。

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

wKgZO2mmn0GAWqGeAADemj7stp836.webp

正運動技術(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è)。主要業(yè)務(wù)有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統(tǒng)_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等等。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 運動控制器
    +關(guān)注

    關(guān)注

    2

    文章

    482

    瀏覽量

    26030
  • ethercat
    +關(guān)注

    關(guān)注

    19

    文章

    1507

    瀏覽量

    45149
  • 光柵尺
    +關(guān)注

    關(guān)注

    1

    文章

    75

    瀏覽量

    13648
  • 步進控制
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    7602
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    定位系統(tǒng)為步進電機+光柵尺閉環(huán)系統(tǒng),位置補償算法一般都采用哪些呢?

    如題,定位系統(tǒng)為步進電機+光柵尺閉環(huán)系統(tǒng),麻煩問下各位大佬位置補償算法一般都采用哪些呢?PID嗎?重復精度需要提高到10幾微米左右,求助
    發(fā)表于 01-09 08:01

    步進控制光柵尺閉環(huán)EtherCAT運動控制器ZMC432CL-V2(五):Python編程調(diào)試 #正運動

    運動控制器
    正運動技術(shù)
    發(fā)布于 :2025年07月29日 10:26:49

    光柵尺是什么_光柵尺的工作原理

    光柵尺,也稱為光柵尺位移傳感光柵尺傳感,是通過利用光柵的光學原理工作的測量反饋裝置。
    發(fā)表于 12-12 18:51 ?4.6w次閱讀
    <b class='flag-5'>光柵尺</b>是什么_<b class='flag-5'>光柵尺</b>的工作原理

    光柵尺安裝方法_光柵尺安裝注意事項(位移傳感

    光柵尺,也稱為光柵尺位移傳感光柵尺傳感),是利用光柵的光學原理工作的測量反饋裝置。
    發(fā)表于 12-12 19:01 ?3.3w次閱讀

    全國產(chǎn)EtherCAT運動控制邊緣控制器-ZMC432H

    全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H是正運動的一款軟硬件全國產(chǎn)自主可控,
    的頭像 發(fā)表于 07-29 09:15 ?1771次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>-<b class='flag-5'>ZMC432</b>H

    全國產(chǎn)EtherCAT運動控制邊緣控制器(一):ZMC432H硬件接口

    運動技術(shù)EtherCAT運動控制邊緣控制器ZMC432H接口介紹。
    的頭像 發(fā)表于 08-03 09:18 ?2147次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>(一):<b class='flag-5'>ZMC432</b>H硬件接口

    EtherCAT運動控制邊緣控制器ZMC432H的軸參數(shù)配置和單軸運動控制

    全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H是正運動的一款軟硬件全國產(chǎn)自主可控,
    的頭像 發(fā)表于 10-16 09:49 ?2246次閱讀
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b><b class='flag-5'>ZMC432</b>H的軸參數(shù)配置和單軸<b class='flag-5'>運動</b><b class='flag-5'>控制</b>

    全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H如何使用Python+QT實現(xiàn)連續(xù)軌跡加工

    今天,正運動小助手給大家分享一全國產(chǎn)EtherCAT運動控制邊緣控制器
    的頭像 發(fā)表于 11-06 16:03 ?2000次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b><b class='flag-5'>ZMC432</b>H如何使用Python+QT實現(xiàn)連續(xù)軌跡加工

    步進控制光柵尺閉環(huán)解決方案:32軸EtherCAT總線運動控制器ZMC432CL-V2

    高精度光柵尺的脈沖閉環(huán),改善步進系統(tǒng)的亞微米加工性能!
    的頭像 發(fā)表于 11-27 14:37 ?1586次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>控制</b>的<b class='flag-5'>光柵尺</b><b class='flag-5'>全</b><b class='flag-5'>閉環(huán)</b>解決方案:32軸<b class='flag-5'>EtherCAT</b>總線<b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>ZMC432CL-V2</b>

    步進光柵尺閉環(huán)EtherCAT運動控制器ZMC432CL-V2):RTSys編程調(diào)試

    通過RTSys調(diào)試ZMC432CL-V2的脈沖閉環(huán)功能
    的頭像 發(fā)表于 02-20 11:01 ?1120次閱讀
    <b class='flag-5'>步進</b>的<b class='flag-5'>光柵尺</b><b class='flag-5'>全</b><b class='flag-5'>閉環(huán)</b><b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>ZMC432CL-V2</b>(<b class='flag-5'>二</b>):RTSys編程調(diào)試

    步進光柵尺閉環(huán)EtherCAT運動控制器ZMC432CL-V2(四):LabVIEW編程調(diào)試

    通過LabVIEW調(diào)試ZMC432CL-V2的脈沖閉環(huán)功能
    的頭像 發(fā)表于 05-20 15:55 ?727次閱讀
    <b class='flag-5'>步進</b>的<b class='flag-5'>光柵尺</b><b class='flag-5'>全</b><b class='flag-5'>閉環(huán)</b><b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>ZMC432CL-V2</b>(四):LabVIEW編程調(diào)試