美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產品分類

當前位置: 首頁 > 傳感測量產品 > 數據采集產品 > 運動控制卡

類型分類:
科普知識
數據分類:
運動控制卡

EtherCAT運動控制卡IO動作與運動控制的同步

發布日期:2022-10-09 點擊率:100

  • 關鍵詞:正運動技術,EtherCAT,運動控制卡


  • 摘要:今天,正運動小助手給大家分享一下EtherCAT運動控制卡之ECI2828如何使用C#實現IO動作與運動控制的同步。


今天,正運動小助手給大家分享一下EtherCAT運動控制卡之ECI2828如何使用C#實現IO動作與運動控制的同步。


一ECI2828運動控制卡硬件介紹


ECI2828系列運動控制卡支持多達 16 軸直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸和機械手指令等;采用優化的網絡通訊協議可以實現實時的運動控制。


ECI2828系列運動運動控制卡支持以太網,232 通訊接口和電腦相連,接收電腦的指令運行,可以通過EtherCAT總線和CAN總線去連接各個擴展模塊,從而擴展輸入輸出點數或運動軸。


image.png


ECI2828系列運動控制卡的應用程序可以使用 VC,VB,VS,C++,C#等軟件來開發,程序運行時需要動態庫 zmotion.dll。調試時可以把ZDevelop軟件同時連接到控制器,從而方便調試、方便觀察。


image.png

ECI2828系列典型連接配置圖


二C#語言進行運動控制開發


(一)新建WinForm項目并添加函數庫


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


image.png


2.選擇開發語言為“Visual C#”和.NET framework 4以及Windows 窗體應用程序。


image.png


3.找到廠家提供的光盤資料里面的C#函數庫,路徑如下(64位庫為例):

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


image.png


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


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


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


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


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


image.png


4.將廠商提供的C#的庫文件以及相關文件復制到新建的項目中。


A.將zmcaux.cs文件復制到新建的項目里面中。


image.png


B.將zaux.dll和zmotion.dll文件放入bindebug文件夾中。


image.png


5.用vs打開新建的項目文件,在右邊的解決方案資源管理器中點擊顯示所有,然后鼠標右鍵點擊zmcaux.cs文件,點擊包括在項目中。 


image.png


6.雙擊Form1.cs里面的Form1,出現代碼編輯界面,在文件開頭寫入 using cszmcaux,并聲明控制器句柄g_handle。


image.png


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


(二)查看PC函數手冊


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


image.png


B.PC編程,一般如果網口對控制器和工控機進行鏈接。網口鏈接函數接口是ZAux_OpenEth();如果鏈接成功,該接口會返回一個鏈接句柄。通過操作這個鏈接句柄可以實現對控制器的控制。


ZAux_OpenEth()接口說明:


image.png


C.多軸插補運動接口ZAux_Direct_MoveAbs介紹:


image.png


D.運動控制卡IO監控相關接口介紹:


image.png

image.png


E.IO操作與運動控制同步相關接口介紹:


image.png


(三)C#開發實現IO動作與運動控制的同步


1.例程界面如下。


image.png


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


//鏈接控制器

private void link_Click(object sender, EventArgs e)

{

    zmcaux.ZAux_OpenEth(IP_List.Text, out g_handle);

    if (g_handle != (IntPtr)0)

    {

        timer1.Enabled = true;

        //設置鏈接狀態按鈕

        status.BackColor = System.Drawing.Color.Green;

        status.Text = "已鏈接";

    }

    else

    {

        MessageBox.Show("控制器鏈接失敗,請檢測IP地址!", "警告");

        //設置鏈接狀態按鈕

        status.BackColor = System.Drawing.Color.Red;

        status.Text = "已斷開";

    }

}


3.通過定時器監控控制器的IO狀態和軸零的位置信息。


//定時器1

private void timer1_Tick(object sender, EventArgs e)

{

    float DPOS_0 = 0,DPOS_1 = 0;

    //IN0狀態監控

    zmcaux.ZAux_Direct_GetIn(g_handle, 0, ref IN_Status[0]);

    if (IN_Status[0] == 1)

    {

        IN0.BackColor = System.Drawing.Color.Green;

    }

    else

    {

        IN0.BackColor = System.Drawing.Color.Red;

    }

    //IN1狀態監控

    zmcaux.ZAux_Direct_GetIn(g_handle, 1, ref IN_Status[1]);

    if (IN_Status[1] == 1)

    {

        IN1.BackColor = System.Drawing.Color.Green;

    }

    else

    {

        IN1.BackColor = System.Drawing.Color.Red;

    }

    //IN2狀態監控

    zmcaux.ZAux_Direct_GetIn(g_handle, 2, ref IN_Status[2]);

    if (IN_Status[2] == 1)

    {

        IN2.BackColor = System.Drawing.Color.Green;

    }

    else

    {

        IN2.BackColor = System.Drawing.Color.Red;

    }

    //OUT0狀態監控

    zmcaux.ZAux_Direct_GetOp(g_handle, 0, ref OUT_Status[0]);

    if (OUT_Status[0] == 1)

    {

        OUT0.BackColor = System.Drawing.Color.Green;

    }

    else

    {

        OUT0.BackColor = System.Drawing.Color.Red;

    }

    //OUT1狀態監控

    zmcaux.ZAux_Direct_GetOp(g_handle, 1, ref OUT_Status[1]);

    if (OUT_Status[1] == 1)

    {

        OUT1.BackColor = System.Drawing.Color.Green;

    }

    else

    {

        OUT1.BackColor = System.Drawing.Color.Red;

    }

    //OUT2狀態監控

    zmcaux.ZAux_Direct_GetOp(g_handle, 2, ref OUT_Status[2]);

    if (OUT_Status[2] == 1)

    {

        OUT2.BackColor = System.Drawing.Color.Green;

    }

    else

    {

        OUT2.BackColor = System.Drawing.Color.Red;

    }

    zmcaux.ZAux_Direct_GetDpos(g_handle, 0, ref DPOS_0);

    zmcaux.ZAux_Direct_GetDpos(g_handle, 1, ref DPOS_1);

    AXIS0_DPOS.Text = "軸0位置:" + DPOS_0+" 軸1位置:" + DPOS_1;

}

4.通過PWM的生效按鈕的事件處理函數來打開和設置輸出口的PWM功能。


//pwm0設置

private void SET0_Click(object sender, EventArgs e)

{

    PWM_Duty[0] = (float)Convert.ToDouble(PWM0_Duty.Text) / 100;

    PWM_Freq[0] = (float)Convert.ToDouble(PWM0_freq.Text);

    zmcaux.ZAux_Direct_SetPwmDuty(g_handle, 0, PWM_Duty[0]);

    zmcaux.ZAux_Direct_SetPwmFreq(g_handle, 0, PWM_Freq[0]);

}

//pwm1設置

private void SET1_Click(object sender, EventArgs e)

{

    PWM_Duty[1] = (float)Convert.ToDouble(PWM1_duty.Text) / 100;

    PWM_Freq[1] = (float)Convert.ToDouble(PWM1_freq.Text);

    zmcaux.ZAux_Direct_SetPwmDuty(g_handle, 1, PWM_Duty[1]);

    zmcaux.ZAux_Direct_SetPwmFreq(g_handle, 1, PWM_Freq[1]);

}

//pwm2設置

private void SET2_Click(object sender, EventArgs e)

{

    PWM_Duty[2] = (float)Convert.ToDouble(PWM2_duty.Text) / 100;

    PWM_Freq[2] = (float)Convert.ToDouble(PWM2_freq.Text);

    zmcaux.ZAux_Direct_SetPwmDuty(g_handle, 2, PWM_Duty[2]);

    zmcaux.ZAux_Direct_SetPwmFreq(g_handle, 2, PWM_Freq[2]);

}

5.通過測試按鈕啟動測試函數,進行IO動作與運動控制的同步功能的測試。


//測試按鈕

private void TestBotton_Click(object sender, EventArgs e)

{

    int[] AxisList = new int[2];

    float[] DisList = new float[2];

    AxisList[0] = 0;

    AxisList[1] = 1;

    //軸坐標清零

    zmcaux.ZAux_Direct_SetDpos(g_handle, 0, 0);

    zmcaux.ZAux_Direct_SetDpos(g_handle, 1, 0);


    //設置軸參數(插補運動設置主軸參數即可)

    zmcaux.ZAux_Direct_SetSpeed(g_handle, 0, 100);  //速度

    zmcaux.ZAux_Direct_SetAccel(g_handle, 0, 2000); //加速度

    zmcaux.ZAux_Direct_SetDecel(g_handle, 0, 2000); //減速度

    zmcaux.ZAux_Direct_SetSramp(g_handle, 0, 50);   //S曲線時間

    zmcaux.ZAux_Direct_SetMerge(g_handle, 0, 1);    //打開連續插補

    //設置運動前瞻參數

    //1、拐角減速

    int mode = 0;

    mode = mode + 2;

    zmcaux.ZAux_Direct_SetCornerMode(g_handle, 0, mode);

    zmcaux.ZAux_Direct_SetDecelAngle(g_handle, 0, (float)(45 * Math.PI / 180));

    zmcaux.ZAux_Direct_SetStopAngle(g_handle, 0, (float)(135 * Math.PI / 180));

    zmcaux.ZAux_Direct_SetForceSpeed(g_handle, 0, 50);

    //小圓限速

    mode = mode + 8;

    zmcaux.ZAux_Direct_SetCornerMode(g_handle, 0, mode);

    zmcaux.ZAux_Direct_SetFullSpRadius(g_handle, 0, 55);

    zmcaux.ZAux_Direct_SetForceSpeed(g_handle, 0, 50);

    //觸發ZDevelop上的示波器采集圖像

    zmcaux.ZAux_Trigger(g_handle);

    //運行到點A,打開OUT0

    DisList[0] = 100;

    DisList[1] = 0;

    zmcaux.ZAux_Direct_MoveAbs(g_handle, 2, AxisList, DisList);

    zmcaux.ZAux_Direct_MoveOp(g_handle, 0, 0, 1);

    //按照軌跡運行到B點

    DisList[0] = 150;

    DisList[1] = 0;

    zmcaux.ZAux_Direct_MoveAbs(g_handle, 2, AxisList, DisList);

    zmcaux.ZAux_Direct_MoveCirc2Abs(g_handle, 2, AxisList, 200, 50, 150, 100);

    DisList[0] = 100;

    DisList[1] = 100;

    zmcaux.ZAux_Direct_MoveAbs(g_handle, 2, AxisList, DisList);

    //關閉out2

    zmcaux.ZAux_Direct_MoveOp(g_handle, 0, 0, 0);

    //運行到點O

    DisList[0] = 0;

    DisList[1] = 0;

    zmcaux.ZAux_Direct_MoveAbs(g_handle, 2, AxisList, DisList);

}


(四)調試與監控


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


1.控制器狀態監控


image.png


2.IO動作和運動同步演示


模擬激光加工的相關工藝,走下圖軌跡從O點(0,0)沿X軸正方向運動到A點(100,0),在A點處打開激光。然后繼續向X軸正方向運動,運動到A’點(150,0),接著已A’點為起點畫一個半徑為50的逆時針方向的半圓,運動到B’點(150,100)。然后向X軸負方向運動,運動到B點(100,100),在B點處關閉激光,最后回到O點(0,0)。其中輸出口O的狀態模擬激光的開和關。


image.png

軌跡圖

image.png

軌跡波形圖

image.png

IO動作和運動同步圖


3.例程演示


image.png


本次,正運動技術EtherCAT運動控制卡的IO動作與運動控制的同步,就分享到這里。

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


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


下一篇: PLC、DCS、FCS三大控

上一篇: ZBasic結合Qt實現機器

推薦產品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        久久精品一区蜜桃臀影院| 乱一区二区av| 日韩电影在线免费| 国产白丝精品91爽爽久久| 久久精品日产第一区二区三区精品版| 色偷偷久久人人79超碰人人澡| 欧美精品一区二区三区在线播放| 亚洲国产精品一区二区久久恐怖片 | 精品播放一区二区| 亚洲v中文字幕| 国产精品v欧美精品v日韩精品| 欧美亚洲动漫制服丝袜| 亚洲欧美一区二区三区国产精品| 国产一区二区看久久| 性刺激综合网| 国产精品久久久久久久久免费樱桃 | 亚洲一区二区在| 国产性做久久久久久| 国内不卡的二区三区中文字幕| 欧美亚洲另类在线一区二区三区| 久久久不卡网国产精品二区| 国产一区啦啦啦在线观看| 日韩av一级大片| 国产欧美日韩不卡| 成人免费福利片| 欧美日韩激情在线| 午夜久久久影院| 麻豆成人小视频| 欧美激情在线观看视频免费| 国产成人av一区二区三区在线 | 亚洲国产精品成人综合色在线婷婷 | 欧美大片日本大片免费观看| 美女网站在线免费欧美精品| 欧美日韩在线一二三| 亚洲国产高清在线| 成人高清视频在线| 91精品国产美女浴室洗澡无遮挡| 免费不卡在线视频| 中文字幕一区综合| 亚洲一卡二卡三卡四卡| 久久综合精品一区| 国产精品国产三级国产aⅴ入口| 北岛玲一区二区三区四区| 7777精品伊人久久久大香线蕉的 | 日本aⅴ免费视频一区二区三区| 美日韩精品免费| 国产精品视频线看| 国产精品我不卡| 国产精品欧美一区喷水| 粉嫩av免费一区二区三区| 久久理论电影网| 9久草视频在线视频精品| 欧美喷水一区二区| 黄网站免费久久| 69堂国产成人免费视频| 国产成人免费9x9x人网站视频| 欧美日韩一区二区在线视频| 蜜桃91丨九色丨蝌蚪91桃色| 色婷婷国产精品| 另类中文字幕网| 欧美精品色综合| 国产激情视频一区二区在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品国产馆在线真实露脸| 福利视频一区二区三区| 国产日产亚洲精品系列| 国产精品日韩一区二区| 中文字幕一区二区三区av| 蜜桃成人免费视频| 亚洲国产你懂的| 日本精品视频一区二区| 美女一区二区三区| 日韩欧美一二区| 国产精品久久九九| 亚洲精品国产精品乱码不99| 亚洲精品二区| 国产精品资源网| 国产女同互慰高潮91漫画| 欧美少妇一区| 久久国产精品免费| 精品国产一区二区国模嫣然| 国产精品久久国产精品| 亚洲影院理伦片| 精品污污网站免费看| 成人午夜碰碰视频| 国产精品欧美经典| 亚洲精品在线免费| 国产精品一区三区| 国产精品午夜电影| 亚洲欧美日韩精品久久久| 国产精品一卡二卡在线观看| 国产亚洲一区二区三区| 色播亚洲视频在线观看| 麻豆91免费观看| 国产亚洲欧美日韩日本| 欧美精品尤物在线| 国内欧美视频一区二区| 久久人人97超碰com| 日本不卡在线观看| 国产一本一道久久香蕉| 国产人成亚洲第一网站在线播放| 五月天丁香综合久久国产| 国产精品综合在线视频| 亚洲欧洲另类国产综合| 精品视频在线免费看| 动漫一区二区在线| 日韩精品久久理论片| 亚洲精品在线网站| 五月天亚洲综合情| 不卡视频在线看| 洋洋av久久久久久久一区| 7777女厕盗摄久久久| 精品一区二区日本| 久久电影网站中文字幕| 国产精品网站在线播放| 欧美体内she精高潮| 国产主播一区二区三区四区| 国产一区二区三区黄视频 | 国产成人综合网站| 亚洲柠檬福利资源导航| 337p亚洲精品色噜噜狠狠| 好看的日韩精品视频在线| 国内成人精品2018免费看| 亚洲欧洲精品天堂一级 | 国产精品欧美一级免费| 欧美猛男gaygay网站| 日本精品二区| 5566av亚洲| 极品少妇一区二区| 亚洲自拍偷拍图区| 国产精品日韩精品欧美在线| 日韩一区二区中文字幕| 色综合色综合色综合色综合色综合 | 亚洲bt欧美bt精品777| 国产人妖乱国产精品人妖| 欧美日韩精品一区二区三区蜜桃| 另类视频在线观看+1080p| 高潮精品一区videoshd| 免费黄网站欧美| 亚洲欧美区自拍先锋| 国产午夜久久久久| 日韩一区二区免费视频| 色综合咪咪久久| 欧美午夜精品久久久久久蜜| 91免费看`日韩一区二区| 精品一区二区在线观看| 亚洲一区二区在线播放相泽| 中文字幕av在线一区二区三区| 制服丝袜激情欧洲亚洲| 色综合天天综合| 日韩中文字幕一区二区| 狠狠色伊人亚洲综合网站色| 成人免费电影视频| 国产激情视频一区二区在线观看 | 亚洲国产一区二区精品视频| 99porn视频在线| 不卡在线观看av| 国产91精品免费| 国产精选一区二区三区| 狠狠色丁香九九婷婷综合五月| 午夜私人影院久久久久| 一区二区三区四区不卡在线| 中文字幕一区二区三区视频| 中文字幕av一区二区三区免费看| 精品福利在线导航| 日韩一区二区在线观看视频| 欧美精品三级在线观看| 欧美日韩电影一区| 欧美日韩你懂得| 欧美日韩国产一区二区三区地区| 色呦呦国产精品| 综合视频免费看| 色又黄又爽网站www久久| 亚洲精品中字| 宅男噜噜99国产精品观看免费| 午夜精品亚洲一区二区三区嫩草| 婷婷四月色综合| 亚洲一区高清| 色一区在线观看| 欧洲av在线精品| 精品视频一区 二区 三区| 欧美日韩免费观看一区二区三区| 欧美色图12p| 7777女厕盗摄久久久| 日韩三级高清在线| 精品99999| 日本一区二区三区dvd视频在线| 久久精品男人天堂av| 国产精品免费看片| 伊人性伊人情综合网| 五月天国产精品| 国产一区二区毛片| 99久久精品国产毛片| 成人免费看片网址| 日韩女优中文字幕| 欧洲精品中文字幕| 欧美一级电影网站| 欧美国产一区二区| 亚洲久草在线视频| 日韩va亚洲va欧美va久久|