基于EtherNet/IP 协议的交互式机器人控制系统

2024-01-10 10:08林松徐凯
机器人技术与应用 2023年6期
关键词:控制柜框图以太网

林松 徐凯

(深圳市越疆科技股份有限公司,广东深圳,518000)

0 引言

Ethernet/IP 是一种工业网络协议,其中IP 为Industrial Protocol(工业协议)的英文首字母缩写,可将通用工业协议(Common Industrial Protocol ,CIP)适配到标准EtherNet(一种局域网技术)。EtherNet/IP 使用以太网的物理层网络,也架构在TCP/IP(是Internet 上最常用的协议,TCP/IP 分别是Transmission Control Protocol(传输控制协议)和 Internet Protocol(因特网协议)的英文首字母缩写)的通讯协议上,用微处理器上的软件即可实现,不需专用集成电路(Application-Specific Integrated Circuit,ASIC)或现场编程门阵列(Field Programmable Gate Array,FPGA)。EtherNet/IP 可以用在一些可容许偶尔出现少量非决定性的自动化网络[1]。

工业生产领域有大量使用PLC 控制的场景,EtherNet/IP 是基于EtherNet 的通讯协议,目前世面上的工控机以太网口是基本标配,广泛的硬件支持可以更便捷地基于EtherNet/IP 通信。EtherNet 设备应用广泛及其和PLC 都具有功能多、支持协议多的优点,使得机器人广泛用于工业领域的多个应用场景;通讯方式具有的便携性和易用性,同时可以兼容已有工业场景下的工艺,减少现场电气工程师、生产工程师、工艺工程师等人员的学习培训成本。

1 EtherNet/IP 协议

1.1 EtherNet/IP 协议及其在机器人领域中的应用

在机器人领域,EtherNet/IP 通常用于机器人控制和通信。如图1所示为EtherNet/IP协议与机器人的实体框图。

图1 EtherNet/IP 协议与机器人的实体框图

在机器人控制方面,EtherNet/IP 可以用于实现机器人控制器和外部设备(如PLC、传感器、人机界面等)之间的通信。通过EtherNet/IP,机器人控制器可以向外部设备发送指令,接收传感器数据,实现机器人的自动化控制。同时,EtherNet/IP 还支持多个控制器之间的通信,可以实现多个机器人协同工作的控制。

在通信方面,EtherNet/IP 采用了开放式标准,可以与其他工业以太网协议相兼容。这使得机器人系统可以与其他设备进行集成,从而实现更高效的生产流程。例如,机器人可以与传输线、仓库管理系统和制造执行系统(Manufacturing Execution System,MES)等进行集成,实现完全自动化的生产线。

总之,EtherNet/IP 协议在机器人领域中的应用非常广泛,可以实现机器人控制和通信等多种功能,帮助企业实现更高效的生产流程和更高质量的产品。

1.2 EtherNetIP 协议整体模块框图

基于EtherNet/IP 协议的交互机器人控制系统,用于解决现有机器人无法通过广泛的PLC 程序对其控制的问题。图2 所示为 EtherNet/IP 协议与机器人的系统框图,系统包括以太网通信模块、控制柜控制模块、机器人运动模块。

图2 EtherNet/IP 协议与机器人的系统框图

其中以太网通信模块与控制柜控制模块连接,外部PLC 通过以太网通信模块与控制柜交互。由以太网硬件为主要设备,外部通过RJ45(一种网络接口标准,用于以太网局域网中的物理连接)接口的通讯线,实现控制柜控制模块和外部PLC 的通信交互,以太网通讯模块承担主要信息的接收和传输。

1.3 机器人控制柜控制模块框图

在EtherNet/IP 协议与机器人的系统框图中控制柜控制模块主要用于控制机器人本体,包含EtherNet/IP 协议通讯模块、地址功能映射模块、功能调用执行模块。控制柜控制模块的框图如图3 所示。

图3 控制柜控制模块框图

1.3.1 EtherNet/IP 协议通讯模块

EtherNet/IP 协议通讯模块实现了与PLC 之间的双向信息接收与发送功能;PLC 基于该模块交互通信获取IO状态、设备状态、运动状态,并实现IO 控制、运动控制等功能,最终将需要的信息打包发送或接收解析。本文基于以太网协议的架构封装为EtherNet/IP 协议,该协议可以定义传输、网络、数据链路和物理层的特性和功能。协议使用面向对象的设计方式提供实时控制应用所需的服务和设备配置,并促进在各种产品生态系统中一致地实施自动化功能。EtherNet/IP 协议通讯模块同样能接收TCP 协议数据。EtherNet/IP 协议可以利用已经存在的其他基于TCP 的协议来为控制网络提供服务[2]。

1.3.2 地址功能映射模块

地址功能映射模块用于将数据块地址预定义,通过通讯模块交互的数据指定意义,绑定对应数据功能。对应数据包含机器人按钮信号、机器人状态、控制模式、负载参数、机器人电压、数字输入输出、报警状态、关节位置、关节速度、关节电流、关节模式、笛卡尔位置、笛卡尔速度等,将这些数据定义在数据块地址中,PLC基于该定义获取信息,在自定义场景下根据不同信息执行自动化下的相应逻辑控制。

地址功能映射模块用专用的地址映射文件电子数据表格(Electronic Data Sheet, EDS)描述地址功能交互信息和功能调用执行地址映射。PLC 根据不同型号机器人加载指定EDS 文件来通过协议与机器人交互。EDS 文件详细的定义了机器人的地址功能,PLC 加载错误的EDS文件会导致错误映射功能,可以根据固定地址获取机器人型号,判断EDS 文件是否与型号匹配,防止映射错误[3]。

1.3.3 功能调用执行模块

功能调用执行模块用于执行控制机器人、获取机器人状态、读取IO 状态以及进行IO 控制等功能。该模块执行机器人本体操作控制,也可以通过通信获取机器人本体相关信息,模块下可以预先撰写自定义脚本逻辑,适用于各种工艺场景,之后通过调用模块映射到地址功能映射模块,用于通信调用。

1.3.4 机器人控制通信模块

机器人控制通信模块是主要的通信与控制模块,通过以太网接口,承载外部PLC 与机器人运动模块之间的信号交互,并执行机器人的运行。该模块集成了所有必要的控制和通信功能,充当着PLC 和机器人之间的适配层,实现PLC 与机器人之间的无缝连接,使得机器人能够准确执行PLC 发出的指令,并向PLC 传递机器人状态和执行结果等信息。

2 EtherNetIP 协议与机器人实施方式

2.1 PLC 实施流程

如图4 所示,具有EtherNet/IP 协议功能的PLC 程序启用EtherNet/IP 模块,启用后配置连接的IP 地址等待PLC 连接从站机器人;PLC 新建工程,然后加载EDS 文件,设置自定义统一资源标识符 (Uniform Resource Identifier,URI) 和通用机器人操作员 (Universal Robot Operator,URO)的本地和全局变量,以及用户定义数据类型,在PLC 中设置允许机器人和PLC 通讯;之后将URI 和URO定义的变量与加载EDS 文件后出现的机器人数据类型绑定;后续程序即可通过变量来获取机器人状态信息,也可以操作机器人,PLC 梯形图程序或者结构文本 (Structured Text,ST)语言编程程序都可访问和操作变量,写好样例程序后,下载程序到PLC 中并确认IO 状态正确,运行PLC 程序后即可通过编写好的样例程序控制机器人[4]。

图4 PLC 流程图

2.2 控制柜控制模块启动流程

如图5所示,控制柜控制模块启动部分包含以下步骤:

图5 控制柜控制模块启动的流程图

1)使能以太网口,启动以太网硬件,并将硬件接口封装成系统驱动映射到系统以太网模块;

2)启动线程初始化机器人运动模块,使能机器人伺服控制及相应硬件接口,同时启动系统日志服务和文件系统服务;

3)在机器人运动模块启动的同时,绑定使能后的以太网端口,并开启TCP 和UDP 服务;

4)控制柜控制模块启动步骤完成后,初始化EtherNet/IP 协议服务,开启监听线程,接收EtherNet/IP协议指令,等待外部PLC 发送数据指令;

5)根据初始化EtherNet/IP 时的数据大小和类型,将数据根据EDS预定义的类型,划分定义类型及其数据大小;

6)EtherNet/IP 协议模块正确启动完成,将之前划分好的数据与机器人控制模块的功能做函数回调绑定(绑定的数据包含机器人按钮信号、机器人状态、控制模式、负载参数、机器人电压、数字输入输出、报警状态、关节位置、关节速度、关节电流、关节模式、笛卡尔位置、笛卡尔速度以及脚本启动、停止等),回调绑定后即可通过地址数据的变化触发相关功能;

7)地址功能映射模块完成后等待EtherNet/IP 协议接收数据,PLC 程序根据运行逻辑循环和系统交互,发送和接收EtherNet/IP 数据包,功能调用执行模块根据数据变化和指令执行绑定回调功能,地址功能映射模块通过机器人控制模块获取机器人状态和控制机器人等,并将数据通过EtherNet/IP 协议传输反馈至PLC 控制程序;

8)PLC 程序通过协议不断地交互以获取和控制机器人,这一过程将持续到程序执行结束。

2.3 PLC 与机器人配置与通信

2.3.1 PLC 与机器人配置

PLC 与机器人配置步骤如下:

1)在Sysmac Studio(欧姆龙PLC 上位机软件)编程软件中定义好需要进行EtherNet/IP 通讯的变量;如图6所示,在全局变量页面中定义两个数组类型的全局变量,分别对应总线地址定义中的输入与输出,输入变量长度为472 字节,输出变量长度为224 字节。

图6 变量添加

2)如图7 所示,进入工具 > EtherNet/IP 连接设置 >内置EtherNet/IP 端口设置页面,右键单击右上角目标设备下方的空白处,选择显示EDS 库。

图7 连接设置

3)如图8 所示,在内置EtherNet/IP 端口设置界面的右侧空白处,双击右侧工具箱下目标设备的空白处鼠标右键进入显示EDS 库,选择需要安装的EDS 文件;在EDS 库页面中单击安装,选择机器人配套的EDS 文件。

图8 EDS 文件安装

4)EDS 文件安装完成后,关闭EDS 库,单击右上角工具箱下方的+,配置节点信息后单击添加。如图9 所示,节点地址即机器人的IP 地址为192.168.5.1;型号名称即EDS 文件对应的产品名称为“Dobot CR”;修订版即EDS 文件的版本号为4。

图9 添加对象操作

5)如图10 所示,在内置Ethernet/IP 端口设置页面中央的标签组区域内通过右键菜单分别创建一个输入标签组和一个输出标签组(名称自定义),然后分别导入之前在全局变量中定义的输入。

2.3.2 PLC 和机器人通信建立

如图11 所示,切换Sysmac Studio 至在线模式,并将配置与程序传送到控制器(即下载至PLC)后,PLC便开始与机器人进行EtherNet/IP 通讯,用户可以通过Sysmac Studio 进行监控。

图11 PLC 和CR 机器EtherNet/IP 通信建立

至此,完成了PLC 的配置,并使其能够与机器人通过EtherNet/IP 交换数据,达到控制机器人的目的。

3 结束语

综上所述,本文提出的基于EtherNet/IP 协议的交互机器人控制系统,可以与所有支持EtherNet/IP 协议的PLC 软件通信,适配更多用户使用场景,满足不同客户使用及控制需求。EtherNet/IP 协议基于以太网硬件实现,拥有广泛的硬件支持,模块同样适用于基于TCP 协议通信控制,能适用更多通信情况,提高了机器人对外通讯的灵活性,满足更多灵活、高效、自定义的生产场景。

猜你喜欢
控制柜框图以太网
动力集中电动车组综合控制柜热分析计算
带有伺服放大器和变频器控制柜的散热计算案例
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
电路图2017年凯迪拉克XT5
算法框图的补全
谈实时以太网EtherCAT技术在变电站自动化中的应用
发射机房天线交换开关控制柜的稳定性改造
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用