EIO24088-V2及EIO16084擴(kuò)展模塊配合正運(yùn)動(dòng)的主站控制器的使用分為三步。第一步:進(jìn)行硬件接線;第二步:總線初始化建立EtherCAT通訊連接,初始化中需要對(duì)擴(kuò)展的軸資源和IO資源的進(jìn)行映射防止與控制器的資源產(chǎn)生沖突;第三步:通過相應(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í)候,控制器可通過EtherCAT總線連接多個(gè)EtherCAT擴(kuò)展模塊進(jìn)行擴(kuò)展?刂破骺赏ㄟ^映射編號(hào)直接訪問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í)候,控制器可通過EtherCAT總線連接多個(gè)EtherCAT擴(kuò)展模塊進(jìn)行擴(kuò)展?刂破骺赏ㄟ^映射編號(hào)直接訪問EIO16084的IO資源和軸資源。

應(yīng)用框圖如下所示:

一、接口說明
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)才能通過控制器端操作。通用輸入口IN的內(nèi)部電路參考圖如下,輸入口參數(shù)參見下表。
通用輸入口IN的內(nèi)部電路參考圖:

輸入口參數(shù)說明:

3、通用輸出口
EIO24088-V2帶8個(gè)通用輸出口,輸出口需要先使用NODE_IO指令配置IO地址編號(hào)后才能通過控制器端操作(NODE_IO指令使用一次便可配置好輸入和輸出)。通用輸出口OUT的內(nèi)部電路參考圖如下,輸出口參數(shù)參見下表。
通用輸出口OUT的內(nèi)部電路參考圖:

輸出口參數(shù)說明:

4、軸接口
EIO24088-V2的軸接口有8個(gè),采用DB26針腳,軸接口包含差分脈沖輸入信號(hào)和差分編碼器輸入信號(hào),同時(shí)有一路通用輸入口和一路通用輸出口(EIO16084有兩路通用輸入口和兩路通用輸出信號(hào))。
針腳定義說明:

可以通過數(shù)據(jù)字典中的6013h配置EIO擴(kuò)展板直接使能與告警,缺省不使用,需要主控制器來操作。
二、總線接線參考
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)的通用輸出口,直接通過主控制器的OP指令來使能,或使用SDO指令配置數(shù)據(jù)字典6013h中的BIT8為1后為即可自動(dòng)使能,主控制器無法直接控制對(duì)應(yīng)的輸出口來使能,只需WDOG置1及對(duì)應(yīng)軸的AXIS_ENABLE置1即可。
注意:軸擴(kuò)展模塊的使用個(gè)數(shù)不是無限制的,參考控制器可擴(kuò)展的最大軸數(shù)。
ZMC432-V2本體有6個(gè)脈沖軸,通過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?刂破鳌IO擴(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),可以通過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映射
控制器上程序只需通過IO編號(hào)就可以訪問到擴(kuò)展模塊上的資源,EtherCAT總線擴(kuò)展模塊IO編號(hào)通過總線指令NODE_IO來設(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映射語法:
NODE_IO(slot,node)=iobase
slot:槽位號(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,按如上語法配置后,起始編號(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)器的軸映射語法相同。
軸映射語法:
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,綁定為軸0
AXIS_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)過總線初始化之后才能使用,下圖為總線初始化流程。

進(jìn)行總線初始化有兩種方式:
1.通過正運(yùn)動(dòng)提供的總線初始化腳本進(jìn)行初始化
2.找到RTSys的工程設(shè)置,打開啟動(dòng)軸配置及EtherCAT配置自行配置
先給大家介紹的是第一種通過總線初始化腳本進(jìn)行總線初始化,此初始化程序可用來初始化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)器起始IOS
GLOBAL CONST BusStaraIoNum=128
'總線初始化狀態(tài) -1--未進(jìn)行 0--初始化錯(cuò)誤 1--初始化完成
GLOBAL ECAT_InitEnable
ECAT_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
NEXT
ENDIF
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)EIO24088-V2總線轉(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
ENDIF
ENDSUB
參考配置采用控制器依次連接一個(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)。

接下來給大家介紹第二種總線初始化配置的方法,通過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)行總線初始化

五、通過RTSys測(cè)試擴(kuò)展的資源
1、測(cè)試IO資源
在沒有IO設(shè)備的情況下,我們可以通過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資源也可通過打開工程設(shè)置的EtherCAT配置測(cè)試總線擴(kuò)展模塊的IO資源。
(1)打開EIO24088-V2的界面;
(2)打開EIO24088-V2的輸入輸出口;
(3)將總線擴(kuò)展EIO24088-V2上的OUT2和IN7相連,把OUT2打開后IN7也被置1說明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è)置通過數(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ù)字典讀取語法:
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ù)字典寫入語法:
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的軸類型為7
SDO_READ(0, 0, $6011 + 1 * $800, 0, 5, -1) '將軸1的軸類型數(shù)據(jù)打印出來

確認(rèn)好軸類型、脈沖模式,測(cè)試時(shí)先將UNITS(脈沖當(dāng)量)、SPEED(運(yùn)行速度)、ACCEL(加速度)、DECEL(減速度)設(shè)置小一些保證安全,若設(shè)置為自動(dòng)使能(通過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(編碼器反饋位置)在變化說明軸有移動(dòng)但移動(dòng)距離太短肉眼看不出來,可適當(dāng)增加UNITS后再移動(dòng)。
如果出現(xiàn)手動(dòng)運(yùn)動(dòng)時(shí)軸只能向一個(gè)方向移動(dòng)則需檢查驅(qū)動(dòng)器的軸類型及脈沖模式(通過驅(qū)動(dòng)器手冊(cè)或其軟件知曉)和6011H及6012H中設(shè)置的軸類型和脈沖模式是否匹配,檢查接線是否松動(dòng)。
也可通過打開工程設(shè)置中的軸配置及EtherCAT配置測(cè)試總線擴(kuò)展模塊的總線轉(zhuǎn)脈沖軸。
(1)選擇需要測(cè)試的軸;
(2)設(shè)置合適的軸參數(shù);
(3)自動(dòng)同步軸參數(shù);
(4)打開軸使能;
(5)通過正向運(yùn)動(dòng)或反向運(yùn)動(dòng)進(jìn)行點(diǎn)動(dòng)測(cè)試軸是否正常。

教學(xué)視頻可點(diǎn)擊→8軸/4軸的EtherCAT軸模塊EIO24088-V2及EIO16084的使用(一):RTSys總線配置與使用查看。
本次,正運(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í),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來源。
正運(yùn)動(dòng)技術(shù)專注于運(yùn)動(dòng)控制技術(shù)研究和通用運(yùn)動(dòng)控制軟硬件產(chǎn)品的研發(fā),是國家級(jí)高新技術(shù)企業(yè)。正運(yùn)動(dòng)技術(shù)匯集了來自華為、中興等公司的優(yōu)秀人才,在堅(jiān)持自主創(chuàng)新的同時(shí),積極聯(lián)合各大高校協(xié)同運(yùn)動(dòng)控制基礎(chǔ)技術(shù)的研究,是國內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國內(nèi)少有、完整掌握運(yùn)動(dòng)控制核心技術(shù)和實(shí)時(shí)工控軟件平臺(tái)技術(shù)的企業(yè)。主要業(yè)務(wù)有:運(yùn)動(dòng)控制卡_運(yùn)動(dòng)控制器_EtherCAT運(yùn)動(dòng)控制卡_EtherCAT控制器_運(yùn)動(dòng)控制系統(tǒng)_視覺控制器__運(yùn)動(dòng)控制PLC_運(yùn)動(dòng)控制_機(jī)器人控制器_視覺定位_XPCIe/XPCI系列運(yùn)動(dòng)控制卡等等。
|