[西门子] 机器人与PLC通信之---应答模式

[复制链接]
查看40930 | 回复0 | 2024-7-19 14:35:05 | 显示全部楼层 |阅读模式
之前遇到一个案例

项目是这样的

机器人:IRB2600 带EIP通讯

PLC:欧姆龙

视觉:欧姆龙

工作流程:

机器人到拍照点,给PLC信号

视觉系统拍照,获取产品的位置信息(xy及旋转)

位置信息(xy及旋转)由

视觉-->PLC-->机器人

PLC中转信号

问题点:

系统跑自动过程

发现有定位不准确

视觉工程师:我定位没问题

PLC工程师:我只是负责转述

机器人调试工程师:我按照PLC给的点位信息走的

于是:看起来都没问题

寻找问题:

视觉请把你发送的位置信息反馈到上位机界面上来

PLC请把你收到的位置信息反馈到HMI上来

机器人请把你收到的位置信息写屏显示

发现问题:

视觉-->PLC-->机器人

在机器人接收信息的时候,有错误

也就是说机器人在执行位置前读取PLC

给过来的位置信息与实际不符

分析问题:

机器人通过EIP总线获取

使用3个32位的组合信号来获取位置信息

如下:



个人认为:

这种通过数字信号32位的组合信号

更新数据的时候,需要时间(虽然很短)

所以机器人在读取的时间上

如果正好没更新完数据

则在32位的某一个或者几个位

与实际不符

则反馈出来

最终导致机器人解析的数据与视觉的数据不符。

也不知道是不是这个原因

但是能力有限

找不到别的原因

后面也按照避免这个原因的去解决

解决问题:

举个例子

我给了你10块钱

我收到10块钱

给=收

没错

机器人和PLC程序增加以下逻辑判断:

机器人把收到的数据反馈回去给PLC



PLC在确认收到的数据和发出的数据一致

给出信号到机器人往下执行的指令

否则PLC再次发送数据

机器人再次读取

PLC再次判断是否一致

...

这个是比较简单的方法

希望有更好的解决方法拍砖

其他应用:

ABB1200搬运

台达PLC控制外围设备

机器人和PLC通过devicenet通信

由PLC做动作

机器人走路径

也是通过应答模式实现

机器人问:喂PLC,我可以去吃饭了吗

PLC答:好的,机器人,你去吃吧

机器人:吃饭去!

实际代码实现:

抓取任务



放置任务




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则