国产91九色_日本68xxxx_欧美高清另类自拍视频在线看_欧美人禽_99久久婷婷国产综合精品青牛牛_亚洲射情

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
PCIe EtherCAT實時運動控制卡PCIE464點膠工藝中的同步/提前/延時開關(guān)膠
深圳市正運動技術(shù)有限公司
收藏本文     查看收藏

一.硬件介紹

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

運動控制卡PCIE464.png

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

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

運動控制卡PCIE464接線圖.png

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

API.png


 

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

二.接線參考

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

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

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

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

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

OUT數(shù)字量輸出接口.png

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

單端脈沖接線圖.png

單端脈沖接線圖

差分脈沖接線圖.png

差分脈沖接線圖

單端編碼器接線圖.png

單端編碼器接線圖

差分編碼器接線圖.png

差分編碼器接線圖

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

三.使用運動緩沖實現(xiàn)同步/提前/延時開關(guān)膠

1.運動緩沖

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

運動緩沖原理參考下圖:

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

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

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

運動緩沖原理圖.png

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

運動緩沖原理圖2.png

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

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

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

當前運動完成后會自動執(zhí)行運動緩沖區(qū)內(nèi)的下一條運動。運動指令全部執(zhí)行完后,運動緩沖區(qū)為空,或者使用CANCEL/RAPIDSTOP指令清空運動緩沖區(qū)。

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

在點膠的應用場景中,運動控制系統(tǒng)需要精準調(diào)節(jié)點膠閥開閉時機與針頭運動軌跡,通過開膠延時,關(guān)膠延時,提前關(guān)膠等參數(shù),確保膠量精準可控,滿足工藝要求。

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

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

運動緩沖開關(guān)OP指令.png

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

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

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)'關(guān)膠點
MOVE_OP(0,OFF)	
MOVEABS(0,0)

波形展示圖1.png

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

(2)MOVE_OP精準輸出模式

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

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

MOVE_OP精準輸出模式.png

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

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)
'關(guān)膠點100,100
MOVE_OP(0,ON)	
MOVEABS(300,400)
'關(guān)膠點300,400
MOVE_OP(0,OFF)

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

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

MOVEOP_ADIST提前關(guān)膠.png

通過設置矢量距離來控制提前滯后開關(guān)膠,設置正數(shù)會比缺省輸出位置(MOVE_OP上一條運動指令的目標位置)提前指定矢量距離,設置負數(shù)則延后指定矢量距離。可以由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)
'關(guān)膠點
MOVEOP_ADIST = 50	'提前50mm關(guān)閉
MOVE_OP(0,OFF)
MOVEOP_ADIST = 0			
MOVE_OP(1,OFF)
MOVEABS(0,0)

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

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

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

指令.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)
'關(guān)膠點
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開關(guān)不做提前延后設置與OP0進行對比,可以看到OP0根據(jù)程序設置滯后100ms打開,提前100ms關(guān)閉了。

3.流程總結(jié)

流程總結(jié).png

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

1.在VS2010菜單“文件”→“新建”→“項目”,啟動創(chuàng)建項目向?qū)А?/p>

1.png

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

2.png

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

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

3.png

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

4.png

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

5.png

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

6.png

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

7.png

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

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

8.png

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

9.png

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

10.png

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

五.相關(guān)PC函數(shù)

由于函數(shù)庫未封裝對應MOVEOP_ADIST / MOVEOP_AHEADMS / MOVEOP_DELAY的函數(shù),所以需要用ZAux_DirectCommand來發(fā)送對應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 });     //走到關(guān)膠點
    //zmcaux.ZAux_Direct_Move(g_handle, 2, new int[] { 0, 1 }, new float[] { 0, 35 });         //走到關(guān)膠點
    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點膠工藝中的同步提前延時開關(guān)膠”查看。



 

完整代碼獲取地址

代碼二維碼.png

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

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

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

二維碼.png


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


 

狀 態(tài): 離線

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

公司名稱: 深圳市正運動技術(shù)有限公司
聯(lián) 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區(qū)西鄉(xiāng)洲石路陽光工業(yè)園A1棟5樓
郵  編: 518100
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
強實時運動控制內(nèi)核MotionRT750(一):驅(qū)動安裝、內(nèi)核配置與使用
AI視覺外觀檢測在全自動測包機中的應用
C#上位機與運動控制卡網(wǎng)絡通訊的周期上報
DELTA機械手多物料視覺分揀的應用
正運動×Eplan再啟新篇 | 24款新品模型上線,打造電氣設計全鏈路閉環(huán)
激光振鏡運動控制器在玻璃激光鉆孔上的應用
EtherCAT運動控制卡應用開發(fā)教程之Java
賦能柔性制造:MotionRT750實時運動控制內(nèi)核,提效不止10%!
AI視覺外觀檢測技術(shù)在NR功率電感質(zhì)量控制中的方案應用
PCIe EtherCAT實時運動控制卡PCIE464同步跟隨/皮帶跟隨加工應用
機器視覺運動控制一體機在背靠背點膠焊錫機上的應用
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡

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

主站蜘蛛池模板: 欧美成人久久 | 国产激情在线视频 | 久久高清| 99这里只有精品 | 中国成人免费视频 | 国产精品一区不卡 | 欧美亚州综合 | 国产一区在线免费观看 | 日韩av毛片在线观看 | 亚洲视频在线视频 | 国产高清av| 日韩精品一区在线 | 69av在线视频 | 亚洲欧美日韩高清 | 91久久久久久久久久久久久 | 日本视频一区二区三区 | 亚洲欧美日韩国产 | 久久成人亚洲 | 美日韩毛片 | 精品国产乱码一区二区三区 | 国产黄色在线看 | 黄色av播放 | 国产成人一区二区三区 | 成人区精品一区二区 | 综合精品 | www.岛国| 中文字幕三级 | 日韩精品第一页 | 国产精品 欧美激情 | 日韩三级电影在线观看 | a级毛片免费高清视频 | 日韩免费在线播放 | 久久久久黄色 | 亚洲精品自拍偷拍 | 成人h精品动漫一区二区三区 | 日韩精品在线视频 | 一区福利 | 国产a级大片 | xxxx中国一级片 | 精品成人av一区二区在线播放 | 亚洲精品欧美视频 |