EC機(jī)器人傳送帶跟蹤
1. 前期準(zhǔn)備
硬件型號(hào):編碼器:omron E6B2-CWZ6C
協(xié)議轉(zhuǎn)換模塊:ADAM-6051
SICK對(duì)射式光電傳感器SG6
帶變頻調(diào)速傳送帶組件
EC系列機(jī)器人整機(jī)(需開通傳送帶跟蹤功能)
軟件:

2. 操作流程
1. 硬件連接


2.軟件配置
EC機(jī)器人打開跟蹤,路徑是 運(yùn)行準(zhǔn)備---工藝配置---[勾選] 跟蹤/傳送帶跟蹤
然后可以在 擴(kuò)展--跟蹤 中設(shè)定傳送帶跟蹤參數(shù)和跟蹤標(biāo)定

協(xié)議轉(zhuǎn)換模塊ADAM-6051軟件配置:
電腦IP與模塊的IP設(shè)置為同一網(wǎng)段,然后打開軟件,按下圖操作開始進(jìn)行


點(diǎn)擊第三個(gè)設(shè)置,勾選前三個(gè)IP框,分別設(shè)置IP地址,并點(diǎn)擊Apply

設(shè)置完成后點(diǎn)擊下圖,勾選前面方框,設(shè)置能夠控制模塊的IP地址,設(shè)置完成后點(diǎn)擊Apply。

然后配置Modbus Address,把圖上的起始位配置成4000.

點(diǎn)擊下方6051,會(huì)彈出輸入密碼,密碼為00000000,然后依次配置下列接口類型,完成后點(diǎn)擊后面Apply mode.






具體操作視頻如下
視頻1.mp4
3.機(jī)器人傳送帶跟蹤設(shè)置和標(biāo)定
機(jī)器人與協(xié)議轉(zhuǎn)換模塊通過(guò)網(wǎng)線相連接
lua腳本
deliver.lua
lua腳本示例:
sleep(1)
--modbus slave的IP地址
ip="192.168.1.88"
--modbus slave的端口號(hào)
port=502
--獲得modbus tcp句柄
ctx=modbus_new_tcp(ip,port)
--連接modbus句柄
conState=modbus_connect(ctx)
while (conState==-1)do
sleep(1)
elite_print("Connection failed")
conState=modbus_connect(ctx)
end
-- 獲取脈沖計(jì)數(shù)
function getCounter(ctx)
local reg0 = 4009
local reg1 = 4010
retLst = modbus_read_registers(ctx,reg0,2)
if (retLst == nil) then
elite_print("Read register error.")
else
set_global_variable("D111",retLst[1])
set_global_variable("D112",retLst[2])
cnt=math.floor(retLst[1] + retLst[2]*(2^16))
end
return cnt
end
-- 清除脈沖計(jì)數(shù)
function resetCounter(ctx)
ret = modbus_write_bit (ctx , 85 , 1)
if (ret < 0) then
elite_print("Failed to reset counter, please check the connection.")
end
return ret
end
-- 獲取當(dāng)前的脈沖頻率,單位 HZ
function getFrequency(ctx)
ret, freq=modbus_read_register(ctx, 4011)
if (ret < 0) then
elite_print(ret)
elite_print("Failed to get frequency, please check the connection.")
end
freq = freq // 10 -- 除以10得到實(shí)際頻率
--set_global_variable("B9",freq)
return freq
end
elite_print("Start")
m_timer = 0
while true do
sleep(0.004)
pos0 = getCounter(ctx) --*拿取傳送帶數(shù)據(jù)
set_global_variable("D110",pos0)
set_track_encoder_count(pos0)
m_timer = m_timer + 1
if (m_timer >= 0) then
m_timer = 0
fre = getFrequency(ctx)
set_global_variable("D109",fre)
set_track_encoder_speed(fre)
end
end
jbi腳本
chuansongdai.jbi
導(dǎo)入jbi和lua文件后,打開lua并運(yùn)行跟蹤腳本。
jbi程序:


運(yùn)行l(wèi)ua腳本,INDEX= 選擇第幾個(gè)腳本,傳送帶跟蹤腳本放的位置。

用戶PLC中添加傳感器信號(hào)控關(guān)聯(lián)M528線圈

4.跟蹤標(biāo)定
傳送帶速度控制在100-200mm/s最佳,精度在±1mm(目測(cè))
如下圖所示,示教跟蹤點(diǎn)和跟蹤標(biāo)定
在機(jī)器人的 擴(kuò)展---跟蹤---參數(shù)設(shè)置 中修改需要用到的跟蹤參數(shù)。


有效范圍開始點(diǎn):有效范圍開始點(diǎn)設(shè)置不同的值后,機(jī)器人跟蹤時(shí)會(huì)在距離起點(diǎn)相應(yīng)的距離開始進(jìn)行跟蹤
有效范圍結(jié)束點(diǎn):有效范圍范圍點(diǎn)設(shè)置不同的值后,機(jī)器人跟蹤后會(huì)在距離起點(diǎn)相應(yīng)的距離處退出跟蹤
檢測(cè)范圍:檢測(cè)范圍設(shè)置不同如100mm,將兩個(gè)檢測(cè)物體的間隔設(shè)置小于100mm時(shí),系統(tǒng)會(huì)提示兩個(gè)物體離的太近,大于100mm時(shí)不會(huì)有提示
然后單擊下一步,選擇直線跟蹤,點(diǎn)擊開始標(biāo)定。

標(biāo)定步驟:將物品放到傳送帶上緩慢開動(dòng)傳送帶使物品經(jīng)過(guò)傳感器(此時(shí)日志窗口顯示“io標(biāo)定結(jié)束”)到達(dá)A點(diǎn)后,停止傳送帶運(yùn)動(dòng),將機(jī)械臂移動(dòng)尖點(diǎn)至A點(diǎn)并記錄A點(diǎn)和程序中的“P002”,此時(shí)可以退出標(biāo)定頁(yè)面進(jìn)入程序示教跟蹤軌跡(示教圖中應(yīng)避免晃動(dòng)物品)



示教完跟蹤軌跡后將傳送帶緩慢開動(dòng)一段距離后(設(shè)定的有效結(jié)束距離400mm以內(nèi),最優(yōu)300-350mm),停止傳送帶運(yùn)動(dòng)(傳送帶速度保持不變),將機(jī)械臂移動(dòng)至B點(diǎn)并記錄B點(diǎn)(A點(diǎn)B點(diǎn)需戳向同一個(gè)特征點(diǎn)記錄),記錄A點(diǎn)和B點(diǎn)時(shí),下面會(huì)顯示編碼器數(shù)值,
將機(jī)械臂移動(dòng)至參考點(diǎn)(參考點(diǎn)做在跟蹤坐標(biāo)系A(chǔ)點(diǎn)和B點(diǎn)水平垂直的Y軸方向)并記錄參考點(diǎn),點(diǎn)擊計(jì)算完成整個(gè)標(biāo)定過(guò)程;


整體標(biāo)定好后,運(yùn)行JBI程序,將鑰匙旋鈕轉(zhuǎn)到PLAY模式,速度要放到100%,才能跟上傳送帶速度,然后上伺服,啟動(dòng)。