時(shí)間:2024-10-16 16:59:12來(lái)源:深圳市正運(yùn)動(dòng)技術(shù)有限公司
EIO24088-V2及EIO16084擴(kuò)展模塊配合正運(yùn)動(dòng)的主站控制器的使用分為三步。第一步:進(jìn)行硬件接線;第二步:總線初始化建立EtherCAT通訊連接,初始化中需要對(duì)擴(kuò)展的軸資源和IO資源的進(jìn)行映射防止與控制器的資源產(chǎn)生沖突;第三步:通過(guò)相應(yīng)指令讀寫IO及控制電機(jī)運(yùn)動(dòng)。
今天正運(yùn)動(dòng)小助手給大家分享一下EIO24088-V2及EIO16084如何用RTSys總線進(jìn)行配置和使用。
·EIO24088-V2擴(kuò)展模塊硬件介紹·
EIO24088-V2總線擴(kuò)展模塊是EtherCAT總線控制器使用的擴(kuò)展模塊,當(dāng)數(shù)字IO、脈沖軸資源不夠需要擴(kuò)展增加的時(shí)候,控制器可通過(guò)EtherCAT總線連接多個(gè)EtherCAT擴(kuò)展模塊進(jìn)行擴(kuò)展??刂破骺赏ㄟ^(guò)映射編號(hào)直接訪問(wèn)EIO24088-V2的IO資源和軸資源。
·支持8個(gè)脈沖軸進(jìn)行擴(kuò)展;
·支持?jǐn)U展24路數(shù)字量輸入和8路數(shù)字量輸出,每個(gè)脈沖軸另外各有1路數(shù)字量輸入和1路數(shù)字量輸出可供配置;
·脈沖輸出模式為方向/脈沖或雙脈沖輸出;
·每軸最大輸出脈沖頻率10MHz;
·脈沖軸以外的輸出口最大輸出電流達(dá)300mA,可直接驅(qū)動(dòng)部分電磁閥。
應(yīng)用框圖如下所示:
·EIO16084擴(kuò)展模塊硬件介紹·
EIO16084總線擴(kuò)展模塊是EtherCAT總線控制器使用的擴(kuò)展模塊,當(dāng)數(shù)字IO、脈沖軸資源不夠需要擴(kuò)展增加的時(shí)候,控制器可通過(guò)EtherCAT總線連接多個(gè)EtherCAT擴(kuò)展模塊進(jìn)行擴(kuò)展??刂破骺赏ㄟ^(guò)映射編號(hào)直接訪問(wèn)EIO16084的IO資源和軸資源。
· 支持4個(gè)脈沖軸擴(kuò)展;
· 支持?jǐn)U展16路數(shù)字量輸入和8路數(shù)字量輸出,每個(gè)脈沖軸另外各有2路數(shù)字量輸入和2路數(shù)字量輸入可供配置;
· 脈沖輸出模式為方向/脈沖或雙脈沖;
· 每軸最大輸出脈沖頻率10MHz;
· 脈沖軸以外的輸出口最大輸出電流達(dá)300mA,可直接驅(qū)動(dòng)部分電磁閥。
應(yīng)用框圖如下所示:
一、接口說(shuō)明
1、EtherCAT總線通訊接口的接線EIO24088-V2帶兩個(gè)EtherCAT總線接口,接線時(shí)注意EtherCAT IN連接主控制器或上級(jí)模塊,EtherCAT OUT連接下一級(jí)擴(kuò)展板,IN和OUT口不可混用。
2、通用輸入口EIO24088-V2帶24個(gè)通用輸入口,輸入口需要先使用NODE_IO指令配置IO地址編號(hào)才能通過(guò)控制器端操作。通用輸入口IN的內(nèi)部電路參考圖如下,輸入口參數(shù)參見下表。通用輸入口IN的內(nèi)部電路參考圖:
輸入口參數(shù)說(shuō)明:
3、通用輸出口EIO24088-V2帶8個(gè)通用輸出口,輸出口需要先使用NODE_IO指令配置IO地址編號(hào)后才能通過(guò)控制器端操作(NODE_IO指令使用一次便可配置好輸入和輸出)。通用輸出口OUT的內(nèi)部電路參考圖如下,輸出口參數(shù)參見下表。通用輸出口OUT的內(nèi)部電路參考圖:
輸出口參數(shù)說(shuō)明:
4、軸接口EIO24088-V2的軸接口有8個(gè),采用DB26針腳,軸接口包含差分脈沖輸入信號(hào)和差分編碼器輸入信號(hào),同時(shí)有一路通用輸入口和一路通用輸出口(EIO16084有兩路通用輸入口和兩路通用輸出信號(hào))。針腳定義說(shuō)明:
可以通過(guò)數(shù)據(jù)字典中的6013h配置EIO擴(kuò)展板直接使能與告警,缺省不使用,需要主控制器來(lái)操作。
二、總線接線參考
EIO24088-V2擴(kuò)展模塊接線規(guī)則:EIO24088-V2可接到EtherCAT總線上的任意節(jié)點(diǎn)。
EIO24088-V2為總線上的一個(gè)設(shè)備節(jié)點(diǎn),可接入8個(gè)脈沖型驅(qū)動(dòng)器,驅(qū)動(dòng)器按照AXIS 0到AXIS 7的順序依次編號(hào),并且遵從總線上的驅(qū)動(dòng)器編號(hào)規(guī)則,需要進(jìn)行軸映射。
驅(qū)動(dòng)器的使能信號(hào)為脈沖接口內(nèi)的通用輸出口,直接通過(guò)主控制器的OP指令來(lái)使能,或使用SDO指令配置數(shù)據(jù)字典6013h中的BIT8為1后為即可自動(dòng)使能,主控制器無(wú)法直接控制對(duì)應(yīng)的輸出口來(lái)使能,只需WDOG置1及對(duì)應(yīng)軸的AXIS_ENABLE置1即可。
注意:軸擴(kuò)展模塊的使用個(gè)數(shù)不是無(wú)限制的,參考控制器可擴(kuò)展的最大軸數(shù)。
ZMC432-V2本體有6個(gè)脈沖軸,通過(guò)EtherCAT擴(kuò)展了節(jié)點(diǎn)0、1、2、3四個(gè)總線軸,節(jié)點(diǎn)4八個(gè)總線轉(zhuǎn)脈沖軸。擴(kuò)展軸上的AXIS0-7(對(duì)應(yīng)下圖中驅(qū)動(dòng)器編號(hào)4-11)分別手動(dòng)映射為軸號(hào)10-17。控制器、EIO擴(kuò)展模塊和驅(qū)動(dòng)器的接線參考如下圖:
涉及的總線相關(guān)指令參數(shù)概念如下:
1、槽位號(hào)(slot)
槽位號(hào)是指控制器上總線接口的編號(hào),缺省為0。當(dāng)控制器上有多個(gè)總線接口時(shí),在線命令發(fā)送?*SLOT查看。
運(yùn)動(dòng)控制器支持單總線時(shí),槽位號(hào)為0。
支持雙總線時(shí),EtherCAT總線槽位號(hào)為0,RTEX總線槽位號(hào)為1。
2、設(shè)備號(hào)(node)
設(shè)備號(hào)是指一個(gè)槽位上連接的所有設(shè)備的編號(hào),從0開始,按設(shè)備在總線上的連接順序自動(dòng)編號(hào),可以通過(guò)NODE_COUNT(slot)指令查看總線上連接的設(shè)備總數(shù)。
3、驅(qū)動(dòng)器編號(hào)
控制器會(huì)自動(dòng)識(shí)別出槽位上的驅(qū)動(dòng)器,編號(hào)從0開始,按驅(qū)動(dòng)器在總線上的連接順序自動(dòng)編號(hào)。
驅(qū)動(dòng)器編號(hào)與設(shè)備號(hào)不同,只給槽位上的驅(qū)動(dòng)器設(shè)備編號(hào),其他設(shè)備忽略。
三、擴(kuò)展資源映射方法
EIO24088-V2或EIO16084擴(kuò)展模塊上有兩類資源需要映射,軸資源和IO資源。1、IO映射控制器上程序只需通過(guò)IO編號(hào)就可以訪問(wèn)到擴(kuò)展模塊上的資源,EtherCAT總線擴(kuò)展模塊IO編號(hào)通過(guò)總線指令NODE_IO來(lái)設(shè)置,同時(shí)配置輸入和輸出。IO映射時(shí)先查看控制器自身的最大IO編號(hào)(包括外部IO接口和脈沖軸內(nèi)的接口),再使用指令設(shè)置。若擴(kuò)展的IO與控制器自身IO編號(hào)重合,二者將同時(shí)起作用,所以IO映射的映射的編號(hào)在整個(gè)控制系統(tǒng)中均不得重復(fù)。IO映射語(yǔ)法:NODE_IO(slot,node)=iobaseslot:槽位號(hào),0-缺省node:設(shè)備編號(hào),編號(hào)從0開始iobase:映射IO起始編號(hào),設(shè)置結(jié)果只會(huì)是8的倍數(shù)示例:
·
NODE_IO(0,0)=32 '設(shè)置槽位0接口設(shè)備0的IO起始編號(hào)為32
若設(shè)備0為EIO24088-V2,按如上語(yǔ)法配置后,起始編號(hào)映射為32,該擴(kuò)展模塊上的輸入編號(hào)為外部自帶的24點(diǎn)+軸接口通用輸入8點(diǎn),一共32點(diǎn),范圍32-63,輸出編號(hào)為外部的8點(diǎn)+軸接口通用輸出8點(diǎn),共16點(diǎn),范圍32-47。
2、軸映射
擴(kuò)展模塊的軸使用前需要使用“AXIS_ADDRESS”指令映射軸號(hào),軸映射也需要注意整個(gè)系統(tǒng)的軸號(hào)不得重復(fù)。EIO系列擴(kuò)展軸的映射與總線驅(qū)動(dòng)器的軸映射語(yǔ)法相同。軸映射語(yǔ)法:
AXIS_ADDRESS(軸號(hào))=(槽位號(hào)<<16)+驅(qū)動(dòng)器編號(hào)+1
示例:
·
AXIS_ADDRESS(0)=(0<<16)+0+1 'EtherCAT總線上的第一個(gè)驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)0,綁定為軸0AXIS_ADDRESS(1)=(0<<16)+1+1 'EtherCAT總線上的第二個(gè)驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)1,綁定為軸1
若第一個(gè)節(jié)點(diǎn)是EIO24088-V2,那么這里的驅(qū)動(dòng)器編號(hào)0對(duì)應(yīng)連接在EIO24088-V2上的第一個(gè)總線轉(zhuǎn)脈沖型驅(qū)動(dòng)器。
四、總線初始化
EIO24088-V2擴(kuò)展模塊需要經(jīng)過(guò)總線初始化之后才能使用,下圖為總線初始化流程。
進(jìn)行總線初始化有兩種方式:
? 通過(guò)正運(yùn)動(dòng)提供的總線初始化腳本進(jìn)行初始化
? 找到RTSys的工程設(shè)置,打開啟動(dòng)軸配置及EtherCAT配置自行配置
先給大家介紹的是第一種通過(guò)總線初始化腳本進(jìn)行總線初始化,此初始化程序可用來(lái)初始化EtherCAT驅(qū)動(dòng)器和EtherCAT總線擴(kuò)展模塊,建立通訊連接(通用模板,適用于多種品牌的驅(qū)動(dòng)器),可找正運(yùn)動(dòng)廠商提供。
1、在RTSys或ZDevelop中新建一個(gè)工程
2、把總線初始化腳本添加至工程
3、設(shè)置初始化腳本的任務(wù)號(hào)
4、設(shè)置本地脈沖軸數(shù)和起始編號(hào)及總線軸的起始編號(hào),不使用本地脈沖軸只使用總線軸可使用默認(rèn)配置(可根據(jù)實(shí)際使用情況修改參數(shù)),演示時(shí)使用了六個(gè)本地脈沖軸,ECAT總線連接了一個(gè)EIO24088-V2及兩個(gè)松下的驅(qū)動(dòng)器及一個(gè)臺(tái)達(dá)的驅(qū)動(dòng)器。
5、總線初始化模板程序:
·
'控制器最大軸數(shù)TABLE(0)= SYS_ZFEATURE(0)GLOBAL CONST ControlMaxAxis = TABLE(0)'支持電機(jī)個(gè)數(shù)TABLE(0)= SYS_ZFEATURE(1)GLOBAL CONST RealAxisMax = TABLE(0)'槽位號(hào),(單總線控制器缺省0,具體查看硬件手冊(cè))GLOBAL CONST Bus_Slot = 0'本地脈沖軸起始編號(hào)GLOBAL CONST LocalAxis_Start = 11'本地脈沖軸軸數(shù)量GLOBAL CONST LocalAxis_Num = 2'總線軸起始編號(hào)GLOBAL CONST BusAxis_Start = 0'總線驅(qū)動(dòng)器起始IOSGLOBAL CONST BusStaraIoNum=128'總線初始化狀態(tài) -1--未進(jìn)行 0--初始化錯(cuò)誤 1--初始化完成GLOBAL ECAT_InitEnableECAT_InitEnable = -1'延遲3秒,等待驅(qū)動(dòng)器上電,不同驅(qū)動(dòng)器自身上電時(shí)間不同,具體根據(jù)驅(qū)動(dòng)器調(diào)整延時(shí)DELAY(3000)'? "總線通訊周期:",SERVO_PERIOD,"us"ECAT_Init() '調(diào)用初始化函數(shù)DIM ScanNum'如果沒有掃描到在掃描4次IF ECAT_InitEnable<>1 THEN FOR ScanNum=0 to 3 ECAT_Init() '調(diào)用初始化函數(shù) IF ECAT_InitEnable=1 THEN EXIT FOR NEXTENDIF END'/*************************************************************'Description: //總線軸初始化'Input: //'Input: //'Input: //'Output: // ECAT_InitEnable=ON -->初始化完成標(biāo)志'Return: // '*************************************************************/GLOBAL SUB ECAT_Init() LOCAL NodeSum_Num ,BusAxis_Num ,NodeAxis_Num '設(shè)備總數(shù)、總線軸總數(shù)、每個(gè)節(jié)點(diǎn)上的電機(jī)數(shù) LOCAL Drive_Vender,Drive_Device,Drive_Alias '驅(qū)動(dòng)廠商編號(hào)、驅(qū)動(dòng)設(shè)備編號(hào)、驅(qū)動(dòng)設(shè)備撥碼ID local i,j ? "總線通訊周期:",SERVO_PERIOD,"us" RAPIDSTOP(2) '初始化還原軸類型 FOR i = 0 TO ControlMaxAxis - 1 AXIS_ADDRESS(i) = 0 AXIS_ENABLE(i) = 0 ATYPE(i) = 0 WAIT IDLE(i) NEXT '本地軸重新映射 FOR i=0 TO LocalAxis_Num -1 AXIS_ADDRESS(LocalAxis_Start+i)= (-1<<16) + i '將本地軸0-->i映射到軸20-->20+i ATYPE(LocalAxis_Start+i)=0 '軸類型 NEXT ECAT_InitEnable = -1 SYSTEM_ZSET = SYSTEM_ZSET OR 128 '掃描總線驅(qū)動(dòng)器 FOR i=0 to 3 SLOT_STOP(Bus_Slot) DELAY(200) SLOT_SCAN(Bus_Slot) IF NODE_COUNT(Bus_Slot) THEN EXIT FOR DELAY(1000) NEXT IF RETURN THEN NodeSum_Num = NODE_COUNT(Bus_Slot) ? "總線掃描成功,連接設(shè)備數(shù):",NodeSum_Num '總線軸總數(shù),從0開始計(jì)數(shù) BusAxis_Num = 0 FOR i = 0 TO NodeSum_Num - 1 NodeAxis_Num = NODE_AXIS_COUNT(Bus_Slot,i) '讀取設(shè)備電機(jī)數(shù) Drive_Vender = NODE_INFO(Bus_Slot,i,0) '讀取驅(qū)動(dòng)器廠商 Drive_Device = NODE_INFO(Bus_Slot,i,1) '讀取設(shè)備編號(hào) Drive_Alias = NODE_INFO(Bus_Slot,i,3) '讀取設(shè)備撥碼ID '軸設(shè)置 FOR j = 0 TO NodeAxis_Num - 1 AXIS_ADDRESS(BusAxis_Num+BusAxis_Start) = BusAxis_Num + 1 '映射軸號(hào) ATYPE(BusAxis_Num+BusAxis_Start) = 65 '設(shè)置控制模式 65-位置 66-速度 67-轉(zhuǎn)矩 詳細(xì)參照AXISSTATUS DRIVE_PROFILE(BusAxis_Num+BusAxis_Start) = 0 '驅(qū)動(dòng)器PDO設(shè)置,驅(qū)動(dòng)器默認(rèn)設(shè)置-- -1 位置模式--0 速度模式--20+ 力矩模式--30+ DISABLE_GROUP(BusAxis_Num+BusAxis_Start) '每軸單獨(dú)分組 IF DRIVE_PROFILE(BusAxis_Num+BusAxis_Start)=4 OR DRIVE_PROFILE(BusAxis_Num+BusAxis_Start)=5 THEN '設(shè)置總線驅(qū)動(dòng)器的起始IO地址 DRIVE_IO (BusAxis_Num+BusAxis_Start) = BusStaraIoNum+8*(BusAxis_Num+BusAxis_Start) '設(shè)置負(fù)限位 REV_IN(BusAxis_Num+BusAxis_Start) = DRIVE_IO (BusAxis_Num+BusAxis_Start) INVERT_IN(DRIVE_IO (BusAxis_Num+BusAxis_Start),ON) '設(shè)置正限位 FWD_IN(BusAxis_Num+BusAxis_Start) = DRIVE_IO (BusAxis_Num+BusAxis_Start)+1 INVERT_IN(DRIVE_IO (BusAxis_Num+BusAxis_Start)+1,ON) '設(shè)置原點(diǎn) DATUM_IN(BusAxis_Num+BusAxis_Start) = DRIVE_IO (BusAxis_Num+BusAxis_Start)+2 INVERT_IN(DRIVE_IO (BusAxis_Num+BusAxis_Start)+2,ON) ELSEIF DRIVE_PROFILE(BusAxis_Num+BusAxis_Start)<4 THEN IF REV_IN(BusAxis_Num+BusAxis_Start)>=BusStaraIoNum THEN '取消設(shè)置負(fù)限位 REV_IN(BusAxis_Num+BusAxis_Start) = -1 ENDIF IF FWD_IN(BusAxis_Num+BusAxis_Start)>=BusStaraIoNum THEN '取消設(shè)置正限位 FWD_IN(BusAxis_Num+BusAxis_Start) = -1 ENDIF IF DATUM_IN(BusAxis_Num+BusAxis_Start)>=BusStaraIoNum THEN '取消設(shè)置原點(diǎn) DATUM_IN(BusAxis_Num+BusAxis_Start) = -1 ENDIF ENDIF BusAxis_Num = BusAxis_Num + 1 '總線軸計(jì)數(shù)+1 NEXT '正運(yùn)動(dòng)24088總線轉(zhuǎn)脈沖擴(kuò)展軸 IF Drive_Vender = $41B AND Drive_Device = $1ab0 THEN local k for k=0 to 7 SDO_WRITE(Bus_Slot,i,$6011+k*$800,0,5,7) '設(shè)置擴(kuò)展脈沖軸ATYPE類型 SDO_WRITE(Bus_Slot,i,$6012+k*$800,0,6,0) '設(shè)置擴(kuò)展脈沖軸INVERT_STEP脈沖輸出模式 NODE_IO(Bus_Slot,i) = 32 + 32*i '設(shè)置24088上IO的起始映射地址 next ENDIF NEXT ? "軸掃描映射完成,連接總線軸數(shù):",BusAxis_Num DELAY(100) SLOT_START(Bus_Slot) WA(3000) ' 延遲3秒,等待驅(qū)動(dòng)器時(shí)鐘同步,不同驅(qū)動(dòng)器時(shí)間不同,具體根據(jù)驅(qū)動(dòng)器調(diào)整延時(shí) IF RETURN THEN ? "開始清除驅(qū)動(dòng)器報(bào)警" FOR i = BusAxis_Start TO BusAxis_Start + BusAxis_Num - 1 BASE(i) DRIVE_CLEAR(0) WA(10) DRIVE_CONTROLWORD(i) = 128 ' 伺服錯(cuò)誤清除 WA(10) DRIVE_CONTROLWORD(i)=6 ' 伺服shutdown WA(10) 'DRIVE_CONTROLWORD(i)=7 ' 伺服disable voltage 'WA(10) DRIVE_CONTROLWORD(i)=15 ' 伺服fault reset WA(10) NEXT DELAY(100) ? "控制器報(bào)警清除完成" DATUM(0) ' 清除所有軸的錯(cuò)誤狀態(tài)。 DELAY(1000) ?"開始伺服使能" WDOG = 1 FOR i = BusAxis_Start TO BusAxis_Start + BusAxis_Num - 1 AXIS_ENABLE(i) = 1 NEXT ?"伺服使能完成" ECAT_InitEnable = 1 ELSE ?"總線開啟失敗" ECAT_InitEnable = 0 ENDIF ELSE ?"總線掃描失敗" ECAT_InitEnable = 0 ENDIFENDSUB
參考配置采用控制器依次連接一個(gè)EIO24088-V2擴(kuò)展模塊和兩個(gè)松下及一個(gè)臺(tái)達(dá)的EtherCAT總線驅(qū)動(dòng)器,采用以上初始化程序,成功建立通訊連接,控制器狀態(tài)窗口顯示當(dāng)前掃描連接的節(jié)點(diǎn)情況??偩€上的主站為控制器,控制器連接的第一個(gè)從站設(shè)備為EIO24088-V2擴(kuò)展模塊,第二個(gè)、第三個(gè)和第四個(gè)從站設(shè)備為EtherCAT總線驅(qū)動(dòng)器,可使用控制器的本地脈沖軸接口。總線上的驅(qū)動(dòng)設(shè)備映射軸號(hào)從0開始,EIO24088-V2擴(kuò)展模塊的AXIS 0-7接口上的脈沖驅(qū)動(dòng)器映射為軸號(hào)0-7,三個(gè)EtherCAT總線驅(qū)動(dòng)器映射為軸號(hào)8-10,本地軸從11開始,EIO24088-V2擴(kuò)展模塊的IO編號(hào)起始為32。
注意:映射的軸號(hào)和IO編號(hào)整個(gè)控制系統(tǒng)中不得重復(fù),根據(jù)具體情況去選擇編號(hào)。
接下來(lái)給大家介紹第二種總線初始化配置的方法,通過(guò)RTSys的工程設(shè)置自行配置總線初始化腳本。
1、在RTSys中新建一個(gè)工程
2、打開EtherCAT配置。在工程視圖右鍵選擇工程設(shè)置,勾選軸配置及EtherCAT配置
3、掃描出要配置的總線節(jié)點(diǎn)
4、自行配置軸號(hào)及類型
(1)雙擊控制器打開控制器配置界面;
(2)選擇需要使用的本地脈沖軸數(shù)(此演示選擇兩個(gè)本地脈沖軸);
(3)給本地脈沖軸重映射軸號(hào);
(4)選擇本地脈沖軸的軸類型,根據(jù)使用情況自行選擇;
(5)對(duì)EtherCAT掃描到的總線軸進(jìn)行軸號(hào)映射;
(6)設(shè)置軸類型;
(7)根據(jù)使用情況選擇65/66/67(不同軸類型所需的PDO列表不同);
(8)點(diǎn)擊應(yīng)用自動(dòng)生成Startup.bas總線配置文件。
此演示配置了兩個(gè)本地脈沖軸(軸號(hào)重映射成11,12),EIO24088-V2的八個(gè)總線轉(zhuǎn)脈沖軸(軸號(hào)映射成0-7),兩個(gè)松下總線伺服驅(qū)動(dòng)器及一個(gè)高創(chuàng)總線伺服驅(qū)動(dòng)器(軸號(hào)映射成8-10)。
5、進(jìn)行PDO設(shè)置,根據(jù)需求選擇
(1)選擇需要配置的節(jié)點(diǎn)(此演示是選擇EIO24088-V2);
(2)選擇需要配置的軸(八個(gè)軸都需要配置);
(3)進(jìn)行PDO設(shè)置(選擇0即可);
(4)所有軸都配置完后點(diǎn)擊應(yīng)用保存配置。
在幫助文檔中可查詢各PDO設(shè)置的數(shù)據(jù)字典詳情,根據(jù)需求自行選擇。
6、把配置好的Startup.bas下載進(jìn)控制器進(jìn)行總線初始化
五、通過(guò)RTSys測(cè)試擴(kuò)展的資源
1、測(cè)試IO資源在沒有IO設(shè)備的情況下,我們可以通過(guò)OUT和IN端口直接相連判斷IO的響應(yīng)情況,如下圖,測(cè)試EIO擴(kuò)展模塊的IO配置,將EIO的OUT2(映射編號(hào)34)端子連接到EIO24088-V2的IN8(映射編號(hào)40)上,操作OP(34)可見輸入口40收到信號(hào)。
測(cè)試IO資源也可通過(guò)打開工程設(shè)置的EtherCAT配置測(cè)試總線擴(kuò)展模塊的IO資源。
(1)打開EIO24088-V2的界面;
(2)打開EIO24088-V2的輸入輸出口;
(3)將總線擴(kuò)展EIO24088-V2上的OUT2和IN7相連,把OUT2打開后IN7也被置1說(shuō)明IO正常。
2、測(cè)試脈沖軸
首先將對(duì)要測(cè)試的脈沖軸進(jìn)行映射(初始化中已映射不需要),如測(cè)試EIO24088-V2的軸1。
·
AXIS_ADDRESS(7)=(0<<16)+1+1 'EtherCAT總線上的第二個(gè)驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)1,綁定為軸7
擴(kuò)展模塊的DRIVE_PROFILE配置為0,ATYPE設(shè)為65,但由于擴(kuò)展是總線轉(zhuǎn)脈沖型驅(qū)動(dòng)器,軸類型并不是65,真實(shí)軸類型的配置使用SDO指令配置數(shù)據(jù)字典6011h設(shè)置。
SDO指令配置驅(qū)動(dòng)器參數(shù):
例如:擴(kuò)展的脈沖軸的真實(shí)軸類型設(shè)置通過(guò)數(shù)據(jù)字典6011h設(shè)置,(參考下表的參數(shù),按軸號(hào)依次設(shè)置,第一個(gè)驅(qū)動(dòng)器設(shè)置數(shù)據(jù)字典6011h+0*800h,第二個(gè)驅(qū)動(dòng)器設(shè)置6011h+1*800h,以此類推,每個(gè)驅(qū)動(dòng)器加800h,其他參數(shù)同理)。
(1)輸入輸出:
(2)第一個(gè)擴(kuò)展模塊上第一個(gè)驅(qū)動(dòng)器:
數(shù)據(jù)字典讀取語(yǔ)法:
SDO_READ (槽位號(hào), 設(shè)備編號(hào), 數(shù)據(jù)字典編號(hào), 數(shù)據(jù)字典子編號(hào), 數(shù)據(jù)類型, 讀取數(shù)據(jù)存儲(chǔ)TABLE位置)
SDO_READ_AXIS (軸號(hào), 數(shù)據(jù)字典編號(hào), 數(shù)據(jù)字典子編號(hào), 數(shù)據(jù)類型, 讀取數(shù)據(jù)存儲(chǔ)TABLE位置)
數(shù)據(jù)字典寫入語(yǔ)法:
SDO_WRITE (槽位號(hào), 設(shè)備編號(hào), 數(shù)據(jù)字典編號(hào), 數(shù)據(jù)字典子編號(hào), 數(shù)據(jù)類型, 寫入數(shù)據(jù)值)
SDO_WRITE_AXIS (軸號(hào), 數(shù)據(jù)字典編號(hào), 數(shù)據(jù)字典子編號(hào), 數(shù)據(jù)類型, 寫入數(shù)據(jù)值)
數(shù)據(jù)字典讀寫示例:
讀寫處于節(jié)點(diǎn)0的EIO24088-V2的軸1的軸類型。
·
SDO_WRITE(0, 0, $6011 + 1 * $800, 0, 5, 7) '設(shè)置EIO24088-V2的軸1的軸類型為7SDO_READ(0, 0, $6011 + 1 * $800, 0, 5, -1) '將軸1的軸類型數(shù)據(jù)打印出來(lái)
確認(rèn)好軸類型、脈沖模式,測(cè)試時(shí)先將UNITS(脈沖當(dāng)量)、SPEED(運(yùn)行速度)、ACCEL(加速度)、DECEL(減速度)設(shè)置小一些保證安全,若設(shè)置為自動(dòng)使能(通過(guò)6013H的BIT8設(shè)置)檢查軸使能(AXIS_ENABLE)是否置1,手動(dòng)使能則需軸使能(AXIS_ENABLE)及對(duì)應(yīng)軸使能輸出口置1。
發(fā)送運(yùn)動(dòng)指令看電機(jī)是否正常運(yùn)動(dòng)(看DPOS和MPOS是否變化),后續(xù)再根據(jù)驅(qū)動(dòng)器移動(dòng)1mm或轉(zhuǎn)動(dòng)一圈的脈沖數(shù)填入U(xiǎn)NITS,此時(shí)MOVE(1)即為移動(dòng)1mm或轉(zhuǎn)動(dòng)一圈,SPEED的單位為mm/s或r/s。
注意:如果手動(dòng)運(yùn)動(dòng)時(shí)軸不移動(dòng)但DPOS(指令位置)與MPOS(編碼器反饋位置)在變化說(shuō)明軸有移動(dòng)但移動(dòng)距離太短肉眼看不出來(lái),可適當(dāng)增加UNITS后再移動(dòng)。如果出現(xiàn)手動(dòng)運(yùn)動(dòng)時(shí)軸只能向一個(gè)方向移動(dòng)則需檢查驅(qū)動(dòng)器的軸類型及脈沖模式(通過(guò)驅(qū)動(dòng)器手冊(cè)或其軟件知曉)和6011H及6012H中設(shè)置的軸類型和脈沖模式是否匹配,檢查接線是否松動(dòng)。也可通過(guò)打開工程設(shè)置中的軸配置及EtherCAT配置測(cè)試總線擴(kuò)展模塊的總線轉(zhuǎn)脈沖軸。
(1)選擇需要測(cè)試的軸;
(2)設(shè)置合適的軸參數(shù);
(3)自動(dòng)同步軸參數(shù);
(4)打開軸使能;
(5)通過(guò)正向運(yùn)動(dòng)或反向運(yùn)動(dòng)進(jìn)行點(diǎn)動(dòng)測(cè)試軸是否正常。
本次,正運(yùn)動(dòng)技術(shù)8軸/4軸的EtherCAT軸模塊EIO24088-V2及EIO16084的使用(一):RTSys總線配置與使用就分享到這里。
更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào),需要相關(guān)開發(fā)環(huán)境與例程代碼,請(qǐng)咨詢正運(yùn)動(dòng)技術(shù)銷售工程師:400-089-8936。
本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國(guó)智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來(lái)源。
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測(cè)節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20