2024年1月4日發(作者:泉州閩臺緣博物館)

【正運動】EtherCAT運動控制卡和LabVIEW構建智能裝備(三)
【正運動】EtherCAT運動控制卡和LabVIEW構建智能裝備(三)
導語:今天,正運動小助手給大家共享一下EtherCAT運動控制卡之ECI2828的軸參數講明和怎樣使用LabVIEW進展EtherCAT總線初始化。
今天,正運動小助手給大家共享一下EtherCAT運動控制卡之ECI2828的軸參數講明和怎樣使用LabVIEW進展EtherCAT總線初始化。
一ECI2828硬件介紹
ECI2828系列運動控制卡支持多達16
軸直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸和機械手指令等;采用優化的網絡通訊協議可以實現實時的運動控制。
ECI2828系列運動運動控制卡支持以太網,232
通訊接口和電腦相連,接收電腦的指令運行,可以通過EtherCAT總線和CAN總線去連接各個擴展模塊,進而擴展輸入輸出點數或者運動軸。
ECI2828系列運動控制卡的應用程序可以使用VC、VB、VS、C++和C#等軟件來開發,程序運行時需要動態庫
。調試時可以把ZDevelop軟件同時連接到控制器,進而方便調試,方便觀察。
ECI2828系列典型連接配置圖
二、LabVIEW根本軸參數介紹
ATYPE:軸功能類型設置,只能設置為軸具備的特性(軸特性可查詢硬件手冊或者使用ZDevelop軟件連接上控制器以后查看控制器狀態)。
UNITS:脈沖當量,指定每單位發送的脈沖數,支持5位小數精度。
ACCEL:軸加速度,單位為
units/s/s。當多軸運動時,插補運動的加速度為主軸加速度。建議運動前設置好加速度和減速度,運動中不要修改,運動中調整會導致速度曲線變化。
DECEL:軸減速度,單位為units/s/s。當多軸運動時,作為插補運動的減速度。當設置為0
時,自動等于加速度ACCEL值,進展對稱的加減速。建議運
動前設置好加速度和減速度,運動中不要修改,運動中調整會導致速度曲線變化。
SPEED:軸速度,單位為units/s。當多軸運動時,作為插補運動的速度。SPEED
修改后,立即生效,可以實現動態變速,但是改變瞬間會抖。祈望平滑變速請使用SPEED_RATIO指令。
以上是控制軸運動的根本參數,在硬件連接沒問題的情況下,只要設置好這5個參數,就可以控制伺服或者步進電機運動。
三、總線初始化文件準備
總線初始化文件一般可以使用正運動的開發環境ZDevelop來編輯。
我們可以直接翻開“.zpj〞工程,該工程中就包含了“ECAT初始化.bas〞文件?;蛑苯臃_“ECAT初始化.bas〞文件來修改初始化程序。
以下是初始化文件的詳細內容:
'*******************************************************ECAT總線初始化'''''''''global
CONSTBUS_TYPE=0'總線類型。用于上位機區分當前形式
globalCONSTMAX_AXISNUM=16'最大軸數global
CONSTBus_Slot=0'槽位號0globalCONSTBus_AxisStart=0'總線軸起始軸號global
Bus_InitStatus'總線初始化完成狀態Bus_InitStatus=-1globalBus_TotalAxisnum
'檢查掃描的總軸數delay(3000)'延時3S等待驅動器上電'**********************初始化ECAT總線
Ecat_Init()end
globalsubEcat_Init()localtemp_axisfori=0toMAX_AXISNUM-1'初始化復原軸類型
AXIS_ENABLE(i)=0atype(i)=0nextBus_InitStatus=-1Bus_TotalAxisnum=0
SLOT_STOP(Bus_Slot)delay(200)slot_scan(Bus_Slot)'開場掃描ifreturnthen
?"總線掃描成功","連接設備數:"NODE_COUNT(Bus_Slot)?"開場映射軸號"fori=0to
NODE_COUNT(Bus_Slot)-1'遍歷總線下所有從站節點ifNODE_AXIS_COUNT(Bus_Slot,i)0
then'判斷當前節點是否有電機forj=0toNODE_AXIS_COUNT(Bus_Slot,i)-1temp_axis=
Bus_AxisStart+Bus_TotalAxisnumba(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狀態
'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'總軸數+1nextendifnext
?"軸號映射完成","連接總軸數:"Bus_TotalAxisnumwa2000SLOT_START(Bus_Slot)'啟動總線ifreturn
then?"總線開啟成功"?"開場去除驅動器錯誤(根據驅動器數據字典設置)"fori=Bus_AxisStarttoBus_AxisStart+
Bus_TotalAxisnum-1DRIVE_CONTROLWORD(i)=128'根據驅動器數據字典wa100
DRIVE_CONTROLWORD(i)=6wa100DRIVE_CONTROLWORD(i)=15wa100next?"驅動器錯誤去除完成"
wa100?"去除控制器錯誤"datum(0)DRIVE_CLEAR(0)?"控制器錯誤去除完成"wa100?"軸使能準備"fori=
Bus_AxisStarttoBus_AxisStart+Bus_TotalAxisnum-1ba(i)AXIS_ENABLE=1next
wdog=1'使能總開關Bus_InitStatus=1?"軸使能完成"el?"總線開啟失敗"Bus_InitStatus=0
endifel?"總線掃描失敗"Bus_InitStatus=0endifendsub
四、LabVIEW編程介紹
在進入詳細程序介紹前,我們先來大概解析一下LabVIEW終究是怎么編程的。
W編程構造--while循環構造
While循環構造顧名思義,就是類似于C語言中的while,或者是正運動開發環境ZDevelop中使用的while循環一般,來對程序進展循環掃描。我們可以通過BOOL類型輸入來控制while循環是否完畢,和將
!接入顯示控件來顯示while循環次數。
W編程構造--事件構造
事件構造是我們進展人機交互的主要構造,在事件構造中,我們可以自由添加外部控件的觸發事件。
例如:在前面板處,我們添加了一個“以太網連接〞的控件,當我們想在這個控件按下時,執行對應的程序,我們就可以在事件構造中添加這個控件的事件,以此來到達我們的目的。
第一步控制器連接
第二步添加事件分支
第三步編輯事件
第四步添加以太網連接控件
第五步按下“以太網連接〞控件
此時當我們按下“以太網連接〞控件后,可以發現彈出一個消
息框,消息框顯示“鼠標按下〞,這個正是我們所要顯示的字符常量。
W編程構造--條件構造。
此構造類似于C語言中的if語句,當條件構造中的?輸入為真時,執行“真〞內程序,當條件構造的?輸入為假時,執行“假〞內程序。
W編程構造--程序運行順序。
在LabVIEW中一般是最后添加的函數先執行。
所以,為了進展先后順序執行,我們可以使用順序構造來進展分類。
第一步
第二步
第三步
五LabVIEW初始化EtherCAT總線
1.下載初始化文件函數。
如今我們來介紹一下,下載“Bas文件〞到控制器里所用到的函數。
W中函數使用實例。
下面我們以例程8-總線控制運動例程來講解一下ZAux_BasDown函數使用方式。
(1)首先,我們在事件構造中添加了【“下載Bas文件】值改變〞鼠標按下事件。
也就是當我們控件界面的“下載Bas文件〞按鍵按下時觸發該事件。
(2)接下來是知足“條件構造〞中的條件,即句柄不為0時,執行條件構造中“真〞程序。
在“條件構造〞中我們看到還有一個“文件對話框〞的控件,該控件可以為我們翻開一個用于選擇下載文件的對話框。剩下的就是選擇我們需要初始化的總線文件即可。
(3)初始化完成后,我們可以看見軸狀態為65,這代表我們使用的是csp位置形式。
W中軸狀態顯示。
(1)軸狀態欄因為是實時更新的,所以需要我們循環地訪問控制器里的軸參數。這里我們可以在“事件構造〞中的“超時〞處寫入我們的讀取軸參數程序。“超時〞事件是在其他事件未
觸發時,“事件構造〞中默認執行的事件。
這里我們可以看到,此處“超時〞事件中有兩個“條件構造〞一個是軸參數讀取“條件構造〞。在軸參數讀取的條件構造中,當連接句柄不為0時,軸參數讀取的“條件構造〞便處于執行狀態,也就是只要我們一旦連接上了控制器,軸參數便一直處于實時讀取狀態。
另一個“條件構造〞是總線初始化顯示程序,當“文件下載標志〞、“初始化狀態〞、“連接句柄〞三個變量有一個不知足要求時,便重新讀取一下總線節點、初始化文件里的“Bus_InitStatus〞初始化完成標志、“Bus_TotalAxisnum〞總線總軸數。
W中EtherCAT交互。
要解析EtherCAT總線的SDO通訊的程序實現,我們可以在“事件構造〞中看一下“設置〞和“讀取〞兩個按鍵里的程序。
(1)“設置〞事件程序。
我們可以看見“設置〞事件中僅調用了一個“ZAux_BusCmd_SDOWrite〞函數就可以實現。
(2)“讀取〞事件程序。
讀取也只需要調用“ZAux_BusCmd_SDORead〞函數即可實現。
六調試與監控
1.因為,ECI2828是通過TCP/IP與PC建立連接的,這意味著我們可以建立多條連接。因此,在使用啟動LabVIEW程序時,我們還可以使用正運動開發環境ZDevelop來監控當前控制器運行狀態。
通過打印信息,我們可以看見總線初始化已成功。
2.示波器使用。
連接“ZDevelop〞軟件通過軟件右側的軸參數進展控制器狀態監控,可以以點擊“視圖〞→“示波器〞翻開示波器對軸運動情況進展監控。
示波器可以實現實時監控當前的命令位置和反應位置。
3.調試視頻。
本次,正運動技術EtherCAT運動控制卡和LabVIEW構建智能裝備(三),就共享到這里。
更多精彩內容請關注“正運動小助手〞公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。
本文由正運動技術原創,歡送大家轉載,共同學習,一起進步中國智能制造程度。文章版權歸正運動技術所有,如有轉載請注明文章來源。
0
本文發布于:2024-01-04 00:11:30,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1704298291132728.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:【正運動】EtherCAT運動控制卡和LabVIEW構建智能裝備(三).doc
本文 PDF 下載地址:【正運動】EtherCAT運動控制卡和LabVIEW構建智能裝備(三).pdf
| 留言與評論(共有 0 條評論) |