[AB] ABB机器人与西门子PLC进行套接字Socket通讯,你搞过吗?

[复制链接]
查看30406 | 回复0 | 2024-10-7 08:07:40 | 显示全部楼层 |阅读模式
9月15日,入职思灵机器人有限公司的一名毕业生从德国慕尼黑回国,休假之余,来老校区和我坐坐,在聊到如何丰富课堂内容的环节,他建议多开展一些机器人通讯方面的实训内容。思来想去,那先从ABB机器人和西门子1500系列PLC的Socket通讯浅显的搞一下。

条件有限,无实PLC,无实ABB机器人,只好借助3个软件:博途V18,PLCSIMAdvanced5.0,RobotStudio6.08。



一、创建ABB机器人系统并完成Socket通讯程序编写。

1、选择相应的机器人型号,新建机器人控制柜解决方案。


2、修改机器人系统选项,增加616-1 PC-InterFace及623-1Multitasking选项,重新启动控制器。前者用于socket通信,后者用于创建后台多任务功能。






3、创建机器人网络,用于和PLC通讯。








注意:LAN口既可以做服务器,也可以做客户端,但是WAN只能做客户端。



4、创建后台多任务,用于Socket数据实时扫描。







注意:程序需要修改则选择normal模式, static、semistatic指静态和半静态,不能修改程序。


5、在多任务中编写机器人socket通讯程序。






注意:其中rec_from_plc和send_to_plc为btye类型为数组,容量和plc端保持一致。




二、打开博途软件,配置并编写PLC程序。

1、添加1500PLC,勾选允许来自对象的Put/Get,启动时钟存储器。







2、创建数据块,并创建接收和发送数据数组,容量为50和机器人侧保持一致。




3、编写main(OB1)程序,调用TSEND_C及TRCVC_C。










4、打开Advancd5.0,创建实例,将PLC程序下载。










5、plc在线监控,运行机器人socket程序。





注意:这里有个细节,查看status状态可以判断通信情况。并且,先监控plc,再运行机器人程序,若机器人程序卡在socketconnect这一行,说明服务器没开通,可以查看是否禁用了Siemens PLCSIM Virtual Ethernet Adapter网卡。


三、发送数据验证效果。

1、编写机器人程序,发送数据至PLC端,监控PLC接收到的数据。(16进制的)


2、PLC发送数据至机器人端,机器人接收数据。(16进制的FF为255)


通信成功,待实机继续验证,优化整改!

————————————

一句话:远水解不了近渴!!!

本帖子中包含更多资源

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

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

本版积分规则