本文以正運(yùn)動(dòng)技術(shù)具備專用手輪接口的運(yùn)動(dòng)控制器ZMC408CE為例,介紹手輪、手輪的作用及原理、控制器手輪接口接線以及手輪程序配置。
上節(jié)講解了使用正運(yùn)動(dòng)basic語言進(jìn)行手輪應(yīng)用配置,本節(jié)主要講解C++調(diào)用API函數(shù)庫接口實(shí)現(xiàn)手輪配置。
01手輪作用及原理
手輪也稱手搖脈沖發(fā)生器,主要用于數(shù)控機(jī)床、立體加工中心、臥式加工中心、龍門加工中心等數(shù)控設(shè)備。當(dāng)手輪旋轉(zhuǎn)時(shí),編碼器產(chǎn)生與手輪運(yùn)動(dòng)相對(duì)應(yīng)的信號(hào),通過數(shù)控系統(tǒng)選定座標(biāo)并對(duì)座標(biāo)進(jìn)行定位。
手動(dòng)脈沖發(fā)生器它中心有軸的光電碼盤,其上有環(huán)形通、暗的刻線,搖動(dòng)手輪后,由光電發(fā)射和接收器件讀取,獲得2組正弦波信號(hào)HA、HB,每個(gè)正弦波相差90度相位差。由于HA、HB兩信號(hào)相差90度,可通過A相在前還是B相在前,給出正轉(zhuǎn)脈沖或反轉(zhuǎn)脈沖去控制伺服電機(jī)正轉(zhuǎn)或反轉(zhuǎn)。
02手輪介紹
1.通過手輪上的“軸選擇旋鈕”選擇需要移動(dòng)的坐標(biāo)軸;
2.通過“倍率選擇旋鈕”選擇合適的移動(dòng)倍(×1/×10/×100);
3.旋轉(zhuǎn)“手輪搖柄”移動(dòng)坐標(biāo)軸。順時(shí)針旋轉(zhuǎn)為正向移動(dòng),逆時(shí)針旋轉(zhuǎn)為負(fù)向移動(dòng),旋轉(zhuǎn)速度快慢可以控制坐標(biāo)軸的運(yùn)動(dòng)速度;
4.按鈕“急?!保o急停止手輪運(yùn)動(dòng);
5.控制器手輪接口為雙排標(biāo)準(zhǔn)DB15母頭,需要手輪接頭為雙排標(biāo)準(zhǔn)DB15公頭。
03控制器手輪接口接線
1.硬件介紹
案例采用ZMC408CE運(yùn)動(dòng)控制器,具備專用的手輪接口。
ZMC408CE是正運(yùn)動(dòng)技術(shù)推出的一款高性能EtherCAT總線運(yùn)動(dòng)控制器,核心技術(shù)采用了先進(jìn)的FPGA技術(shù),實(shí)現(xiàn)硬件位置比較輸出、精準(zhǔn)輸出功能,保證連續(xù)軌跡加工的出色性能和穩(wěn)定性,以及動(dòng)態(tài)數(shù)據(jù)捕獲的實(shí)時(shí)性,從而實(shí)現(xiàn)更加精準(zhǔn)控制和提高生產(chǎn)效率和品質(zhì)。
ZMC408CE支持EtherCAT總線軸 + 脈沖軸混合插補(bǔ),可脫機(jī)或聯(lián)機(jī)運(yùn)行,可控電機(jī)軸數(shù)8軸,特殊型號(hào)提供16或32軸可選,支持ZDevelop + 多種高級(jí)上位機(jī)混合編程,可以實(shí)現(xiàn)點(diǎn)位運(yùn)動(dòng)、電子凸輪、直線插補(bǔ)、圓弧插補(bǔ)、連續(xù)軌跡加工和30+種機(jī)器人模型的控制。
ZMC408CE產(chǎn)品亮點(diǎn)
1.高性能處理器,提升運(yùn)算速度、響應(yīng)時(shí)間和掃描周期等;
2.一維/二維/三維、多通道視覺飛拍,高速高精;
3.位置同步輸出PSO,連續(xù)軌跡加工中對(duì)精密點(diǎn)膠膠量控制和激光能量控制等;
4.多軸同步控制,多坐標(biāo)系獨(dú)立控制等;
5.EtherCAT同步周期可快至125us;
6.EtherCAT總線和脈沖軸混合插補(bǔ);
7.直線插補(bǔ)、任意空間圓弧插補(bǔ)、螺旋插補(bǔ)、樣條插補(bǔ)等;
8.應(yīng)用靈活,可PC上位機(jī)開發(fā),也可脫機(jī)獨(dú)立運(yùn)行;
2.控制器手輪接口MPG定義
3.手輪接線參考
4.注意事項(xiàng)
手輪編碼器軸接口接線原理如上圖所示,手輪廠家的設(shè)計(jì)多種多樣,請(qǐng)先查看手輪內(nèi)部的設(shè)計(jì)圖后與運(yùn)動(dòng)控制器確認(rèn)正確后謹(jǐn)慎接線;請(qǐng)使用雙絞屏蔽線,尤其是環(huán)境惡劣的場合,務(wù)必使屏蔽層充分接地。
04函數(shù)接口指令說明
使用ZAux_Direct_Connect命令,將手輪連接到運(yùn)動(dòng)軸,指令說明如下表。
05 C++程序配置
1.配置步驟
(1)參考以上手輪接線示意圖正確連接手輪和控制器;
(2)掃描文章末尾二維碼,下載例程,使用Visual Studio 2022,打開C++手輪運(yùn)動(dòng)例程,運(yùn)行之后根據(jù)型號(hào)選擇EtherNET、串口、PCI、LOCAL任意一種接口連接控制器。
(3)配置軸號(hào);不同控制器型號(hào),手輪軸號(hào),倍率和軸選擇IN編號(hào)不一樣,詳情請(qǐng)參考控制器用戶手冊(cè),本例程使用控制器型號(hào)為ZMC408CE,手輪接口軸號(hào)為8,該控制器手輪接口無可用默認(rèn)AXIS軸號(hào),必須進(jìn)行映射才可以使用,映射避開脈沖軸號(hào),此例程是將手輪映射到軸10。
(4)配置IO;根據(jù)需要賦予軸選(HSX,HSY,HSZ,HSU)和倍率(HX1,HX10,HX100)以及緊急停止 (HEMGN)功能;這些信號(hào)本質(zhì)為數(shù)字輸入信號(hào),有固定的編號(hào),但無固定的功能,需要ZDevelop開發(fā);其名稱為推薦配置的功能,軸選即為connect同步運(yùn)動(dòng)的被連接軸,倍率即connect比率。
(5)完成以上配置即可開始使用手輪。
2.程序運(yùn)行界面
程序運(yùn)行成功后會(huì)顯示以下界面,未連接控制器之前,軸坐標(biāo)和手輪軸坐標(biāo)默認(rèn)為0,手輪狀態(tài)為“未連接”,手輪軸號(hào)為10,鏈接倍率為1,手輪軸脈沖方式為“脈沖+方向”,鏈接軸為“未選擇”。
3.控制器鏈接
選擇IP、串口,鏈接到控制器ZMC408CE,鏈接成功,手輪測試則會(huì)變成“已連接”,若失敗則會(huì)有彈窗“鏈接失敗”點(diǎn)擊確定關(guān)閉彈窗,檢查IP地址或串口地址重新鏈接。
(鏈接成功)(鏈接失?。?/span>4.手輪軸操作
程序鏈接上控制器成功之后,會(huì)獲取軸坐標(biāo)和手輪軸位置。通過手輪的“軸選擇”旋轉(zhuǎn)按鈕選擇鏈接軸,如果鏈接成功,手輪鏈接狀態(tài)會(huì)變成“已鏈接”,鏈接軸也會(huì)顯示出所鏈接的軸號(hào)和鏈接倍率。
如果想要切換連接軸和鏈接倍率,只需要旋轉(zhuǎn)手輪“軸選擇”按鈕和“倍率選擇”按鈕即可。點(diǎn)擊停止按鈕之后,會(huì)自動(dòng)斷開鏈接,此時(shí)手輪的“軸選擇”和“倍率選擇”按鈕處于無效狀態(tài),只有點(diǎn)擊繼續(xù)后才會(huì)重新鏈接,建議在鏈接軸之前先選好鏈接倍率,否則可能會(huì)出撞機(jī)的危險(xiǎn),點(diǎn)擊坐標(biāo)清零則會(huì)將X、Y、Z、手輪的坐標(biāo)全部清零。
5.手輪軸軸號(hào)修改
此例程的手輪軸軸號(hào)綁定到軸10,如果要進(jìn)行修改,可以在手輪設(shè)置中的手輪軸號(hào),直接進(jìn)行更改,手輪脈沖方式也是在此處進(jìn)行修改。
6.手輪軸號(hào)映射
不同控制器的默認(rèn)手輪軸接口不同,具體需要參考控制器手冊(cè),相同點(diǎn)是不管使用哪個(gè)型號(hào)的控制器都需要重新進(jìn)行軸映射將手輪軸映射到其他軸號(hào)去。
在控制器手冊(cè)中找到默認(rèn)手輪接口軸號(hào),使用ZAux_Direct_SetAtype(handle,重映射的軸號(hào),0)將重映射的軸類型設(shè)置為0,還原軸設(shè)置, ZAux_Direct_SetAtype(handle,要修改的本地脈沖軸號(hào),0)將要修改的本地脈沖軸號(hào)軸類型也設(shè)置為0,低版本不設(shè)置會(huì)報(bào)錯(cuò)。
使用本地軸映射指令ZAux_Direct_SetAxisAddress{ handle,重映射的軸號(hào),(-1<<16) +要修改的本地脈沖軸號(hào) }。
7.手輪軸參數(shù)配置
軸號(hào)映射參數(shù)修改完后,接著使用ZAux_Direct_SetAtype(handle,手輪軸軸號(hào),3/6)進(jìn)行修改手輪軸的類型,ATYPE=3正交編碼器,ATYPE=6脈沖方向方式的編碼器,設(shè)置好之后可在運(yùn)行主界面進(jìn)行切換。
使用ZAux_Direct_SetUnits(g_handle,手輪軸號(hào),脈沖當(dāng)量)根據(jù)實(shí)際需求修改手輪軸的脈沖當(dāng)量。
8.建立手輪鏈接
查詢控制器手冊(cè),找到手輪對(duì)應(yīng)軸輸入信號(hào)、倍率信號(hào)、急停信號(hào),使用ZAux_Direct_GetIn(g_handle,輸入口編號(hào),&獲取輸入口的狀態(tài)值)進(jìn)行IO信號(hào)讀取,這里運(yùn)動(dòng)軸是X、Y、Z對(duì)應(yīng)控制器的0、1、2軸。
通過IO信號(hào)的判斷使用同步運(yùn)動(dòng)指令ZAux_Direct_Connect(g_handle,鏈接比率,手輪軸,運(yùn)動(dòng)軸),進(jìn)行軸的鏈接、綁定,使用單軸運(yùn)動(dòng)停止指令ZAux_Direct_Single_Cancel(g_handle,運(yùn)動(dòng)軸,停止模式),斷開軸鏈接。
9.手輪軸位置獲取、清零
建立鏈接之后,需要使用ZAux_Direct_GetMpos(g_handle,手輪軸號(hào),&showpos[手輪軸號(hào)])來獲取,手輪軸的當(dāng)前位置,并顯示在界面上。
使用ZAux_Direct_SetMpos(g_handle,手輪軸號(hào),0)進(jìn)行手輪坐標(biāo)清零。
本次,正運(yùn)動(dòng)技術(shù)EtherCAT運(yùn)動(dòng)控制器在數(shù)控加工手輪隨動(dòng)中的應(yīng)用之C++,就分享到這里。更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào)。
本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來源。
審核編輯黃宇
-
運(yùn)動(dòng)控制器
+關(guān)注
關(guān)注
2文章
390瀏覽量
24626 -
ethercat
+關(guān)注
關(guān)注
18文章
633瀏覽量
38546 -
運(yùn)動(dòng)控制系統(tǒng)
+關(guān)注
關(guān)注
0文章
87瀏覽量
14138
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論