高川運動控制卡功能系列----電子凸輪
        2021-12-13

        電子凸輪


        目錄

        概述.................................................................................................................................. 1

        1. 基本介紹................................................................................................................... 1

        1.1 基本原理......................................................................................................... 2

        1.2 基本特點......................................................................................................... 2

        2. 應用講解................................................................................................................... 3

        2.1 硬件部分......................................................................................................... 3

        2.2 軟件部分......................................................................................................... 3

        1 工具介紹................................................................................................ 3

        2 指令介紹................................................................................................ 3

        3 應用案例................................................................................................ 7

        3. 注意事項................................................................................................................... 9

         


        概述

        利用構(gòu)造的凸輪曲線來模擬機械凸輪,以達到機械凸輪系統(tǒng)相同凸輪軸與主軸之間相對運動的軟件系統(tǒng)。

        1. 基本介紹

        1.1 基本原理

        電子凸輪屬于多軸同步運動(速度位置同步),這種運動(也叫Follow運動)是基于主軸和一個或者多個從軸系統(tǒng)。主軸可以是物理軸,也可以是虛擬軸(一種算法, 沒有實際的輸出);

        電子凸輪是直接將軌跡點輸入到驅(qū)動器內(nèi),通過設定的計算方式進行伺服控制,達到和機械凸輪相同的加工目的,實現(xiàn)一種周期性的往復運動;

        啟動位置和終點位置是否一致可以將電子凸輪曲線分為閉式曲線和開式曲線,如圖1.1.1;

        圖1.1.1 電子凸輪運動曲線

        1.2 基本特點

        電子凸輪靈活,軌跡易于改動,方便根據(jù)需求加工軌跡,不需要繁瑣更改機械凸輪;

        當要改變凸輪的運動軌跡時,加工機械凸輪的成本較高,難度較大,而電子凸輪只需簡單的設定一些軌跡參數(shù)即可,不需要產(chǎn)生新的成本;

        機械凸輪會磨損,通常是機床噪音的最大來源,而用電子凸輪可減輕運行阻力及噪音,減輕機身重量,提高效率;

        每組 Follow 運動關(guān)聯(lián)的兩個軸,被跟隨軸稱為主軸,跟隨軸稱為從軸。多個從軸可以跟隨同一個主軸,從軸又可以作為其他軸的主軸

        從軸可以跟隨主軸的規(guī)劃位置或者實際位置,從軸也可以直接跟隨外部的編碼器輸入從軸可以指跟隨主軸的某個運動方向(正向或者負向)或者雙向跟隨;

        與從軸之間的同步,通過用戶設定的多個數(shù)據(jù)段自動規(guī)劃,每個數(shù)據(jù)段包含主軸位移,從軸位移,速度規(guī)劃類型三個參數(shù),即主軸在完成設定位移的過程中,從軸也自動完成設定位移,這個過程中的速度曲線由速度規(guī)劃類型決定;

        每個從軸有兩個 FIFO 用于緩存同步數(shù)據(jù)段,每個 FIFO 最多可以存儲 32 個數(shù)據(jù)段,通過手動切換,其中一個 FIFO 的數(shù)據(jù)用完后會自動切換到另外一個 FIFO;

        通過配置 FIFO 的循環(huán)次數(shù),可實現(xiàn)從軸周期性的跟隨;

        同步的啟動可以配置為立即啟動,也可以配置為主軸穿越某個位置時自動啟動;

        2. 應用講解

        2.1 硬件部分

        2.2 軟件部分

        1)工具介紹

        通過GCS.exe工具對電子凸輪的使用配置進行詳細說明。GCS.exe工具連接控制器,點擊功能->Follow(電子凸輪)運動,打開測試軸1,測試軸2,如圖2.2.1電子凸輪測試。

        圖2.2.1 電子凸輪測試

        從圖2.1的Follow(電子凸輪)運動工具中測試,添加主軸位移、從軸位移和跟隨類型,添加位置點沒有限制;參數(shù)設置列表中,從軸通道、跟隨主軸、主軸類型、跟隨方向和循環(huán)次數(shù)根據(jù)需求選擇即可;對于Fifo序號,用來設置從軸緩存同步數(shù)據(jù)段的;啟動模式如果選擇主軸穿越啟動,當主軸達到設定的穿越位置從軸方可響應;配置完成執(zhí)行1.配置,2.壓入數(shù)據(jù)和3.啟動;值得注意的是,啟動前,需要把軸位置,狀態(tài)清零。

        2)指令介紹

        以下為電子凸輪常用功能函數(shù)的詳細說明。

        電子凸輪

        函數(shù)原形

        函數(shù)說明

        NMC_MtFollowSetDir

        設置FOLLOW跟隨方向

        NMC_MtFollowGetDir

        獲取FOLLOW跟隨方向

        NMC_MtFollowSetMaster

        設置FOLLOW主軸參數(shù)

        NMC_MtFollowGetMaster

        獲取FOLLOW主軸參數(shù)

        NMC_MtFollowSetLoopCount

        設置FOLLOW的循環(huán)執(zhí)行次數(shù)

        NMC_MtFollowGetLoopCount

        獲取FOLLOW的循環(huán)執(zhí)行次數(shù)

        NMC_MtFollowSetEvent

        設置FOLLOW的的啟動事件

        NMC_MtFollowGetEvent

        獲取FOLLOW的啟動事件

        NMC_MtFollowGetSpace

        獲取FOLLOWfifo剩余空間

        NMC_MtFollowPushData

        設置FOLLOW的數(shù)據(jù)

        NMC_MtFollowClear

        清除FOLLOW對應fifo號的數(shù)據(jù)

        NMC_MtFollowStart

        啟動Follow運動

        NMC_MtFollowSwitch

        切換Follow運動的fifo

         

        (1)設置單軸運動速度曲線類型

        NMC_MtSetPrfMode( HAND axisHandle,  short mode );

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        軸句柄

        mode

        輸入

        各軸的規(guī)劃模式

        #define MT_NONE_PRF_MODE     (-1) // 無效

        #define MT_PTP_PRF_MODE      (0)    // 梯形規(guī)劃

        #define MT_JOG_PRF_MODE      (1)    // 連續(xù)速度模式

        #define MT_CRD_PRF_MODE      (3)    // 坐標系

        #define MT_GANTRY_MODE       (4)    // 龍門跟隨模式

        #define MT_PT_PRF_MODE       (5)  //   PT模式

        #define   MT_MULTI_LINE_MODE   (6)  // 多軸直線插補

        #define MT_GEAR_PRF_MODE     (7)    // 電子齒輪模式

        #define MT_FOLLOW_PRF_MODE   (8)  // Follow跟隨模式

        注意:坐標系模式不需要通過NMC_MtSetPrfMode設置

         

        (2)單軸JOG運動

        NMC_MtMoveJog(HAND axisHandle, double acc, double dec, double maxVel, short  smoothCoef, short clrStsFlag);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        軸句柄

        acc

        輸入

        加速度,脈沖/ms^2

        dec

        輸入

        減速度,脈沖/ms^2

        maxVel

        輸入

        最大速度,脈沖/ms

        smoothCoef

        輸入

        平滑系數(shù),[0,   199], 單位ms

        clrStsFlag

        輸入

        是否運動前先清除軸狀態(tài),0:不清除,1:清除

         

        (3)設置FOLLOW跟隨方向

        NMC_MtFollowSetDir(HAND axisHandle, short dir);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        dir

        輸入

        =0:雙向跟隨

        <0:< span="">負向跟隨

        >0:正向跟隨

         

        (4)獲取FOLLOW跟隨方向

        NMC_MtFollowGetDir(HAND axisHandle, short *pDir);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        pDir

        輸出

        =0:雙向跟隨

        <0:< span="">負向跟隨

        >0:正向跟隨

         

        (5)設置FOLLOW主軸參數(shù)

        NMC_MtFollowSetMaster(HAND axisHandle, short masterNo, short masterType);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        masterNo

        輸入

        主軸序列號(0~N)

        masterType

        輸入

        主軸類型

        #define PROFILE_FOLLOW_MASTER_NONE  (0) //   0:無效

        #define   PROFILE_FOLLOW_MASTER_AXIS_PRF  (1)     //   1:AXIS規(guī)劃值

        #define   PROFILE_FOLLOW_MASTER_AXIS_ENC  (2)     //   2:AXIS反饋值

        #define PROFILE_FOLLOW_MASTER_ENC       (3)       // 3:編碼器值

         

        (6)獲取FOLLOW主軸參數(shù)

        NMC_MtFollowGetMaster(HAND axisHandle, short *pMasterNo, short *pMasterType);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        pMasterNo

        輸出

        主軸序列號(0~N)

        pMasterType

        輸出

        主軸類型,見宏定義

         

        (7)設置FOLLOW的循環(huán)執(zhí)行次數(shù)

        NMC_MtFollowSetLoopCount(HAND axisHandle, long loopCnt);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        loopCnt

        輸入

        循環(huán)次數(shù)

         

        (8)獲取FOLLOW的循環(huán)執(zhí)行次數(shù)

        NMC_MtFollowGetLoopCount(HAND axisHandle, long *pLoopCnt);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        ploopCnt

        輸出

        循環(huán)次數(shù)

         

        (9)設置FOLLOW的的啟動事件

        NMC_MtFollowSetEvent(HAND axisHandle, short eventType, short masterDir, long pos);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        eventType

        輸入

        1:表示調(diào)用啟動指令以后立即啟動

        2:表示主軸穿越設定位置以后啟動跟隨

        masterDir

        輸入

        穿越啟動時,主軸的運動方向:1主軸正向運動,-1 主軸負向運動

        pos

        輸入

        穿越位置

         

        (10)獲取FOLLOW的的啟動事件

        NMC_MtFollowGetEvent(HAND axisHandle, short *pEventType, short *pMasterDir, long *pPos);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        pEventType

        輸出

        1 表示調(diào)用啟動指令以后  立即啟動

        2表示主軸穿越設定位置以后啟動跟隨

        pMasterDir

        輸出

        穿越啟動時,主軸的運動方向:1 主軸正向運動,-1 主軸負向運動

        pPos

        輸出

        穿越位置

         

        (11)獲取FOLLOW的fifo剩余空間

        NMC_MtFollowGetSpace(HAND axisHandle, short *pSpace, short fifoNo);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        pSpace

        輸出

        空間大小

        fifoNo

        輸入

        fifo號,0或1

         

        (12)設置FOLLOW的數(shù)據(jù)

        NMC_MtFollowPushData(HAND axisHandle, long masterPos, double slavePos, short type, short fifoNo;

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        masterPos

        輸入

        主軸位移

        slavePos

        輸入

        從軸位移

        type

        輸入

        數(shù)據(jù)段類型:0普通段,默認;1勻速段;2 減速到 0 段;3保持 FIFO 之間速度連續(xù)

        fifoNo

        輸入

        fifo號,0或1

         

        (13)清除FOLLOW對應fifo號的數(shù)據(jù)

        NMC_MtFollowClear(HAND axisHandle, short fifoNo);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        fifoNo

        輸入

        fifo號,0或1

         

        (14)啟動Follow運動

        NMC_MtFollowStart(HAND axisHandle, short syncAxCnts, short *pSyncAxArray);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        syncAxCnts

        輸入

        不包括axisHandle   的其他同步啟動軸數(shù)量

        pSyncAxArray

        輸入

        其他同步啟動軸的序號:0~N

         

        (15)切換Follow運動的fifo號

        NMC_MtFollowSwitch(HAND axisHandle, short syncAxCnts, short *pSyncAxArray);

        參數(shù)

        輸入/輸出

        描述

        axisHandle

        輸入

        從軸句柄

        syncAxCnts

        輸入

        不包括axisHandle   的其他同步進行fifo切換的軸數(shù)量

        pSyncAxArray

        輸入

        其他同步進行fifo切換的軸的序號:0~N

         

        3)應用案例

        該案例主軸為 Jog 模式,速度為 50pulse/ms,從軸為 Follow 模式,跟隨主軸的規(guī)劃位置。從 軸啟動的跟隨條件是:主軸走過 50000pulse 后,從軸啟動跟隨。從軸的運動規(guī)律由 3 段組成,如下表所示,加速段跟隨,勻速跟隨,減速跟隨,類似一個梯形曲線。并且無限次循環(huán)此數(shù)據(jù)段。


        第一段

        第二段

        第三段

        主軸位置

        20000

        20000

        20000

        從軸位置

        10000

        20000

        10000

         

        /*********此處省略控制器初始化部分***********/

         

        //函數(shù)返回值錯誤

        #define RTN_ERR {if(rtn != RTN_CMD_SUCCESS){ return;}}

         

        short rtn = 0;

        //啟動主軸JOG運動, 速度脈沖/ms, 加、減速度為脈沖/ms^2

        rtn = NMC_MtMoveJog(axishandle[0],   1, 1, 50, 0, 1);

        RTN_ERR

        //設置軸二的運動模式為FOllow模式

        rtn = NMC_MtSetPrfMode(axishandle[1],   MT_FOLLOW_PRF_MODE);

        RTN_ERR

        //清空從軸FIFO數(shù)據(jù)

        rtn = NMC_MtFollowClear(axishandle[1],   0);

        RTN_ERR

        //設置跟隨主軸的規(guī)劃位置

        rtn = NMC_MtFollowSetMaster(axishandle[1],   0, PROFILE_FOLLOW_MASTER_AXIS_PRF);

        RTN_ERR

        //設置跟隨數(shù)據(jù)

        double masterpos = 20000;

        double slavepos = 10000;

        rtn = NMC_MtFollowPushData(axishandle[1],   masterpos, slavepos,   0, 0);

        RTN_ERR

        masterpos += 20000;

        slavepos += 20000;

        rtn = NMC_MtFollowPushData(axishandle[1],   masterpos, slavepos,   0, 0);

        RTN_ERR

        masterpos += 20000;

        slavepos += 10000;

        rtn = NMC_MtFollowPushData(axishandle[1],   masterpos, slavepos,   0, 0);

        RTN_ERR

        //設置為無限循環(huán)

        rtn = NMC_MtFollowSetLoopCount(axishandle[1], 0);

        RTN_ERR

        //設置跟隨條件, 主軸正向運動到位置時啟動

        rtn = NMC_MtFollowSetEvent(axishandle[1],   2, 1, 50000);

        RTN_ERR

        //啟動Follow運動

        rtn = NMC_MtFollowStart(axishandle[1],   0, 0);

        RTN_ERR

        //跟隨運動過程中可調(diào)用NMC_MtFollowGetLoopCount查詢循環(huán)執(zhí)行次數(shù)

        return rtn;

         

         

        3. 注意事項

        首先使用GCS.exe工具測試數(shù)控機床是否達到安全啟動要求;

        在函數(shù)中,有三種編程對象,對于單軸控制的指令是以 NMC_Mt 開頭,對于坐標系的指令是以NMC_Crd 開頭,其余是對控制器的指令;

        文檔只挑選常用功能,更多功能請關(guān)注頭文件,在里面做了詳細的注釋;

        如有其他疑問,請聯(lián)系技術(shù)。

         


        銷售服務熱線:13510269529 張先生 電子郵箱:sales@gcauto.com.cn 官方網(wǎng)址:www.joblessfreaks.com 辦公地址:廣東省深圳市寶安區(qū)新安街道隆昌路2號甲岸科技園1號樓6樓
        主站蜘蛛池模板: 日韩十八禁一区二区久久| 国产精品无码AV一区二区三区| 成人区人妻精品一区二区三区| 一区二区三区亚洲视频| 国精产品一区一区三区MBA下载| 精品一区二区三区在线视频| 国模大胆一区二区三区| 制服丝袜一区在线| 一区二区在线免费观看| 国产午夜福利精品一区二区三区 | 色婷婷一区二区三区四区成人网| 激情综合丝袜美女一区二区| 国产成人精品一区二区A片带套| 91在线一区二区| 中文字幕日韩一区二区三区不卡| 精品国产日产一区二区三区 | 一区二区三区四区视频在线| 天堂va视频一区二区| 日本一道高清一区二区三区| 午夜福利无码一区二区 | 99精品国产高清一区二区三区 | 国产一区二区三区四| 成人精品一区二区电影| 亚洲av日韩综合一区二区三区| 精品黑人一区二区三区| 在线欧美精品一区二区三区| 精品熟人妻一区二区三区四区不卡 | 99精品国产一区二区三区2021| 老熟女高潮一区二区三区| 亚洲一区二区三区深夜天堂| 精品熟人妻一区二区三区四区不卡| 日韩精品无码中文字幕一区二区| 乱精品一区字幕二区| 亚洲第一区视频在线观看 | 精品少妇ay一区二区三区| 日本一区二三区好的精华液| 波多野结衣一区二区三区88| 无码精品人妻一区二区三区免费| 国产精品亚洲高清一区二区| 国产精品va无码一区二区| 色综合视频一区中文字幕|