在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

伺服與運動控制 ? 來源:正運動技術 ? 2023-10-16 09:49 ? 次閱讀

今天,正運動小助手給大家分享一下全國產EtherCAT運動控制邊緣控制器ZMC432H的軸參數配置和單軸運動控制。

01

功能簡介

全國產EtherCAT運動控制邊緣控制器ZMC432H是正運動的一款軟硬件全國產自主可控,運動控制接口兼容EtherCAT總線和脈沖型的獨立式運動控制器,最多支持32軸運動控制,同時支持正運動遠程HMI功能,能提供網絡組態顯示,可實時監控和調整參數配置。

c016444a-6a68-11ee-939d-92fbcf53809c.png

ZMC432H具備豐富的硬件接口和控制功能模塊,能實現高效穩定的運動控制和實時數據采集,以滿足工業控制協同工業互聯網的應用需求。

ZMC432H內置了Linux系統,可以使用本地的LOCAL接口進行連接,可以做到更快速的指令交互,單條指令與多條指令一次性交互時間為40us左右。

02

C++進行運動控制開發

1.新建MFC項目并添加函數庫

(1)在VS2022菜單“文件”→“新建”→ “項目”,啟動創建項目向導。

c0229e52-6a68-11ee-939d-92fbcf53809c.png

(2)選擇開發語言為“Visual C++”和程序類型“MFC應用程序”。

c02eb566-6a68-11ee-939d-92fbcf53809c.png

(3)點擊下一步即可。

c04638b2-6a68-11ee-939d-92fbcf53809c.png

(4)選擇類型為“基于對話框”,下一步或者完成。

c0529292-6a68-11ee-939d-92fbcf53809c.png

(5)找到廠家提供的光盤資料,路徑如下(64位庫為例)。

A.進入廠商提供的光盤資料找到“8.PC函數”文件夾,并點擊進入。

c05ba15c-6a68-11ee-939d-92fbcf53809c.png

B.選擇“函數庫2.1.1”文件夾。

c0699e92-6a68-11ee-939d-92fbcf53809c.png

C.選擇“Windows平臺”文件夾。

c06f6728-6a68-11ee-939d-92fbcf53809c.png

D.根據需要選擇對應的函數庫這里選擇64位庫。

c078734a-6a68-11ee-939d-92fbcf53809c.png

E.解壓C++的壓縮包,里面有C++對應的函數庫。

c081a122-6a68-11ee-939d-92fbcf53809c.png

F.函數庫具體路徑如下。

c0872660-6a68-11ee-939d-92fbcf53809c.png

(6)將廠商提供的C++的庫文件和相關頭文件復制到新建的項目里面。

c09b2318-6a68-11ee-939d-92fbcf53809c.png

(7)在項目中添加靜態庫和相關頭文件。

A.先右擊項目文件,接著依次選擇:“添加”→“現有項”。

c0ab4482-6a68-11ee-939d-92fbcf53809c.png

B.在彈出的窗口中依次添加靜態庫和相關頭文件。

(8)聲明用到的頭文件和定義控制器連接句柄。

c0bbe684-6a68-11ee-939d-92fbcf53809c.png

至此項目新建完成,可進行MFC項目開發。

2.查看PC函數手冊,熟悉相關函數接口

(1)PC函數手冊也在光盤資料里面,具體路徑如下:“光盤資料3.編程手冊Motion函數庫編程手冊 V2.1.1Motion函數庫編程手冊 V2.1.1.pdf”。

c0cca712-6a68-11ee-939d-92fbcf53809c.png

(2)鏈接控制器,獲取鏈接句柄。

指令 說明
ZAux_OpenCom 串口連接控制器
ZAux_OpenEth 以太網連接控制器
ZAux_OpenPci PCI 卡連接
ZAux_FastOpen 與控制器建立連接,指定連接的等待時間.

(3)軸參數配置相關接口。

指令 說明
ZAux_Direct_SetAtype 設置軸類型
ZAux_Direct_SetUnits 設置軸脈沖當量
ZAux_Direct_SetInvertStep 設置脈沖輸出模式
ZAux_Direct_SetSpeed 設置軸速度
ZAux_Direct_SetAccel 設置軸加速度
ZAux_Direct_SetDecel 設置軸減速度
ZAux_Direct_SetSramp 設置軸S曲線
ZAux_Direct_GetAtype 讀取軸類型
ZAux_Direct_GetUnits 讀取軸脈沖當量
ZAux_Direct_GetInvertStep 讀取脈沖輸出模式
ZAux_Direct_GetSpeed 讀取軸速度
ZAux_Direct_GetAccel 讀取軸加速度
ZAux_Direct_GetDecel 讀取軸減速度
ZAux_Direct_GetSramp 讀取軸S曲線設置

(4)單軸運動接口。

指令 說明
ZAux_Direct_Single_Vmove 單軸連續運動。
ZAux_Direct_Single_Move 單軸相對距離運動。
ZAux_Direct_Single_MoveAbs 單軸絕對距離運動。
ZAux_Direct_Single_Cancel 單軸停止。

(5)軸狀態監控。

指令113 ZAux_Direct_GetAxisStatus
指令原型 int32 __stdcall ZAux_Direct_GetAxisStatus(ZMC_HANDLE handle, int iaxis, int *piValue)
指令說明 讀取當前軸的狀態。
輸入參數 共有2個輸入參數,見下方說明。
handle 鏈接標識。
iaxis 軸號。
輸出參數 共有1個輸出參數,見下方說明。
piValue 返回狀態值,對應的位表示不同狀態。
c0d95624-6a68-11ee-939d-92fbcf53809c.png
返回值 見錯誤碼詳細說明。

3.MFC進行軸參數配置和單軸運動控制

(1)例程界面如下。

c0e22aa6-6a68-11ee-939d-92fbcf53809c.png

(2)鏈接按鈕的事件處理函數中調用鏈接控制器的接口函數ZAux_OpenEth,與控制器進行鏈接,鏈接成功后啟動定時器1監控控制器狀態。

//網口鏈接控制器
void CSingle_move_Dlg::OnOpen()          //網口鏈接控制器
{
    char   buffer[256]; 
int32iresult;
    if(NULL != g_handle)
    {
        ZAux_Close(g_handle);
        g_handle = NULL;
}
    GetDlgItemText(IDC_IPLIST,buffer,255);
    buffer[255] = '?';
    iresult = ZAux_OpenEth(buffer, &g_handle);
    if(ERR_SUCCESS != iresult)
    {
        g_handle = NULL;
        MessageBox(_T("鏈接失敗"));
        SetWindowText("未鏈接");
        return;
    }
    SetWindowText("已鏈接");
    SetTimer( 1, 100, NULL );  
}

(3)通過定時器1對控制器信息進行監控。

void CSingle_move_Dlg::OnTimer(UINT_PTR nIDEvent)
{
    if(NULL == g_handle)
    {
        MessageBox(_T("鏈接斷開"));
        return ;
    }
    if(1 == nIDEvent)
    {
    CString string;
        float position = 0;
        ZAux_Direct_GetDpos( g_handle,m_nAxis,&position);          //獲取當前軸位置
        string.Format("當前位置:%.2f", position );
        GetDlgItem( IDC_CURPOS )->SetWindowText( string );
        float NowSp = 0;
        ZAux_Direct_GetVpSpeed( g_handle,m_nAxis,&NowSp);          //獲取當前軸速度
        string.Format("當前速度:%.2f", NowSp );
        GetDlgItem( IDC_CURSPEED)->SetWindowText( string );
        int status = 0; 
        ZAux_Direct_GetIfIdle(g_handle, m_nAxis,&status);           //判斷當前軸狀態
        if (status == -1)
{
    GetDlgItem( IDC_CURSTATE )->SetWindowText("當前狀態:停止");
        }
        else
{
    GetDlgItem( IDC_CURSTATE )->SetWindowText("當前狀態:運動中");
        }
    }
    CDialog::OnTimer(nIDEvent);
}
(4)通過設置按鈕的事件處理函數對控制器的軸參數進行配置。

void CSingle_move_Dlg::OnBnClickedSetpara()
{
    UpdateData(true);//刷新參數
    //m_nAxis表示當前程序選定的軸,x為軸0,以此類推
    //設置脈沖當量  1表示以一個脈沖為單位 ,設置為1MM的脈沖個數,這度量單位為MM
    ZAux_Direct_SetUnits(g_handle, m_nAxis, m_units);
    //設定速度,加減速
    ZAux_Direct_SetLspeed(g_handle, m_nAxis, m_lspeed);
    ZAux_Direct_SetSpeed(g_handle, m_nAxis, m_speed);
    ZAux_Direct_SetAccel(g_handle, m_nAxis, m_acc);
    ZAux_Direct_SetDecel(g_handle, m_nAxis, m_dec);
    //設定S曲線時間 設置為0表示梯形加減速 
    ZAux_Direct_SetSramp(g_handle, m_nAxis, m_sramp);
}

(5)通過啟動按鈕的事件處理函數來進行單軸運動。

void CSingle_move_Dlg::OnStart()        //啟動運動
{
    if(NULL == g_handle)
    {
        MessageBox(_T("鏈接斷開狀態"));
        return ;
    }
UpdateData(true);//刷新參數
    int status = 0; 
    ZAux_Direct_GetIfIdle(g_handle, m_nAxis,&status);           //判斷當前軸狀態
    if (status == 0) //已經在運動中
        return; 
    //設定軸類型 1-脈沖軸類型   
    ZAux_Direct_SetAtype(g_handle, m_nAxis, 1);
    //設定脈沖模式及邏輯方向(脈沖+方向)  
    ZAux_Direct_SetInvertStep(g_handle, m_nAxis, 0);
    if( m_mode == 0 )
    {//寸動(位置模式)
        ZAux_Direct_Single_Vmove(g_handle, m_nAxis, m_bLogic?1:0);  
    }
    else
    {
        //持續驅動(速度模式)
        ZAux_Direct_Single_Move(g_handle, m_nAxis, m_step*(m_bLogic?1:-1));
    }
    UpdateData(false);  
}

(6)通過停止按鈕的事件處理函數來停止軸的運動。

void CSingle_move_Dlg::OnStop()          //停止運動
{
    if(NULL == g_handle)
    {
        MessageBox(_T("鏈接斷開狀態"));
        return ;
    }
    ZAux_Direct_Single_Cancel(g_handle,m_nAxis,2);        //  
}

03

調試與監控

編譯運行例程,同時通過ZDevelop軟件連接控制器對控制器狀態進行監控。

1.RtSys軟件連接控制器監控控制器的基本參數

c0e754ae-6a68-11ee-939d-92fbcf53809c.png

2.通過RtSys軟件的示波器功能對軸運動的波形進行抓取。

(1)軸0寸動運動模式,加速度=100,S曲線時間=0。

c0ed77da-6a68-11ee-939d-92fbcf53809c.png

(2)軸1寸動運動模式,加速度=100,S曲線時間=250。

c0f73f5e-6a68-11ee-939d-92fbcf53809c.png

(3)軸2寸動運動模式,加速度=1000,S曲線時間=0。

c1002be6-6a68-11ee-939d-92fbcf53809c.png

(4)軸2寸動運動模式,加速度=1000,S曲線時間=500。

c1094960-6a68-11ee-939d-92fbcf53809c.png







審核編輯:劉清

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

    關注

    114

    文章

    16995

    瀏覽量

    183135
  • 運動控制
    +關注

    關注

    4

    文章

    640

    瀏覽量

    33399
  • C++語言
    +關注

    關注

    0

    文章

    147

    瀏覽量

    7236
  • ethercat
    +關注

    關注

    19

    文章

    1028

    瀏覽量

    39670
  • EtherCAT總線
    +關注

    關注

    5

    文章

    80

    瀏覽量

    5664

原文標題:全國產EtherCAT運動控制邊緣控制器(四):軸參數配置與單軸運動PC上位機C++控制

文章出處:【微信號:伺服與運動控制,微信公眾號:伺服與運動控制】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    【資料】正運動ZMC408SCAN控制器用戶手冊

    ZMC408SCAN 激光振鏡運動控制器是正運動技術推出的高性能總線雙振鏡運動控制器,專為工業激
    發表于 05-10 15:06

    【正運動】全國產EtherCAT運動控制器 | ZMC432H

    管理 運動操作界面直接調試伺服、步進 虛擬控制器仿真,脫機開發 支持C#/C++...... 動態鏈接函數庫接口,彈性擴展
    發表于 06-01 09:39

    運動激光振鏡運動控制器ZMC408SCAN用戶手冊

    ZMC408SCAN 激光振鏡運動控制器是正運動技術推出的高性能總線雙振鏡運動控制器,專為工業激
    發表于 04-11 14:22 ?3次下載

    運動ZMC432運動控制器用戶手冊

    ZMC 是正運動技術推出的網絡運動控制器型號簡稱。 ZMC4 系列支持正運動 XPLC 的功能
    發表于 04-13 09:10 ?1次下載

    脈沖+總線運動控制器ZMC432H用戶手冊

    ZMC432H 支持正運動 XPLC 的功能,可以通過網絡來做組態顯示。ZMC432H 高性能多運動
    發表于 05-31 17:07 ?0次下載

    全國產EtherCAT運動控制邊緣控制器-ZMC432H

    ZMC432H,硬件核心器件全國產,軟件核心算法自主自研自主可控。
    的頭像 發表于 07-25 09:58 ?914次閱讀
    全國產<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'>控制器</b>-<b class='flag-5'>ZMC432H</b>

    全國產EtherCAT運動控制邊緣控制器-ZMC432H

    全國產EtherCAT運動控制邊緣控制器ZMC432H是正
    的頭像 發表于 07-29 09:15 ?1014次閱讀
    全國產<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'>控制器</b>-<b class='flag-5'>ZMC432H</b>

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

    運動技術EtherCAT運動控制邊緣控制器ZMC432H
    的頭像 發表于 08-03 09:18 ?1276次閱讀
    全國產<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'>控制器</b>(一):<b class='flag-5'>ZMC432H</b>硬件接口

    EtherCAT運動控制邊緣控制器功能簡介和自定義API封裝例程

    上節課程我們介紹了全國產EtherCAT運動控制邊緣控制器ZMC432H的硬件接口與功能,本節課
    的頭像 發表于 08-28 15:08 ?1886次閱讀
    <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'>控制器</b>功能簡介和自定義API封裝例程

    全國產EtherCAT運動控制邊緣控制器(四):參數配置運動PC上位機C++控制

    全國產EtherCAT運動控制邊緣控制器參數設置
    的頭像 發表于 09-27 15:42 ?1046次閱讀
    全國產<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'>控制器</b>(四):<b class='flag-5'>軸</b><b class='flag-5'>參數</b><b class='flag-5'>配置</b>與<b class='flag-5'>單</b><b class='flag-5'>軸</b><b class='flag-5'>運動</b>PC上位機C++<b class='flag-5'>控制</b>

    全國產EtherCAT運動控制邊緣控制器(五):IO配置與回零運動的Python+Qt開發

    全國產EtherCAT運動控制邊緣控制器ZMC432H是正
    的頭像 發表于 10-22 10:51 ?1310次閱讀
    全國產<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'>控制器</b>(五):IO<b class='flag-5'>配置</b>與回零<b class='flag-5'>運動</b>的Python+Qt開發

    全國產EtherCAT運動控制邊緣控制器(六):RtBasic文件下載與連續軌跡加工的Python+Qt開發

    今天,正運動小助手給大家分享一下全國產EtherCAT運動控制邊緣控制器
    的頭像 發表于 11-02 16:45 ?836次閱讀
    全國產<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'>控制器</b>(六):RtBasic文件下載與連續軌跡加工的Python+Qt開發

    全國產EtherCAT運動控制邊緣控制器ZMC432H如何使用Python+QT實現連續軌跡加工

    ZMC432H是正運動的一款軟硬件全國產自主可控,運動控制接口兼容EtherCAT總線和脈沖型的獨立式
    的頭像 發表于 11-06 16:03 ?1212次閱讀
    全國產<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'>控制器</b><b class='flag-5'>ZMC432H</b>如何使用Python+QT實現連續軌跡加工

    高性能EtherCAT總線運動控制器ZMC408CE硬件介紹

    ZMC408CE是正運動推出的一款多高性能EtherCAT總線運動控制器,具有
    發表于 04-28 12:40 ?1162次閱讀
    多<b class='flag-5'>軸</b>高性能<b class='flag-5'>EtherCAT</b>總線<b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>ZMC</b>408CE硬件介紹

    簡單易用緊湊型總線運動控制器ZMC432M

    簡單易用的32總線運動控制器ZMC432M!助您輕松學握運動控制
    的頭像 發表于 01-21 11:04 ?230次閱讀
    簡單易用緊湊型總線<b class='flag-5'>運動</b><b class='flag-5'>控制器</b>:<b class='flag-5'>ZMC432</b>M
    主站蜘蛛池模板: 夜夜操操操 | 色婷婷亚洲精品综合影院 | 新版天堂中文在线8官网 | 日本在线播放一区 | 一区二区在线免费观看 | 亚洲国产精品综合久久久 | 国产三级毛片视频 | 天堂在线国产 | 黄色网址在线免费观看 | 另类五月| 婷婷深爱网 | 亚洲国产女人aaa毛片在线 | 日韩一级欧美一级在线观看 | 手机毛片 | 日本在线视频一区 | 激情www| 亚洲图片 欧美色图 | 轻点灬大ji巴太粗太长了爽文 | 久久在线播放 | 欧美日本一区二区三区生 | 欧美成网站 | 欧美一区二区三区在线 | 男人操女人视频网站 | 国产一区二区三区在线影院 | 男人和女人做a免费视频 | 欧美一区二区三区在线观看 | 国产欧美久久久精品影院 | 欧美三级色图 | 色爱综合区五月小说 | 天天狠狠干 | 免费看黄色片网站 | 麦克斯奥特曼在线观看 | 天天做天天添天天谢 | 视频在线一区二区 | 午夜影视网| 99久久国产免费中文无字幕 | 全部免费特黄特色大片视频 | 国产美女久久 | 日日干干| 在线视频亚洲色图 | 狠狠综合 |