| 设为主页 | 保存桌面 | 手机版 | 二维码
34

埃斯顿(上海)机器人服务商

伺服控制、机器人

联系方式
  • 联系人:运营
  • 电话:021-31666777
  • 手机:021-31666777
新闻分类
  • 暂无分类
您当前的位置:首页 » 新闻中心 » 埃斯顿机器人变量判断
新闻中心
埃斯顿机器人变量判断
发布时间:2022-08-25        浏览次数:64        返回列表
用户可以通过M440-M455变量判断当前机器人是否进入对应干涉区。


 

客户希望能在机器人进入/离开对应干涉区时在信息栏给出提示,如上图所示。

客户可以加载以下lua代码并运行即可。

 

-- author:chenliao@elibot.cn
-- 20220705

local recv, ret, recv2
local m = {}
local m_pre = {}

function Init()
    recv ,ret=get_robot_register (55)
    recv2 ,ret=get_robot_register (56)
    for i = 1, 8, 1 do
        if (recv & (2 ^ (i - 1)) > 0) then
            m[i] = 1
        else
            m[i] = 0
        end
    end

    for i = 1, 8, 1 do
        if (recv2 & (2 ^ (i - 1)) > 0) then
            m[i + 8] = 1
        else
            m[i + 8] = 0
        end
    end

    for i=1,16,1  do
        m_pre[i] = m[i]
    end
end

Init()
while true do
    recv ,ret=get_robot_register (55)
    recv2 ,ret=get_robot_register (56)
    for i = 1, 8, 1 do
        if (recv & (2 ^ (i - 1)) > 0) then
            m[i] = 1
        else
            m[i] = 0
        end
    end

    for i = 1, 8, 1 do
        if (recv2 & (2 ^ (i - 1)) > 0) then
            m[i + 8] = 1
        else
            m[i + 8] = 0
        end
    end

    for i=1,16,1  do
        if(m[i]==1) and (m_pre[i]==0)  then
            elite_print('Robot Enter InterZone'..i)
        elseif(m[i]==0) and (m_pre[i]==1) then
            elite_print('Robot Leave InterZone'..i)
        end
    end

    for i=1,16,1  do
        m_pre[i] = m[i]
    end

    sleep(0.5)

更多点击埃斯顿机器