优傲机器人与AB MicroLogix控制系统 进行ModBus通讯
目 录
1. 介绍 Introduction 4
1.1 方案目的 Purpose of this proposal 4
1.2 硬件设备列表 Hardware equipment 4
1.3 软件需要 SOFtware supply 4
2. 方案描述 Proposal description 5
2.2 网络配置 Network configuration 5
2.3 详细设计 5
2.3.1 优傲机器人作为客户端的Modbus TCP 通讯 5
2.3.2 UR作为服务器的ModBusTCP通讯 8
3. 总结summary 12
介绍 Introduction
1.1 方案目的 Purpose of this proposal
由于AB中大型PLC与AB微型PLC的编程软件各方面差异较大,为帮助用户能够快速利用UR与AB微型PLC系统进行通信,本文详细地描述了优傲机器人与罗克韦尔微型PLC进行Modbus TCP通讯,指导客户、集成商在UR与AB 微型PLC Modbus TCP通讯的应用上能够快速解决技术问题。
1.2 硬件设备列表 Hardware equipment
本方案使用以下产品:
优傲机器人型号:UR3、UR5、UR10 CB3/e系列
AB PLC型号: MicroLogix1400 Series B
笔记本电脑一台
注:选型前请先确定PLC是否支持Modbus TCP 通讯,或是否配备网络模块
1.3 软件需求 Software supply
本次测试使用PLC软件版本为:RSlogix 500 Version 11.00.00(CPR 9)
使用RSLogix 500 / RSLogix Micro版本8.30.00或更高版本对MicroLogix 1400系列. B控制器进行编程。
RSLogix 500编程软件包与用于SLC 500和MicroLogix系列处理器的罗克韦尔软件基. 于DOS的编程软件包创建的程序兼容,使得跨硬件平台的程序维护变得方便和容易。
方案描述 Proposal description
UR机器人ModBus TCP可作服务器(Server)端口号为502,此服务器总是运行在优傲机器人的控制系统中,监听来自客户端的请求;也可以作客户端(Client),发送请求信息给服务器。优傲的PolyScope用户编程界面可在“安装设置”中找到Modbus TCP 设置项,在此处可以配置服务器/客户端的IP地址,当通讯成功后,即可与第三方支持ModbusTCP的设备进行数据交互。
2.2 网络配置 Network configuration
开始测试前,请将UR机器人、AB PLC、以及笔记本电脑连接在同一个局域网且同一个网断内,设置好IP后,可利用笔记本电脑尝试Ping IP地址,确保网络是正常的状态。
以下为本次实验的IP配置:
序号 |
设备类型 |
网络IP地址 |
子网掩码 |
1 |
UR机器人 |
192.168.1.55 |
255.255.255.0 |
2 |
PLC |
192.168.1.2 |
255.255.255.0 |
3 |
笔记本电脑 |
192.168.1.4 |
255.255.255.0 |
2.3详细设计
机器人作为服务端或者客户端与PLC进行数据的监控或读取,以下会对此进行逐一举例,如利用PLC读取机器人的输入输出状态、监控通用寄存器等,并对组态通讯时PLC的设置进行具体说明:
2.3.1优傲机器人作为客户端
配置机器人的IP地址以及Modbus参数
进入“设置机器人”选择设置机器人网络给机器人分配静态IP地址。
进入“安装设置”选择Modbus 给机器人设置Modbus 地址:

配置PLC的IP地址以及modbus 参数
MicroLogix 1400中以太网通道1的默认通信协议是以太网/ IP。要与MicroLogix 1400系列B控制器中的Modbus TCP协议通信,必须为Modbus TCP协议配置通道。
新建一个对应的CPU的PLC程序,双击“通道配置”选择“channel 1”配置IP地址,并勾选“Modbus TCP Enable”勾选后会出现一个新选项“Chan.1-Modbus”,此页面配置完成后进入“Chan.1-Modbus”中,配置寄存器地址。请参考以下图片:

扩展标志:该标志允许使用与N15相同的4个N寄存器以扩展保持寄存器区域。
要启用扩展寄存器,您需要声明N15 - N16 - N17 - N18 - N19并将所有寄存器字设置为256,如下图所示:

重要:配置完成且成功下载到PLC并运行后,请断开PLC电源后重新上电,设置才能生效,否则设置不会起作用。
机器人接收数据
上述配置完成后,机器人可以做出询问得到PLC的数据。机器人打开Modbus界面、可观察到PLC利用MOV传送指令将“123”发送到N7:201地址中,可在机器人界面通过读取寄存器输入地址为201,可得到“123”这个值,见参阅下图:

使用PLC MOV指令,把参数传递到该地址:

2.3.2优傲机器人作为服务端
设置PLC、以及机器人的Modbus各项参数,以便监控数据的变化
例1:在机器人界面中,分别为第200~203通用寄存器设置了不同的值,PLC通过MSG指令可读取或者修改来自机器人的数据(机器人通用寄存器可读写)如下图:
PLC中MSG指令配置如下:(读取寄存器)

注:PLC例程请阅读2.4
例2:读取机器人输出状态:

服务器可以响应以下功能代码:
0x01:READ_COILS(读取输出位)
0x02:READ_DISCRETE_INPUTS(读取输入位)
0x03:READ_HOLDING_REGISTERS(读取输出寄存器)
0x04:READ_INPUT_REGISTERS(读取输入寄存器)
0x05:WRITE_SINGLE_COIL(写输出位)
0x06:WRITE_SINGLE_REGISTER(写输出寄存器)
0x0F:WRITE_MULTIPLE_COILS(写多个输出位)
0x10:WRITE_MULTIPLE_REGISTERS(写多个输出寄存器)
参考优傲机器人的Modbus地址分配表
具体请参阅官网“Modbus_address ”文档:
https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/modbus-server-16377/
2.4例程分享以及注意事项
下图为本次测试的PLC程序,列举了读写机器人寄存器、读取机器人输出状态信息以及读取PLC寄存器数据:

回顾通讯过程中的注意事项:
配置IP在同一个网段,且尝试ping 机器人、PLC地址确保网络配置正确
PLC配置好IP、Modbus 地址且将程序下载到PLC后,断电重启PLC,使能Modbus
MSG指令详细设置,配置错误将会无法通讯,请按照PLC故障代码查找原因
总结
本文详细地列举了优傲机器人与AB PLC的微型控制系统之间的Modbus TCP通讯,由于PLC编程软件的差异性,针对AB微型PLC的ModBUS TCP通讯,本文档具有较好的参考性,希望透过本文档,能够帮助用户节省时间快速完成与AB 微型PLC的通讯。
可参阅的资料:
https://www.mesta-automation.com/modbus-configuration-example-for-an-allen-bradley-micrologix-1400/#prettyPhoto
https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/modbus-server-16377/
更多技术参考, 公众号文章:
Airking Robots
北京艾科伯特科技有限公司,是专注协作机器人和移动机器人的技术公司,Airking Robots——艾科伯特立足于航空/航天,专注于机器人智能制造方向,Airking Robots是优傲机器人,Robotiq等协作机器人方向中国区域金牌提供商
商务联系:

更多案例请关注公众号:





