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

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

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
        中華工控網首頁
          P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
          D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
          電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
        PCIe EtherCAT實時運動控制卡PCIE464點膠工藝中的同步/提前/延時開關膠
        深圳市正運動技術有限公司
        收藏本文     查看收藏

        一.硬件介紹

        PCIE464運動控制卡是正運動推出的一款EtherCAT總線+脈沖型、PCIE接口式的運動控制卡,可選6-64軸運動控制,支持多路高速數字輸入輸出,可輕松實現多軸同步控制和高速數據傳輸。

        運動控制卡PCIE464.png

        PCIE464運動控制卡適合于多軸點位運動、插補運動、軌跡規劃、手輪控制、編碼器位置檢測、IO控制、位置鎖存等功能的應用。

        PCIE464運動控制卡適用于3C電子加工、檢測設備、半導體設備、SMT加工、激光加工、光通訊設備、鋰電及光伏設備、以及非標自動化設備等高速高精應用場合。

        運動控制卡PCIE464接線圖.png

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

        API.png


         

        更多關于PCIE464的詳情介紹,點擊“PCIE464 — 高速高精,超高實時性的PCIe EtherCAT實時運動控制卡”查看。

        二.接線參考

        1.IN數字量輸入接口

        數字輸入分布在J400(IN0-IN7)和X400(IN8-IN39)信號接口中。

        IN數字量輸入接口.png

        2.OUT數字量輸出接口

        數字輸出分布在J400(OUT0-7)和X400(OUT8-OUT39)信號接口中。

        OUT數字量輸出接口.png

        3.單端編碼器及單端脈沖接線

        單端脈沖接線圖.png

        單端脈沖接線圖

        差分脈沖接線圖.png

        差分脈沖接線圖

        單端編碼器接線圖.png

        單端編碼器接線圖

        差分編碼器接線圖.png

        差分編碼器接線圖

        注:PCIE464的J400接口中有一個差分脈沖軸接口和三個單端脈沖軸接口,兩個差分編碼器接口(其中一個與差分脈沖軸接口復用,取決于固件設定)和兩個單端編碼器接口,具體引腳定義參見PCIE464硬件手冊。

        三.使用運動緩沖實現同步/提前/延時開關膠

        1.運動緩沖

        ZMotion運動控制器具有多級的運動緩沖,并且遵循先進先出原則。當運動緩沖開啟的時候,程序在掃描識別到程序任務的第一條運動指令時,將運動指令分配到指定軸的運動緩沖區,電機開始運動,此時程序繼續向下掃描到第二條運動指令時,再往運動緩沖區中存,在不斷掃描存入運動指令的同時,從運動緩沖區中依次取出運動指令執行。

        運動緩沖原理參考下圖:

        ①MTYPE,NTYPE分別是當前運行的運動指令類型和MTYPE后面的第一條指令類型。

        ②任意一段程序的運動指令都可以進入任意軸的運動緩沖區,由軸號指定。

        ③每個軸的運動緩沖區都是獨立的,互不干擾。

        運動緩沖原理圖.png

        如下圖:當運動緩沖區還有空間,運動指令就會進入運動緩沖區。然后可以通過MOVE_MARK設置標識,表示下一條要調用的運動指令的MARK標號,這個標號會和運動指令一起寫入運動緩沖。等指令執行完成后,則退出運動緩沖區,之前的下一條指令變成正在運動指令,循環往復,直到緩沖區沒有指令去執行。

        運動緩沖原理圖2.png

        緩沖多條運動指令時,為了判斷當前運動執行到哪一條,提供MOVE_MARK運動標號和MOVE_CURMARK當前運動標號指令。

        MOVE_MARK運動標號每掃描一條運動指令+1。

        MOVE_CURMARK指令為當前運動的標號,提示當前運動到第幾條運動指令,所有運動完成后為-1。

        當前運動完成后會自動執行運動緩沖區內的下一條運動。運動指令全部執行完后,運動緩沖區為空,或者使用CANCEL/RAPIDSTOP指令清空運動緩沖區。

        2.使用到的運動緩沖指令以及Basic效果演示

        在點膠的應用場景中,運動控制系統需要精準調節點膠閥開閉時機與針頭運動軌跡,通過開膠延時,關膠延時,提前關膠等參數,確保膠量精準可控,滿足工藝要求。

        正運動技術提供了MOVE_OP等運動緩沖中控制輸出的指令,用來實現點膠工藝中的同步/提前/延時開關膠功能。

        (1)運動緩沖開關OP指令(MOVE_OP -- 緩沖輸出)

        運動緩沖開關OP指令.png

        MOVE_OP指令和MOVE/MOVEABS等指令一樣屬于運動指令,屬于只操作I/O的特殊運動指令,并不會阻塞后續運動指令的執行。

        MOVE_OP指令與MOVE/MOVEABS等緩沖運動指令配合時可以實現在運動過程中指定位置同步開關膠。

        Basic效果演示:

        BASE(0,1)	 '依次例如點膠XY軸
        UNITS = 1000000,1000000
        SPEED = 100,100
        ACCEL = 1000,1000
        DECEL = 1000,1000
        MPOS = 0,0DPOS = 0,0
        MERGE = 1
        OP(0,OFF)
        TRIGGER
        MOVEABS(100,100)
        '開膠點100,100
        'XY走軌跡	
        MOVE_OP(0,ON)	
        MOVE(0,70)
        MOVE(-100,0)
        MOVE(0,-70)
        MOVE(50,0)
        MOVEABS(100,100)'關膠點
        MOVE_OP(0,OFF)	
        MOVEABS(0,0)

        波形展示圖1.png

        可以看到xy插補的時候,先運動到100,100打開OP,走完一個長方形軌跡后,再到100,100的位置關閉OP。

        (2)MOVE_OP精準輸出模式

        實際點膠應用中有時精度要求比較高,用普通MOVEOP是比較指令位置(DPOS)滿足不了要求,這時候我們需要開啟MOVEOP精準模式。

        開啟精準模式后,MOVEOP執行時會在緩沖比較編碼器位置(MPOS)到達前一條運動的目標位置再輸出。

        MOVE_OP精準輸出模式.png

        能夠開啟精準模式的OP需要硬件支持,一般4系列有4個通道可以用于精準輸出,部分型號有8個,不同型號支持的通道數可以咨詢正運動廠家。

        Basic演示:

        BASE(0,1)	 '依次例如點膠XY軸
        UNITS = 1000000,1000000
        SPEED = 100,100
        ACCEL = 1000,1000
        DECEL = 1000,1000
        MPOS = 0,0
        DPOS = 0,0
        MERGE = 1
        OP(0,OFF)AXIS_ZSET = 19		'主軸設置精準輸出模式
        'XY走軌跡
        MOVEABS(100,100)
        '關膠點100,100
        MOVE_OP(0,ON)	
        MOVEABS(300,400)
        '關膠點300,400
        MOVE_OP(0,OFF)

        設置插補主軸AXIS_ZSET=19開啟MOVEOP精準模式。

        (3)使用MOVEOP_ADIST設置提前/滯后一定距離開關膠

        MOVEOP_ADIST提前關膠.png

        通過設置矢量距離來控制提前滯后開關膠,設置正數會比缺省輸出位置(MOVE_OP上一條運動指令的目標位置)提前指定矢量距離,設置負數則延后指定矢量距離。可以由AXIS_ZSET來啟動精準輸出,同MOVE_OP精準,比較反饋位置。

        Basic效果演示:

        BASE(0,1)	 '依次例如點膠XY軸
        UNITS = 1000000,1000000
        SPEED = 100,100
        ACCEL = 1000,1000
        DECEL = 1000,1000
        MPOS = 0,0
        DPOS = 0,0
        MERGE = 1
        OP(0,OFF)
        TRIGGER
        MOVEABS(100,100)
        '開膠點100,100
        'XY走軌跡
        MOVEOP_ADIST = -50	'滯后50mm打開	
        MOVE_OP(0,ON)
        MOVEOP_ADIST = 0		
        MOVE_OP(1,ON)
        MOVE(0,70)
        MOVE(-100,0)
        MOVE(0,-70)
        MOVE(50,0)
        MOVEABS(100,100)
        '關膠點
        MOVEOP_ADIST = 50	'提前50mm關閉
        MOVE_OP(0,OFF)
        MOVEOP_ADIST = 0			
        MOVE_OP(1,OFF)
        MOVEABS(0,0)

        波形展示圖2.png
        波形展示圖5.png

        設置OP1開關不做提前延后設置與OP0進行對比,可以看到OP0根據程序設置滯后50mm打開,提前50mm關閉了。

        (4)使用MOVEOP_AHEADMS設置提前開關膠時間和MOVEOP_DELAY設置延后開關膠時間

        指令.png

        注意MOVEOP_DELAY指令的效果受到軸FE的影響,若要忽略該影響,單純驗證指令功能,可以把ATYPE設置成0或者1去測試。

        Basic效果演示:

        BASE(0,1)	 '依次例如點膠XY軸
        UNITS = 1000000,1000000
        SPEED = 100,100
        ACCEL = 1000,1000
        DECEL = 1000,1000
        MPOS = 0,0
        DPOS = 0,0
        MERGE = 1
        AXIS_ZSET = 19		'主軸設置精準輸出模式
        OP(0,OFF)
        TRIGGER
        MOVEABS(100,100)
        '開膠點100,100
        'XY走軌跡
        MOVEOP_DELAY = 100	'滯后50ms打開
        MOVEOP_AHEADMS = 0
        MOVE_OP(0,ON)
        MOVEOP_DELAY = 0
        MOVEOP_AHEADMS = 0		
        MOVE_OP(1,ON)		'OP1對比
        MOVE(0,70)
        MOVE(-100,0)
        MOVE(0,-70)
        MOVE(50,0)
        MOVEABS(100,100)
        '關膠點
        MOVEOP_DELAY = 0	
        MOVEOP_AHEADMS = 100	'提前50ms打開
        MOVE_OP(0,OFF)
        MOVEOP_DELAY = 0	
        MOVEOP_AHEADMS = 0		
        MOVE_OP(1,OFF)		'OP1對比
        MOVEABS(0,0)

        波形展示圖4.png
        波形展示圖5.png

        同樣設置OP1開關不做提前延后設置與OP0進行對比,可以看到OP0根據程序設置滯后100ms打開,提前100ms關閉了。

        3.流程總結

        流程總結.png

        四.C#編程進行運動控制項目開發

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

        1.png

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

        2.png

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

        (1)進入廠商提供的光盤資料找到“04PC函數”文件夾,并點擊進入。

        3.png

        (2)選擇“01PC函數庫2.1”文件夾。

        4.png

        (3)選擇“Windows平臺”文件夾。

        5.png

        (4)選擇“C#”文件夾。

        6.png

        (5)根據需要選擇對應的函數庫,這里選擇32位庫。

        7.png

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

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

        8.png

        (2)將zauxdll.dll和zmotion.dll文件放入bin\debug文件夾中。

        9.png

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

        10.png

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

        五.相關PC函數

        由于函數庫未封裝對應MOVEOP_ADIST / MOVEOP_AHEADMS / MOVEOP_DELAY的函數,所以需要用ZAux_DirectCommand來發送對應Basic指令。

        C#主體代碼:

        private void auto_move()
        {
            ThreadFlag = true;
            zmcaux.ZAux_Direct_SetSpeed(g_handle, 0, Convert.ToSingle(C_AutoSpeed.Text));
            zmcaux.ZAux_Direct_SetAccel(g_handle, 0, Convert.ToSingle(C_AutoAccel.Text));
            zmcaux.ZAux_Direct_SetDecel(g_handle, 0, Convert.ToSingle(C_AutoDecel.Text));
            string cmdbuff = "AXIS_ZSET(0) = 19  ";
            UInt32 uiResponseLength = 2048;
            StringBuilder psResponse = new StringBuilder((Int32)uiResponseLength);
            Int32 iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);       //設置主軸開啟精準輸出模式
            zmcaux.ZAux_Direct_MoveAbs(g_handle, 2, new int[] { 0,1}, new float[] { 0, 0 });//走到零位
            while (true)
            {
                 if (checkFrameAxisIdleState() == true) break;
             }
            zmcaux.ZAux_Trigger(g_handle);
            //相對運動走軌跡
            zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { 0, -35});        //走到開膠點
            cmdbuff = "MOVEOP_DELAY = 0";
            iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
            if (!ifTimeControl)        //距離控制
            {
                cmdbuff = "MOVEOP_ADIST = " + C_OpenDis.Text;
                iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
            }
            else
            {
                if (Convert.ToSingle(C_OpenTime.Text) > 0)     //提前
                {
                    cmdbuff = "MOVEOP_AHEADMS = " + C_OpenTime.Text;
                    iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
                }
                else     //滯后
                {
                    string T_Value = (-Convert.ToSingle(C_OpenTime.Text)).ToString();   //moveop_delay滯后需要正值
                    cmdbuff = "MOVEOP_DELAY = " + T_Value;
                    iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
                }
            }
            zmcaux.ZAux_Direct_MoveOp(g_handle, 0, 0, 1);
            //測試走點膠軌跡
            zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { 50, 0});
            //iresult = zmcaux.ZAux_Direct_MSpherical(g_handle, virAxisList.Length, virAxisList, 0, 100, 0, 50, 50, 0, mSphericalMode, 5, 90);
            zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { 0, 70 });
            //iresult = zmcaux.ZAux_Direct_MSpherical(g_handle, virAxisList.Length, virAxisList, 0, -100, 0, -50, -50, 0, mSphericalMode, 5, 90);
            zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { -100, 0 });
            zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { 0, -70});
            zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { 50,0 });     //走到關膠點
            //zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { 0, 35 });         //走到關膠點
            cmdbuff = "MOVEOP_DELAY = 0";
            iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
            if (!ifTimeControl)        //距離控制
            {
                cmdbuff = "MOVEOP_ADIST = " + C_CloseDis.Text;
                iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
            }
            else
            {
                if (Convert.ToSingle(C_CloseTime.Text) > 0)     //提前
                {
                    cmdbuff = "MOVEOP_AHEADMS = " + C_CloseTime.Text;
                    iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
                }
                else     //滯后
                {
                    string T_Value = (-Convert.ToSingle(C_CloseTime.Text)).ToString();   //moveop_delay滯后需要正值
                    cmdbuff = "MOVEOP_DELAY = " + T_Value;
                    iresult = zmcaux.ZAux_DirectCommand(g_handle, cmdbuff, psResponse, uiResponseLength);
                }
            }
            zmcaux.ZAux_Direct_MoveOp(g_handle, 0, 0, 0);
            zmcaux.ZAux_Direct_MoveAbs(g_handle, 2, new int[] { 0, 1 }, new float[] { 0, 0 });         //走到零位
        }


         

        六.效果演示

        下面以C#代碼跑測試和RTSys示波器抓取波形分析。

        1.同步輸出效果:

        同步輸出效果1.png

        同步輸出效果2.png

        2.距離控制提前滯后輸出效果:

        距離控制提前滯后輸出效果1.png

        距離控制提前滯后輸出效果2.png

        3.時間控制提前滯后效果:

        時間控制提前滯后效果1.png

        時間控制提前滯后效果2.png

        視頻講解可點擊→“PCIe EtherCAT實時運動控制卡PCIE464點膠工藝中的同步提前延時開關膠”查看。



         

        完整代碼獲取地址

        代碼二維碼.png

        本次,正運動技術PCIe EtherCAT實時運動控制卡PCIE464點膠工藝中的同步/提前/延時開關膠,就分享到這里。

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

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

        二維碼.png


        正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。主要業務有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等。


         

        狀 態: 離線

        公司簡介
        產品目錄

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

        關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
        工控網客服熱線:0755-86369299
        版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

        主站蜘蛛池模板: 日韩一区二区三区日韩精品| 亚洲精品第一区二区三区| 极品人妻少妇一区二区| 人妖系列在线精品视频| 国产欧美另类精品久久久| 亚洲精品香蕉一区二区| 亚洲中文在线精品国产| 97一区二区国产好的精华液| 日韩不卡一区二区三区四区| 久久99国产精品久久99小说| 国产精品久久久久久福利| 亚洲av午夜福利大精品| 深夜国产成人福利在线观看| 五月综合激情视频在线观看| 福利一区二区不卡国产| 国产极品精品自在线不卡| 久久99精品中文字幕| 福利一区二区不卡国产| 国产精品一区中文字幕| 国产日韩AV免费无码一区二区三区| 国产精品美女久久久久久麻豆| 欧美性巨大╳╳╳╳╳高跟鞋| 国产成人综合久久亚洲精品 | 国产精品久久久久久成人影院| 国产精品色一区二区三区| 国产精品福利在线观看无码卡一| 日韩中文字幕有码av| 欧美一区二区三区成人久久片 | 女同在线观看亚洲国产精品| 三年片在线观看免费观看高清动漫| 欧美性色欧美a在线播放| 亚洲一区二区美女av| 亚洲欧洲日产国码无码久久99| 夜夜添狠狠添高潮出水| 国产熟睡乱子伦视频在线播放| 欧美videosdesexo肥婆| 亚洲理论在线A中文字幕| 日韩精品高清自在线| 久99久热免费视频播放| 亚洲日韩在线中文字幕第一页 | 亚洲日本高清一区二区三区|