技術頻道

娓娓工業(yè)
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 【正運動】EtherCAT運動控制卡和LabVIEW構建智能裝備(三)

【正運動】EtherCAT運動控制卡和LabVIEW構建智能裝備(三)

時間:2021-08-11 10:52:47來源:深圳市正運動技術有限公司

導語:?今天,正運動小助手給大家分享一下EtherCAT運動控制卡之ECI2828的軸參數說明以及如何使用LabVIEW進行EtherCAT總線初始化。

  今天,正運動小助手給大家分享一下EtherCAT運動控制卡之ECI2828的軸參數說明以及如何使用LabVIEW進行EtherCAT總線初始化。

  一ECI2828硬件介紹

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

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

ECI2828系列運動控制卡支持多達16 軸直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸和機械手指令等;采用優(yōu)化的網絡通訊協(xié)議可以實現實時的運動控制。    ECI2828系列運動運動控制卡支持以太網,232 通訊接口和電腦相連,接收電腦的指令運行,可以通過EtherCAT總線和CAN總線去連接各個擴展模塊,從而擴展輸入輸出點數或運動軸。

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

ECI2828系列運動控制卡支持多達16 軸直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸和機械手指令等;采用優(yōu)化的網絡通訊協(xié)議可以實現實時的運動控制。    ECI2828系列運動運動控制卡支持以太網,232 通訊接口和電腦相連,接收電腦的指令運行,可以通過EtherCAT總線和CAN總線去連接各個擴展模塊,從而擴展輸入輸出點數或運動軸。

  ECI2828系列典型連接配置圖

  二、LabVIEW基本軸參數介紹

  ATYPE:軸功能類型設置,只能設置為軸具備的特性(軸特性可查詢硬件手冊或使 用 ZDevelop 軟件連接上控制器以后查看控制器狀態(tài))。

  UNITS:脈沖當量,指定每單位發(fā)送的脈沖數,支持 5 位小數精度。

  ACCEL:軸加速度,單位為 units/s/s。當多軸運動時,插補運動的加速度為主軸加速度。建議運動前設置好加速度和減速度,運動中不要修改,運動中調整會導致速度曲線變化。

  DECEL:軸減速度,單位為 units/s/s。當多軸運動時,作為插補運動的減速度。當設置為0 時,自動等于加速度ACCEL值,進行對稱的加減速。建議運動前設置好加速度和減速度,運動中不要修改,運動中調整會導致速度曲線變化。

  SPEED:軸速度,單位為 units/s。當多軸運動時,作為插補運動的速度。SPEED 修改后,立刻生效,可以實現動態(tài)變速,但是改變瞬間會抖。希望平滑變速請使用 SPEED_RATIO 指令。

  以上是控制軸運動的基本參數,在硬件連接沒問題的情況下,只要設置好這5個參數,就可以控制伺服或步進電機運動。

運動控制

  三、總線初始化文件準備

  總線初始化文件一般可以使用正運動的開發(fā)環(huán)境ZDevelop來編輯。

運動控制

  我們可以直接打開“.zpj”項目,該項目中就包含了“ECAT初始化.bas”文件?;蛘咧苯哟蜷_“ECAT初始化.bas”文件來修改初始化程序。

  以下是初始化文件的具體內容:

  '*******************************************************ECAT總線初始化'''''''''global CONST BUS_TYPE = 0 '總線類型。用于上位機區(qū)分當前模式global CONST MAX_AXISNUM = 16 '最大軸數global CONST Bus_Slot = 0 '槽位號0global CONST Bus_AxisStart = 0 '總線軸起始軸號global Bus_InitStatus '總線初始化完成狀態(tài)Bus_InitStatus = -1global Bus_TotalAxisnum '檢查掃描的總軸數delay(3000) '延時3S等待驅動器上電'**********************初始化ECAT總線 Ecat_Init()end

  global sub Ecat_Init() local temp_axis for i=0 to MAX_AXISNUM - 1 '初始化還原軸類型 AXIS_ENABLE(i) = 0 atype(i)=0 next Bus_InitStatus = -1 Bus_TotalAxisnum = 0 SLOT_STOP(Bus_Slot) delay(200) slot_scan(Bus_Slot) '開始掃描 if return then ?"總線掃描成功","連接設備數:"NODE_COUNT(Bus_Slot) ?"開始映射軸號" for i=0 to NODE_COUNT(Bus_Slot)-1 '遍歷總線下所有從站節(jié)點 if NODE_AXIS_COUNT(Bus_Slot,i) <>0 then '判斷當前節(jié)點是否有電機 for j=0 to NODE_AXIS_COUNT(Bus_Slot,i)-1 temp_axis = Bus_AxisStart +Bus_TotalAxisnum base(temp_axis) AXIS_ADDRESS=Bus_TotalAxisnum+1 '映射軸號 ATYPE=65 '設置控制模式 65-位置 66-速度 67-轉矩 DRIVE_PROFILE= 0 '設置PROFILE功能 disable_group(temp_axis) '每軸單獨分組 ' DRIVE_IO = 128 + (temp_axis)*16 '映射驅動器上的IO狀態(tài) ' REV_IN = 128 + (temp_axis)*16 ' FWD_IN = 129 + (temp_axis)*16 ' DATUM_IN = 130 + (temp_axis)*16 ' INVERT_IN(128 + (temp_axis)*16,ON) ' INVERT_IN(129 + (temp_axis)*16,ON) ' INVERT_IN(130 + (temp_axis)*16,ON) Bus_TotalAxisnum=Bus_TotalAxisnum+1 '總軸數+1 next endif next ?"軸號映射完成","連接總軸數:"Bus_TotalAxisnum wa 2000 SLOT_START(Bus_Slot) '啟動總線 if return then ?"總線開啟成功" ?"開始清除驅動器錯誤(根據驅動器數據字典設置)" for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1 DRIVE_CONTROLWORD(i)=128 '根據驅動器數據字典 wa 100 DRIVE_CONTROLWORD(i)=6 wa 100 DRIVE_CONTROLWORD(i)=15 wa 100 next ?"驅動器錯誤清除完成" wa 100 ?"清除控制器錯誤" datum(0) DRIVE_CLEAR(0) ?"控制器錯誤清除完成" wa 100 ?"軸使能準備" for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1 base(i) AXIS_ENABLE=1 next wdog=1 '使能總開關 Bus_InitStatus = 1 ?"軸使能完成" else ?"總線開啟失敗" Bus_InitStatus = 0 endif else ?"總線掃描失敗" Bus_InitStatus = 0 endifend sub

  四、LabVIEW編程介紹

  在進入具體程序介紹前,我們先來大概了解一下LabVIEW究竟是怎么編程的。

  1.LabVIEW編程結構 -- while循環(huán)結構

運動控制

  While循環(huán)結構顧名思義,就是類似于C語言中的while,或是正運動開發(fā)環(huán)境ZDevelop中使用的while循環(huán)一般,來對程序進行循環(huán)掃描。我們可以通過BOOL類型輸入來控制while循環(huán)是否結束,以及將 !接入顯示控件來顯示while循環(huán)次數。

  2.LabVIEW編程結構--事件結構

運動控制

  事件結構是我們進行人機交互的主要結構,在事件結構中,我們可以自由添加外部控件的觸發(fā)事件。

  例如:在前面板處,我們添加了一個“以太網連接”的控件,當我們想在這個控件按下時,執(zhí)行對應的程序,我們就可以在事件結構中添加這個控件的事件,以此來達到我們的目的。

運動控制

第一步控制器連接

運動控制

第二步添加事件分支

運動控制

第三步編輯事件

運動控制

第四步添加以太網連接控件

運動控制

第五步按下“以太網連接”控件

運動控制

  此時當我們按下“以太網連接”控件后,可以發(fā)現彈出一個消息框,消息框顯示“鼠標按下”,這個正是我們所要顯示的字符常量。

  3. LabVIEW編程結構 -- 條件結構。

運動控制

  此結構類似于C語言中的if語句,當 條件結構中的?輸入為真時,執(zhí)行“真”內程序,當條件結構的?輸入為假時,執(zhí)行“假”內程序。

  4. LabVIEW編程結構 -- 程序運行順序。

  在LabVIEW中一般是最后添加的函數先執(zhí)行。

運動控制

運動控制

  所以,為了進行先后順序執(zhí)行,我們可以使用順序結構來進行分類。

運動控制

第一步

運動控制

第二步

運動控制

第三步

  五LabVIEW初始化EtherCAT總線

  1.下載初始化文件函數。

  現在我們來介紹一下,下載“Bas文件”到控制器里所用到的函數。

運動控制

  2.LabVIEW中函數使用實例。

  下面我們以例程8-總線控制運動例程來講解一下ZAux_BasDown函數使用方式。

  (1)首先,我們在事件結構中添加了“【下載Bas文件】值改變”鼠標按下事件。

運動控制

  也就是當我們控件界面的“下載Bas文件”按鍵按下時觸發(fā)該事件。

  (2)接下來是滿足“條件結構”中的條件,即句柄不為0時,執(zhí)行條件結構中“真”程序。

運動控制

  在“條件結構”中我們看到還有一個“文件對話框”的控件,該控件可以為我們打開一個用于選擇下載文件的對話框。剩下的就是選擇我們需要初始化的總線文件即可。

運動控制

  (3)初始化完成后,我們可以看見軸狀態(tài)為65,這代表我們使用的是csp位置模式。

運動控制

  3.LabVIEW中軸狀態(tài)顯示。

  (1)軸狀態(tài)欄因為是實時更新的,所以需要我們循環(huán)地訪問控制器里的軸參數。這里我們可以在“事件結構”中的“超時”處寫入我們的讀取軸參數程序。“超時”事件是在其他事件未觸發(fā)時,“事件結構”中默認執(zhí)行的事件。

運動控制

  這里我們可以看到,此處“超時”事件中有兩個“條件結構”一個是軸參數讀取“條件結構”。在軸參數讀取的條件結構中,當連接句柄不為0時,軸參數讀取的“條件結構”便處于執(zhí)行狀態(tài),也就是只要我們一旦連接上了控制器,軸參數便一直處于實時讀取狀態(tài)。

  另一個“條件結構”是總線初始化顯示程序,當“文件下載標志”、“初始化狀態(tài)”、“連接句柄”三個變量有一個不滿足要求時,便重新讀取一下總線節(jié)點、初始化文件里的“Bus_InitStatus”初始化完成標志、“Bus_TotalAxisnum”總線總軸數。

  4.LabVIEW中EtherCAT交互。

  要了解EtherCAT總線的SDO通訊的程序實現,我們可以在“事件結構”中看一下“設置”和“讀取”兩個按鍵里的程序。

運動控制

  (1)“設置”事件程序。

運動控制

  我們可以看見“設置”事件中僅調用了一個“ZAux_BusCmd_SDOWrite”函數就可以實現。

  (2)“讀取”事件程序。

運動控制

  讀取也只需要調用“ZAux_BusCmd_SDORead”函數即可實現。

  六調試與監(jiān)控

  1.因為,ECI2828是通過TCP/IP與PC建立連接的,這意味著我們可以建立多條連接。因此,在使用啟動LabVIEW程序時,我們還可以使用正運動開發(fā)環(huán)境ZDevelop來監(jiān)控當前控制器運行狀態(tài)。

運動控制

  通過打印信息,我們可以看見總線初始化已成功。

  2.示波器使用。

  連接“ZDevelop”軟件通過軟件右側的軸參數進行控制器狀態(tài)監(jiān)控,也可以點擊“視圖”→“示波器”打開示波器對軸運動情況進行監(jiān)控。

運動控制

  示波器可以實現實時監(jiān)控當前的命令位置和反饋位置。

運動控制

  3.調試視頻。

運動控制

  本次,正運動技術EtherCAT運動控制卡和LabVIEW構建智能裝備(三),就分享到這里。

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

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


標簽: EtherCAT運動控制控制器

點贊

分享到:

上一篇:英國的物聯(lián)網安全監(jiān)管法規(guī)也...

下一篇:X-NAND技術有望為QLC閃存帶來...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業(yè)自動化與智能制造的全媒體“互聯(lián)網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號