具体操作视频如下
视频1.mp4
3.机器人传送带跟踪设置和标定
机器人与协议转换模块通过网线相连接
lua脚本
deliver.lua
lua脚本示例:
sleep(1)
--modbus slave的IP地址
ip="192.168.1.88"
--modbus slave的端口号
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
-- 获取脉冲计数
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
-- 清除脉冲计数
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
-- 获取当前的脉冲频率,单位 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得到实际频率
--set_global_variable("B9",freq)
return freq
end
elite_print("Start")
m_timer = 0
while true do
sleep(0.004)
pos0 = getCounter(ctx) --*拿取传送带数据
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
导入jbi和lua文件后,打开lua并运行跟踪脚本。
jbi程序: