視頻教程:《運(yùn)動(dòng)控制器RTEX總線使用入門》
運(yùn)動(dòng)控制器RTEX總線使用入門
01 準(zhǔn)備工作
一、材料準(zhǔn)備
1.硬件
A.ZMC460N控制器一臺(tái),帶RTEX總線接口。
B.松下RTEX伺服驅(qū)動(dòng)器+電機(jī)一套。
C.電腦一臺(tái)。
D.帶屏蔽層網(wǎng)線若干。
E.24V直流電源一個(gè)。
F.接線端子與連接線若干。
2.軟件
A.ZDevelop V3.10版本控制器編程軟件。
從正運(yùn)動(dòng)官網(wǎng)www.zmotion.com.cn下載壓縮包,解壓后直接運(yùn)行應(yīng)用程序,無(wú)需安裝。
B.松下伺服驅(qū)動(dòng)器上位機(jī)調(diào)試軟件。
從松下官網(wǎng)下載后安裝。
二、硬件接線
1.控制器接線
控制器接口的用途參見(jiàn)下圖。
A.主電源:將控制器主電源接線端子上的E+24V端子接入24V直流電源正極,將EGND端子接入24V直流電源負(fù)極。
B.以太網(wǎng)EtherNET端口接線:使用一根網(wǎng)線將控制器的EtherNET端口與電腦的以太網(wǎng)口相連。
C.RTEX伺服驅(qū)動(dòng)器與控制器接線:RTEX總線用于接松下RTEX伺服驅(qū)動(dòng)器,RTEX的接線方法參見(jiàn)下方的配置圖。
RTEX總線需要接兩根線,TX為發(fā)送端、RX為接收端。TX需要連接至RX,RX需要連接至TX,所有的設(shè)備連接成一個(gè)回路,中間不允許斷開(kāi)。
使用一根網(wǎng)線將控制器的RTEX總線的RX端口與伺服驅(qū)動(dòng)器的TX端口相連,使用另一根網(wǎng)線將控制器的RTEX總線的TX端口與伺服驅(qū)動(dòng)器的RX端口相連。
配置圖
連接多個(gè)RTEX驅(qū)動(dòng)器時(shí),控制器的TX端口與第一個(gè)伺服驅(qū)動(dòng)器的RX端口相連,第一個(gè)伺服驅(qū)動(dòng)器的TX端口再連接第二個(gè)驅(qū)動(dòng)器的RX端口,以此類推,最后一個(gè)驅(qū)動(dòng)器的TX端口連接到控制器的RX端口,構(gòu)成完整的通訊回路。
設(shè)備編號(hào)和驅(qū)動(dòng)器編號(hào)按連接順序自動(dòng)從0開(kāi)始編號(hào),與EtherCAT總線編號(hào)規(guī)則相同。
2.驅(qū)動(dòng)器接線
伺服驅(qū)動(dòng)器與電機(jī)和編碼器的接線參見(jiàn)驅(qū)動(dòng)器手冊(cè),將驅(qū)動(dòng)器接上電源。
02 軟件連接方法
一、控制器與電腦網(wǎng)口通訊
控制器與電腦可以通過(guò)串口或網(wǎng)口連接,下面以網(wǎng)口連接例展開(kāi)說(shuō)明。
先將控制器與電腦用網(wǎng)線連接好,接通控制器的電源,再打開(kāi)ZDevelop編程軟件,點(diǎn)擊菜單欄“控制器”→“連接”,打開(kāi)“連接到控制器”窗口。
通過(guò)“連接到控制器”窗口,可以快速查看本機(jī)IP,對(duì)比控制器與電腦是否處于同一網(wǎng)段。
IP地址列表下拉選擇時(shí),會(huì)自動(dòng)查找當(dāng)前局域網(wǎng)可用的控制器IP地址(控制器上電POWER燈和RUN燈亮的時(shí)候就能查找到該控制器的IP地址)。
同一個(gè)網(wǎng)絡(luò)有多個(gè)控制器的時(shí)候,IP的下拉列表若沒(méi)有顯示目標(biāo)控制器的IP地址,可以采取IP掃描來(lái)查看當(dāng)前所有可用的控制器IP地址,掃描完成之后確定關(guān)閉此窗口,重新在IP下拉列表選擇。
選擇正確的IP地址,點(diǎn)擊連接之后,編程軟件與控制器連接成功,在線命令與輸出窗口打印信息提示。
控制器出廠的缺省IP地址為192.168.0.11,“連接到控制器”窗口能顯示出本機(jī)IP地址,請(qǐng)注意設(shè)置有線網(wǎng)卡與無(wú)線網(wǎng)卡各自的IP。電腦需要設(shè)置IP地址與控制器IP處于同一網(wǎng)段才能連接,即四段的前三段要相同,最后一段不同才能通訊。
若控制器與電腦不處于同一網(wǎng)段,則需要修改控制器或電腦其中之一的IP地址,使二者處于同一網(wǎng)段。
修改控制器IP地址需要先使用串口連接控制器,獲取控制器IP地址,然后修改本機(jī)IP或控制器IP使二者處于同一網(wǎng)段。
二、驅(qū)動(dòng)器軟件與驅(qū)動(dòng)器通信
修改驅(qū)動(dòng)器參數(shù)先連接驅(qū)動(dòng)器,可選USB線或WLAN連接驅(qū)動(dòng)器,這里使用USB線連接電腦與驅(qū)動(dòng)器端的X1端口,給驅(qū)動(dòng)器上電,打開(kāi)松下驅(qū)動(dòng)器軟件PANATERM,彈出“選擇與驅(qū)動(dòng)器通信”窗口,選擇與驅(qū)動(dòng)器通過(guò)USB連接后,自動(dòng)獲取到驅(qū)動(dòng)器信息顯示在窗口內(nèi),點(diǎn)擊OK連接成功,就能與驅(qū)動(dòng)器通信,讀取驅(qū)動(dòng)器的參數(shù)設(shè)置,對(duì)驅(qū)動(dòng)器參數(shù)進(jìn)行變更。
03 RTEX總線驅(qū)動(dòng)器
參數(shù)設(shè)置
一、驅(qū)動(dòng)器參數(shù)修改
RTEX修改驅(qū)動(dòng)器參數(shù)類似EtherCAT,一是采用松下驅(qū)動(dòng)器軟件修改,二是使用指令修改,DRIVE_READ參數(shù)讀取、DRIVE_WRITE參數(shù)寫(xiě)入,在總線開(kāi)啟后再使用指令修改,伺服參數(shù)的功能與設(shè)置參見(jiàn)松下RTEX驅(qū)動(dòng)器手冊(cè)描述。
語(yǔ)法:DRIVE_READ(參數(shù),數(shù)據(jù)存儲(chǔ)到VR的位置)
語(yǔ)法:DRIVE_WRITE(參數(shù),參數(shù)值)
參數(shù)寫(xiě)法:不同類型的參數(shù)讀寫(xiě)語(yǔ)法不同
參數(shù)分類*256+參數(shù)編號(hào)(Pr7.20=7*256+20)
參數(shù)=130,讀取鉗位的狀態(tài),BIT0,BIT1表示兩個(gè)通道的狀態(tài)
參數(shù)=$10000+(ssid)讀取RTEX驅(qū)動(dòng)器系統(tǒng)信息,字符串存儲(chǔ)在VRSTRING
參數(shù)=$20000+(報(bào)警功能碼)+($1000*索引)讀取報(bào)警信息
參數(shù)=$30000+(監(jiān)視功能碼)+($1000*索引)讀取監(jiān)視器信息
指令讀寫(xiě)參數(shù)示例:
BASE(0) '選擇軸0對(duì)應(yīng)的驅(qū)動(dòng)器
DRIVE_WRITE(7*256+11,6) '寫(xiě)Pr7.11參數(shù)為6
DRIVE_WRITE(0*256+0,1) '寫(xiě)Pr0.00參數(shù)為1
DRIVE_READ(0*256+0) '讀Pr0.00參數(shù)的值
DRIVE_READ(0*256+0) AXIS(1) '讀Pr0.00參數(shù)的值,AXIS指定軸號(hào),不指定讀取軸0
DRIVE_READ($10000+$01) '讀取廠商名,不指定存儲(chǔ)位置時(shí),直接打印出來(lái)
驅(qū)動(dòng)器修改參數(shù)示例:
電機(jī)的旋轉(zhuǎn)方向可以通過(guò)參數(shù)Pr0.00調(diào)整,可選擇CW為正方向或選擇CCW為正方向。下圖選擇CCW為正方向,即發(fā)送正方向的運(yùn)動(dòng)指令時(shí),電機(jī)軸旋轉(zhuǎn)方向?yàn)槟鏁r(shí)針。
參數(shù)修改完成之后,電機(jī)EEP按鈕,將修改的參數(shù)寫(xiě)入驅(qū)動(dòng)器的EEPROM里,給驅(qū)動(dòng)器重新上電參數(shù)生效。
電機(jī)旋轉(zhuǎn)方向的定義:從負(fù)載側(cè)的軸端看,順時(shí)針為CW,逆時(shí)針為CCW。
PR0.00參數(shù)方向設(shè)置參考:
二、電子齒輪比
伺服電機(jī)電子齒輪比就是伺服對(duì)接收到的控制器脈沖頻率進(jìn)行放大或者縮小,比值大于1就是放大,比值小于1就是縮小,比值等于1時(shí)電機(jī)接受脈沖數(shù)等于控制器發(fā)出脈沖數(shù)。
電子齒輪比通過(guò)Pr0.09與Pr0.10的比值確定,電子齒輪比=Pr0.09/Pr0.10。
計(jì)算公式:電機(jī)接收的實(shí)際脈沖數(shù)=控制器發(fā)送脈沖數(shù)*電子齒輪比
例如:控制器發(fā)出脈沖10000個(gè),電子齒輪比分子設(shè)為1,分母設(shè)為2,電子齒輪比為0.5,那么伺服實(shí)際運(yùn)行按照5000個(gè)脈沖來(lái)進(jìn)行??刂破靼l(fā)出脈沖10000個(gè),電子齒輪比分子設(shè)為2,分母設(shè)為1,電子齒輪比為2,那么伺服實(shí)際運(yùn)行按照20000個(gè)脈沖來(lái)進(jìn)行。
松下RTEX驅(qū)動(dòng)器電子齒輪的比值在1/1000-8000倍的范圍內(nèi)有效,超出此范圍驅(qū)動(dòng)器報(bào)錯(cuò)。
電機(jī)旋轉(zhuǎn)一圈的指令脈沖數(shù)通過(guò)Pr0.08設(shè)置,如上圖設(shè)為10000,表示發(fā)送10000個(gè)脈沖能使電機(jī)旋轉(zhuǎn)一圈。
三、通訊周期
控制器的周期必須與驅(qū)動(dòng)器周期一致才可以成功通訊,控制器周期出廠默認(rèn)為1ms,通過(guò)升級(jí)固件修改控制器周期。
Rtex總線驅(qū)動(dòng)器的通訊周期目前有2種,0.5ms和1ms,通過(guò)設(shè)置驅(qū)動(dòng)器參數(shù)P7.20和P7.21選擇。
注意P7.21參數(shù)一定要設(shè)置為1,否則無(wú)法通訊。
驅(qū)動(dòng)器的周期可以通過(guò)指令修改,也可以通過(guò)驅(qū)動(dòng)器軟件找到上述參數(shù)直接修改。
指令讀寫(xiě)驅(qū)動(dòng)器通訊周期示例:
'讀取通訊周期,讀取的數(shù)據(jù)存儲(chǔ)在VR里
DRIVE_READ(7*256+20,0) 'Pr7.20=7*256+20,Rtex通訊周期:3-0.5ms,6-1ms
DRIVE_READ(7*256+21,1) 'Pr7.21=7*256+21,Rtex指令更新周期比:1
'修改通訊周期,修改完寫(xiě)入EEPROM,重啟生效
DRIVE_WRITE(7*256+20,SERVO_PERIOD/1000*6) 'Pr7.20=7*256+20,Rtex通訊周期:3-0.5ms,6-1ms
DRIVE_WRITE(7*256+21,1) 'Pr7.21=7*256+21,Rtex指令更新周期比:1
DRIVE_WRITE(128,1) '寫(xiě)EEPROM,修改完成后需要斷電
驅(qū)動(dòng)器軟件修改通訊周期示例:
連接驅(qū)動(dòng)器軟件,在參數(shù)窗口,找到參數(shù)分類7,修改Pr7.20和Pr7.21修改驅(qū)動(dòng)器周期。
四、驅(qū)動(dòng)器IO映射
驅(qū)動(dòng)器IO映射需要先將DRIVE_PROFILE=1,表示帶驅(qū)動(dòng)器IO映射(DRIVE_PROFILE=0不帶驅(qū)動(dòng)器IO映射),然后使用DRIVE_IO指令設(shè)置驅(qū)動(dòng)器IO地址,映射的編號(hào)范圍不要與總線上的其他設(shè)備的IO編號(hào)重復(fù)。
映射完成,控制器就能通過(guò)映射的驅(qū)動(dòng)器IO編號(hào),操作驅(qū)動(dòng)器IO電平。不映射無(wú)法通過(guò)控制器操作驅(qū)動(dòng)器IO。
DRIVE_IO (軸號(hào))=輸入輸出IO起始編號(hào)。
示例:
DRIVE_PROFILE(iAxis) = 1 '帶驅(qū)動(dòng)器IO映射
DRIVE_IO(iAxis) = i_IoNum '設(shè)定驅(qū)動(dòng)器輸入/輸出IO起始編號(hào)
驅(qū)動(dòng)器的IO操作,打開(kāi)參數(shù)窗口的參數(shù)分類4,對(duì)輸出輸出的進(jìn)行設(shè)定。
五、驅(qū)動(dòng)器軸映射
RTEX總線上連接的設(shè)備的設(shè)備號(hào)按照連接順序從0開(kāi)始自動(dòng)編號(hào),驅(qū)動(dòng)器編號(hào)也是按連接順序給驅(qū)動(dòng)器設(shè)備自動(dòng)從0開(kāi)始編號(hào)的,只算總線上的驅(qū)動(dòng)器設(shè)備,其他設(shè)備是沒(méi)有驅(qū)動(dòng)器編號(hào)的。
RTEX總線上連接的驅(qū)動(dòng)器需要使用指令映射驅(qū)動(dòng)器的軸號(hào),使用AXIS_ADDRESS 指令映射,映射完成之后才能使用BASE指令選擇驅(qū)動(dòng)器軸號(hào),發(fā)送脈沖,控制驅(qū)動(dòng)器所連的電機(jī)運(yùn)行。
軸映射寫(xiě)在總線初始化程序中,總線掃描之后,開(kāi)啟總線之前。
語(yǔ)法:AXIS_ADDRESS(軸號(hào))=(槽位號(hào)<<16)+驅(qū)動(dòng)器編號(hào)+1
單總線控制器的總線槽位號(hào)缺省為0,即只支持RTEX總線的控制器,RTEX從槽位號(hào)是0。使用ZMC460N時(shí),由于是雙總線控制器,EtherCAT總線槽位號(hào)為0,RTEX的槽位號(hào)為1。軸號(hào)為驅(qū)動(dòng)器映射的目標(biāo)軸號(hào),映射時(shí)每個(gè)驅(qū)動(dòng)器的軸號(hào)不重復(fù),指向空閑軸號(hào)即可。
示例:
'單總線RTEX槽位號(hào)填0,雙總線RTEX槽位號(hào)為1。
AXIS_ADDRESS (6)=(1<<16)+0+1 '第一個(gè)RTEX驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)0,綁定為軸6
AXIS_ADDRESS (7)=(1<<16)+1+1 '第二個(gè)RTEX驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)1,綁定為軸7
AXIS_ADDRESS (8)=(1<<16)+2+1 '第三個(gè)RTEX驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)2,綁定為軸8
ATYPE(6)=50 '設(shè)置為RTEX軸類型,50-位置 51-速度 52-轉(zhuǎn)矩
ATYPE(7)=50
ATYPE(8)=50
六、驅(qū)動(dòng)器控制模式
RTEX總線的控制模式有三種,使用ATYPE指令設(shè)置,ATYPE=50位置模式,ATYPE=51速度模式,ATYPE=52力矩模式。
位置模式采用運(yùn)動(dòng)指令控制軸運(yùn)動(dòng),速度和力矩模式采用DAC指令控制軸運(yùn)動(dòng),速度與力矩模式下切換其他模式的時(shí)候先將DAC置0,再修改ATYPE的值,防止發(fā)生事故。
控制模式由參數(shù)Pr0.01設(shè)定,選擇0半閉環(huán)控制,此時(shí)可以使用ATYPE指令切換控制器的控制模式,例如位置、速度和力矩模式。
1.ATYPE=50位置模式
設(shè)置好軸參數(shù),使用運(yùn)動(dòng)控制器指令控制電機(jī)運(yùn)行。
2.ATYPE=51速度模式
速度模式下使用DAC指令設(shè)置電機(jī)的運(yùn)行速度,并持續(xù)運(yùn)行,此模式下不能使用運(yùn)動(dòng)指令,故無(wú)需設(shè)置軸參數(shù),將DAC=0停止運(yùn)行。
速度模式下若要切換模式,為防止事故,先將DAC置0后再使用ATYPE指令切換。
RTEX速度模式下,通過(guò)參數(shù)Pr7.25設(shè)定速度單位,值為0對(duì)應(yīng)單位:r/min,值為1對(duì)應(yīng)單位:指令單位/s。
速度模式使用DRIVE_READ讀取速度的單位,如下圖值為0,此時(shí)單位是r/min。DRIVE_READ讀取不填參數(shù)保存地址時(shí)直接打印出來(lái)。
3.ATYPE=52力矩模式
修改ATYPE切換到力矩模式之前,請(qǐng)先將驅(qū)動(dòng)器參數(shù)Pr6.47的第一位置為0,關(guān)閉2自由度控制模式。
再通過(guò)參數(shù)Pr3.17設(shè)置速度限制,如下圖(參照松下Rtex手冊(cè))。Pr3.17(速度限制選擇)的設(shè)定值是0時(shí),通過(guò)Pr3.21設(shè)置速度限制,設(shè)定值是1時(shí),可以通過(guò)SL_SW切換轉(zhuǎn)矩控制時(shí)的速度限制值。
DRIVE_WRITE指令設(shè)置參考:按軸號(hào)依次設(shè)置
DRIVE_WRITE(6*256+47,0) AXIS(0) 'Pr6.47設(shè)為0,關(guān)閉2自由度控制模式
DRIVE_WRITE(3*256+17,0) AXIS(0) 'Pr3.17速度限制選擇設(shè)為0,通過(guò)Pr3.21設(shè)置速度限制
DRIVE_WRITE(3*256+21,5000) AXIS(0) 'Pr3.21速度限制設(shè)為5000
DRIVE_READ指令讀取驅(qū)動(dòng)器設(shè)置情況:
將所有參與運(yùn)動(dòng)的軸均按照以上參數(shù)設(shè)置完成,就可以切換力矩模式,使用DAC指令發(fā)送力矩控制電機(jī)持續(xù)運(yùn)行,此模式下不能使用運(yùn)動(dòng)指令,故無(wú)需設(shè)置軸參數(shù),將DAC=0停止運(yùn)行。
力矩模式下若要切換模式,為防止事故,先將DAC置0后再使用ATYPE指令切換。
七、驅(qū)動(dòng)器回零
RTEX總線可使用控制器提供的回零方式DATUM(mode),mode模式值選擇查看ZBasic編程手冊(cè)的DATUM指令。RTEX總線也可以使用驅(qū)動(dòng)器本身的回零模式。
驅(qū)動(dòng)器本身回零使用DATUM(21,mode2)指令,mode2模式值要查驅(qū)動(dòng)器手冊(cè),mode2填入對(duì)應(yīng)驅(qū)動(dòng)器回零模式值,見(jiàn)下表松下驅(qū)動(dòng)器提供的回零模式,注意此時(shí)的原點(diǎn)限位等信號(hào)要接在驅(qū)動(dòng)器上,并使用指令設(shè)置這些特殊信號(hào)對(duì)應(yīng)的IO口,所以要使用驅(qū)動(dòng)器回零時(shí)需要對(duì)驅(qū)動(dòng)器的IO進(jìn)行映射。
語(yǔ)法:DATUM(21,$11) '按驅(qū)動(dòng)器當(dāng)前回零模式開(kāi)始回零
RTEX總線驅(qū)動(dòng)器回零模式
八、驅(qū)動(dòng)器報(bào)警
觀察驅(qū)動(dòng)器上LED面板上是否有報(bào)錯(cuò)信息,報(bào)錯(cuò)會(huì)顯示錯(cuò)誤碼,根據(jù)驅(qū)動(dòng)器手冊(cè)排查錯(cuò)誤,修正后將報(bào)警清零。
若控制器連接了ZDevelop軟件,驅(qū)動(dòng)器報(bào)錯(cuò)時(shí),AXISSTATUS軸狀態(tài)提示錯(cuò)誤信息。
打開(kāi)驅(qū)動(dòng)器軟件的報(bào)警窗口,也能看當(dāng)前驅(qū)動(dòng)器是否有警報(bào),或查詢歷史警報(bào)。
04 RTEX總線
初始化程序
一、初始化程序
RTEX總線上連接的電機(jī)需要編寫(xiě)一段RTEX總線初始化程序來(lái)進(jìn)行使能。使能之后的應(yīng)用與脈沖電機(jī)一致,運(yùn)動(dòng)指令都是相同的。
初始化程序一般過(guò)程:
1.使用SLOT_SCAN掃描設(shè)備,判斷RETURN是否正確,未連接設(shè)備時(shí)會(huì)報(bào)錯(cuò)。
2.通過(guò)NODE_INFO/ NODE_AXIS_COUNT等對(duì)設(shè)備類型、信息等進(jìn)行判斷。
3.依次設(shè)置AIXS_ADDRESS,ATYPE,DRIVE_PROFILE,DRIVE_IO等。
4.SLOT_START啟動(dòng)設(shè)備。
5.建立連接后主站和從站即可進(jìn)行周期性數(shù)據(jù)交換。
RTEX初始化程序與EtherCAT總線初始化類似,初始化參考程序如下:
'***************************RTEX總線初始化
global CONST MAX_AXISNUM =60 '最大軸數(shù)
global CONST Bus_Slot = 1 '槽位號(hào)0(單總線控制器缺省0)
global CONST PUL_AxisStart = 0 '本地脈沖軸起始軸號(hào)
global CONST PUL_AxisNum = 0 '本地脈沖軸軸數(shù)量
global CONST Bus_AxisStart = 0 '總線軸起始軸號(hào)
global CONST Bus_NodeNum = 2 '總線配置節(jié)點(diǎn)數(shù)量,用于判斷實(shí)際檢測(cè)到的從站數(shù)量是否一致
global Bus_InitStatus '總線初始化完成狀態(tài)
Bus_InitStatus = -1
global Bus_TotalAxisnum '檢查掃描的總軸數(shù)
delay(3000) '延時(shí)3S等待驅(qū)動(dòng)器上電,具體根據(jù)驅(qū)動(dòng)器調(diào)整延時(shí)
?"總線通訊周期:",SERVO_PERIOD,"us"
Rtex_Init() '初始化RTEX總線
while (Bus_InitStatus = 0) '重新初始化
Rtex_Init()
wend
end
'*******************************RTEX總線初始化********************************
'初始流程: slot_scan(掃描總線) -> 從站節(jié)點(diǎn)映射軸/io -> SLOT_START(啟動(dòng)總線) -> 初始化成功
'*******************************************************************************
global sub Rtex_Init()
local Node_Num,Temp_Axis
RAPIDSTOP(2)
for i=0 to MAX_AXISNUM - 1 '初始化還原軸類型
AXIS_ENABLE(i) = 0
atype(i)=0
AXIS_ADDRESS(i) =0
DELAY(10) '防止所有驅(qū)動(dòng)器全部同時(shí)切換使能導(dǎo)致瞬間電流過(guò)大
next
Bus_InitStatus = -1
Bus_TotalAxisnum = 0
SLOT_STOP(Bus_Slot)
delay(200)
SLOT_SCAN(Bus_Slot) '掃描總線
if return then
?"總線掃描成功","連接從站設(shè)備數(shù):"NODE_COUNT(Bus_Slot)
if NODE_COUNT(Bus_Slot) <> Bus_NodeNum then '判斷總線檢測(cè)數(shù)量是否為實(shí)際接線數(shù)量
?""
?"掃描節(jié)點(diǎn)數(shù)量與程序配置數(shù)量不一致!" ,"配置數(shù)量:"Bus_NodeNum,"檢測(cè)數(shù)量:"NODE_COUNT(Bus_Slot)
Bus_InitStatus = 0 '初始化失敗。報(bào)警提示
return
endif
'"開(kāi)始映射軸號(hào)"
for Node_Num=0 to NODE_COUNT(Bus_Slot)-1 '遍歷掃描到的所有從站節(jié)點(diǎn)
if NODE_AXIS_COUNT(Bus_Slot,Node_Num) <> 0 then '判斷當(dāng)前節(jié)點(diǎn)是否有電機(jī)
for j=0 to NODE_AXIS_COUNT(Bus_Slot,Node_Num)-1 '根據(jù)節(jié)點(diǎn)帶的電機(jī)數(shù)量循環(huán)配置軸參數(shù)(針對(duì)一拖多驅(qū)動(dòng)器)
Temp_Axis = Bus_AxisStart + Bus_TotalAxisnum '軸號(hào)按NODE順序分配
'Temp_Axis = Dirve_Alias '軸號(hào)按驅(qū)動(dòng)器設(shè)定的撥碼分配(一拖多需要特殊處理)
'Sub_SetNodePara(Node_Num,Temp_Axis)
if return = FALSE then
Bus_InitStatus = 0 '通訊周期不匹配
return
endif
base(Temp_Axis)
AXIS_ADDRESS=(1<<16)+Bus_TotalAxisnum+1 '映射軸號(hào)
ATYPE=50 '設(shè)置控制模式 50-位置 51-速度 52-轉(zhuǎn)矩
disable_group(Temp_Axis) '每軸單獨(dú)分組
Bus_TotalAxisnum=Bus_TotalAxisnum+1 '總軸數(shù)+1
next
endif
next
?"軸號(hào)映射完成","連接總軸數(shù):"Bus_TotalAxisnum
DELAY 200
SLOT_START(Bus_Slot) '啟動(dòng)總線
if return then
wdog=1 '使能總開(kāi)關(guān)
'?"開(kāi)始清除驅(qū)動(dòng)器錯(cuò)誤"
for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1
BASE(i)
' DRIVE_CLEAR(0)
DELAY 50
datum(0) '清除控制器軸狀態(tài)錯(cuò)誤"
DELAY 50
'"軸使能"
AXIS_ENABLE=1
next
Bus_InitStatus = 1
?"軸使能完成"
'本地脈沖軸配置
for i = 0 to PUL_AxisNum - 1
base(PUL_AxisStart + i)
AXIS_ADDRESS = (-1<<16) + i
ATYPE = 4
next
?"總線開(kāi)啟成功"
else
?"總線開(kāi)啟失敗"
Bus_InitStatus = 0
endif
else
?"總線掃描失敗"
Bus_InitStatus = 0
endif
end sub
'**********************************從站節(jié)點(diǎn)特殊參數(shù)配置********************************
'通過(guò)DRIVE_READ/DRIVE_WRITE修改從站參數(shù)(具體參數(shù)查看驅(qū)動(dòng)器手冊(cè))
'******************************************************************************************
global sub Sub_SetNodePara(iNode,Iaxis)
base(Iaxis)
vr(0) = 0
vr(1) = 0
DRIVE_READ(7*256+20,0) '(Pr7.20=7*256+20)Rtex通訊周期 3-0.5ms 6-1ms
DRIVE_READ(7*256+21,1) '(Pr7.21=7*256+21)Rtex指令更新周期比 1
if (vr(0)/6 *1000 <> SERVO_PERIOD) or (vr(1) <> 1) then '判斷驅(qū)動(dòng)器周期和控制器周期是否匹配
?"總線周期不匹配:","控制周期-",SERVO_PERIOD,"軸號(hào)-",Iaxis,"伺服周期-",(vr(0)/6 *1000*vr(1))
'DRIVE_WRITE(7*256+20,SERVO_PERIOD/1000*6) '(Pr7.20=7*256+20)Rtex通訊周期 3-0.5ms 6-1ms
'DRIVE_WRITE(7*256+21,1) '(Pr7.21=7*256+21)Rtex指令更新周期比 1
'DRIVE_WRITE(128,1) '寫(xiě)EEPROM,修改完成后需要斷電
return FALSE
endif
return TRUE
end sub
二、總線狀態(tài)查看
總線狀態(tài)查看的前提是初始化操作成功,控制器與驅(qū)動(dòng)器接線正確,否則無(wú)法查看以下信息。
1.在菜單欄“控制器”→“控制器狀態(tài)”窗口查看“槽位1節(jié)點(diǎn)”,單總線控制器查看“槽位0節(jié)點(diǎn)”。
2.還可以通過(guò)在線命令發(fā)送?*RTEX打印RTEX總線上的全部設(shè)備信息。
3.在菜單欄“調(diào)試”→“總線狀態(tài)診斷”打開(kāi)如下窗口查看控制器所有總線槽位接口的設(shè)備信息。
實(shí)際運(yùn)行效果參見(jiàn)視頻尾部演示部分。
《運(yùn)動(dòng)控制器RTEX總線使用入門》就講到這里。更多學(xué)習(xí)視頻及圖文詳解請(qǐng)關(guān)注我們的公眾號(hào)“正運(yùn)動(dòng)小助手”。
本文由正運(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)源。
-
運(yùn)動(dòng)控制器
+關(guān)注
關(guān)注
2文章
391瀏覽量
24631 -
機(jī)器視覺(jué)
+關(guān)注
關(guān)注
161文章
4325瀏覽量
120011 -
正運(yùn)動(dòng)技術(shù)
+關(guān)注
關(guān)注
0文章
97瀏覽量
294
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論