更多内容请点击上方 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机器人实战技巧,或者扫描以下二维码关注
|