ABB机器人支持MQTT

[复制链接]
查看48565 | 回复0 | 2024-3-18 10:35:40 | 显示全部楼层 |阅读模式
更多内容请点击上方 ABB机器人实战技巧 关注

也可点击公众号下方 往期经典 浏览更多内容

转载请先后台留言,大家一起支持原创,推动机器人使用和发展

本公众号对各类ABB机器人应用,仿真,毕业设计提供技术支持,详细后台留言

本公众号诚挚希望与各机器人培训机构,机器人使用单元合作,提供技术支持,详细后台留言

1. 物联网(Internet of Things,IoT)最近曝光率越来越高。虽然HTTP是网页的事实标准,不过机器之间(Machine-to-Machine,M2M)的大规模沟通需要不同的模式:之前的请求/回答(Request/Response)模式不再合适,取而代之的是发布/订阅(Publish/Subscribe)模式。这就是轻量级、可扩展的MQTT(Message Queuing Telemetry Transport)可以施展拳脚的舞台。由于物联网的环境是非常特别的,所以MQTT遵循以下设计原则:1.精简,不添加可有可无的功能。2.发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递。3.允许用户动态创建主题,零运维成本。4.把传输量降到最低以提高传输效率。5.把低带宽、高延迟、不稳定的网络等因素考虑在内。6.支持连续的会话控制。7.理解客户端计算能力可能很低。8.提供服务质量管理。9.假设数据不可知,不强求传输数据的类型与格式,保持灵活性。

2. ABB机器人在2020年中开始支持OPCUA,使用OPCUA server配置器进行配置(OPC 服务器运行在PC上,OPC Server搜集网络上机器人数据,OPC Client通过OPC Server读写数据)3. 随着物联网(IOT)的深入,ABB机器人相应配置OPCUA的软件变更为IOT Gateway。4. 2021年底,ABB机器人终于支持MQTT了,喜大普奔5. 要使用MQTT,Robotware6机器人需要 “1582-1 IoT Data Gateway/OPC UA Server” and “616-1 PC Interface”选项,RobotWare7机器人需要有: “3154-1 IoT Data Gateway”选项6. 从https://developercenter.robotstudio.com/下载最新的IOT Gateway软件并安装。

7. ABB机器人MQTT网络示意图如下:即通过IoT GateWay根据编写好的规则收集机器人数据并同意publish给MQTT Server ,MQTT Client通过订阅MQTT Server获取数据。

8. 打开IoT GateWay软件,可以在IoT Gateways下,选择打开配置MQTT Publisher或者将OPC UA功能全部打开。在MQTT Publisher下,可以配置服务器的IP地址等信息及Topic的前缀

9. 在创建Aliases界面,创建机器人控制器的Aliases(参见之前ABB机器人OPC UA配置)

10. 点击Server Control,启动(后期修改MQTT相关配置后,都需要Stop再Start)

11. 在Logs界面,可以看到MQTT已经启动,且可以看到在相关路径生成了模板文件

12. 打开相关文件夹,IoT Gateway配置使用思路为:

Templates文件夹下的**.hbs填写要订阅的数据对象Triggers文件夹下的**.xml里填写触发/收集数据的方式和间隔时间,以及调用的template文件Controllers文件夹内为自动生成的机器人控制器文件,文件内编写使用的Triggers文件例如要获取机器人控制器状态及RAPID的m1模块下的a100数据,三个文件如下:ExamplePayload.hbs{   "Status" : {      "Timestamp": "{{UtcNow}}",      "ControllerState": "{{ControllerState}}",      "OperatingMode" : "{{OperatingMode}}",      "ExecutionStatus" : "{{Rapid.ExecutionStatus}}",      "a100" : "{{Rapid.Tasks.T_ROB1.Modules.m1.Vars.a100.Value}}"   }}
ExampleTrigger1.xmlxml version="1.0" encoding="utf-8"?><< span="">Triggerxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema">  << span="">Type>TimerType>  << span="">Parameters>1Parameters>  << span="">GuardCondition>trueGuardCondition>  << span="">Topic>{{Alias}}Topic>  << span="">Payload>ExamplePayload.hbsPayload>  << span="">QoS>1QoS>  << span="">Retain>trueRetain>Trigger>Controllers下的文件xml version="1.0" encoding="utf-8"?><< span="">RobotControllerxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema">  << span="">TriggerFiles>    << span="">string>ExampleTrigger1.xmlstring>  TriggerFiles>  << span="">UserData>    << span="">item>      << span="">key>AssetIDkey>      << span="">value>Robot123456value>    item>    << span="">item>      << span="">key>PurchaseDatekey>      << span="">value>2021.04.15value>    item>  UserData>RobotController>对于*.hbs文件,也可以使用MQTT Engineering Tool工具编写(安装IoT Gateway时自动安装)

13. 修改完配置文件,可以在Server Control下点击Stop再点击Start启动

14. 现在还需要一个MQTT Server,推荐到https://mosquitto.org下载MQTT Server15. 安装mosquitto后,还需要进入电脑的管理界面,将mosquitto broker启动

16. 为测试MQTT效果,可以下载一个MQTT client,推荐http://www.jensd.de/apps/mqttfx/下载并安装17. 点击设置并点击扫描,即可扫描到机器人MQTT,并订阅,此时可以在右侧看到订阅的消息。由于之前配置的是1s刷新一次,此时可以看到1s会刷新一次机器人状态和a100数据的值。




web网页实时获取ABB机器人位置

ABB机器人炸裂黑科技

如何离线配置EtherNet I/O模块(混搭模块配置)

ABB机器人新示教器创建工具工件坐标系

自定义外部轴教程—变位机

福尼斯焊机Ethernet/IP通讯配置

ABB机器人之有意思的编程合集

强迫症患者的福音--程序格式化

Python控制ABB机器人运动

ABB机器人与Python通讯

ABB机器人与Halcon通讯

ABB机器人Modbus/TCP 通讯

ABB机器人EGM外部引导选项介绍

ABB机器人总线配置合集

ABB机器人通过总线发送浮点数

上位机获取机器人运行总时间

ABB机器人速度设置

获取机器人单轴位置速度扭矩

如何使用WorldZone功能创建HOME位信号输出

更多大牛讲解视频,可以微信搜索ABB机器人实战技巧,或者扫描以下二维码关注

本帖子中包含更多资源

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

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

本版积分规则