JZGKCHINA
工控技术分享平台
尊重原创 勿抄袭
勿私放其他平台
写在前面
本文介绍了 AB PLC 和 B&R PLC 之间通过Ethernet/IP使用隐式消息创建通讯的过程。
硬件组成:
• B&R PLC 为 PP520,固件 V2.00 或更高版本。
• AB PLC为1756系列Controllogix,组态软件为Studio5000。
• B&R PLC 和 AB PLC 处于同一网段。
图 1: 实验架构图
Ethernet/IP 是一种基于工业以太网的网络协议,它使用通用工业协议 (CIP) 作为其协议层通信。一个非常重要的概念是可通过Ethernet/IP 使用的两种主要类型的 CIP 消息传递之间的区别:显式和隐式。显式消息传递是一种异步请求/回复通信方法,它利用 TCP/IP(需要响应)来实现所谓的 CIP class 3。此方法主要用于较慢或高流量的网络根据需要传输更高级别的时间非关键数据,如客户端/服务器关系。显式消息传递要求工程师设置缓冲区和握手,以直接在何时何地读取和写入数据。此方法可以传输更多的数据,但需要更多的前期编程。隐式消息传递是一种同步通信方法,它使用 UDP(无需响应)来实现 CIP class 0 或 1。此方法通常用于较低级别的时间关键操作,如 I/O 通信。将此方法视为scanner/adapter关系。隐式消息传递在每个网络周期传输的数据量较小。
在此示例中,我们将使用隐式消息传递在 B&R PLC 和 Allen-Bradley PLC 之间建立连接。
B&R PLC侧:
创建数据对象
B&R 使用其 AsEthIP 库通过Ethernet/IP 建立隐式消息传递。库需要包含连接配置数据的数据对象。要在 Automation Studio中创建数据对象,请转到逻辑视图,右键单击要存储数据对象的文件夹,然后选择"添加对象"。从工具箱对象目录中选择数据对象:
图 2: Automation Studio新建数据对象
这将添加一个空白数据对象。将其重命名为 EIPConfig。
必须以非常特定的格式设置数据对象。示例的配置:
图 3:Ethernet/IP 配置数据对象语法
以下是配置参数及其说明:
在这种情况下,使用 ETH 端口,该端口位于 IF3 的位置:
图 4:B&R 以太网接口地址
程序集下面是相应的变量声明。在 B&R 端的程序集中设置变量的语法是:
Task:TagName, TagType, TagDim
例如,如果有一个 TestArrayRE 的全局变量,该变量是 10 个 REAL 的数组,则语法将是:
TestArrayREALs, REAL, 10
为了简单演示,设置一个 BOOL、一个 DINT 和一个用于输入和输出 REAL。
在Automation Studio 中声明这些变量,并且这些变量必须存在于目标上的内存中,这意味着必须在代码的某处部署这些变量。使用 GenerateL5k 工具时,变量将是 AB 端 UDT 的成员。还值得注意的是,B&R 端的变量不应是数据结构的一部分。数据对象完成后,将其添加到软件配置中。
图 5: 软件配置中数据对象
在Automation Studio中
创建 AsEthIP 程序
在软件配置中配置和部署数据对象后,需要创建一个循环程序,以便使用 AsEthIP 函数库运行Ethernet/IP 驱动程序。从对象目录中添加新程序。选择使用Structured Text all-in-one:
图 6:添加新的 ST 程序
命名新程序 EIPComms,以匹配在数据对象中为程序名称指定的内容。在局部变量表中创建局部变量和函数块实例:
图 7:EIPComms 局部变量
下面是代码的结构:
一些注意事项:
确保程序完成后,将部署在循环任务类中的软件配置中,该类的运行速度至少是数据对象中#CONRPI值的两倍。在这种情况下,将 RPI 设置为 100ms,运行该程序的最慢是 50 毫秒。
图 8:EIPComms 软件配置部署
现在可以转移到B&R PLC。下面是在监视器模式下的程序的屏幕截图。请注意,没有配置错误,只是还没有连接:
图 9:B&R 变量的监控
GenerateL5k 工具
B&R 有一个工具,可自动生成Ethernet/IP 设备以及一些可导入到 Studio 5000的代码。由于使用 AS4.2,因此此应用程序的路径:
C:\BrAutomation\AS42\Bin-en\BR.AS.GenerateL5k.exe
浏览到Automation Studio项目目录中的文件夹,查找之前创建的数据对象。这通常位于以下目录中:
C:\projects\*name of project*\Logical\*name of EIP data object*
例如在这里:
图 10: B&R GenerateL5k 工具
在AB PLC侧:
一旦生成 L5K 文件,启动Studio 5000 导入创建。在 Studio 5000 中,选择 L5K 文件,并为创建名称ACD 文件。
单击"确定"将控制器类型更改为 Logix Designer的类型,它将使用通用以太网模块生成通用 CompactLogix 项目。
图 11:Studio 5000 Logix Designer 通用Ethernet/IP 模块
名称、IP 地址和连接参数都与 B&R 数据对象相对应。打开控制器标记以查看与数据对象对应的标记:
图 12:Ethernet/IP 模块 UDT
GenerateL5k 实用程序还创建一个任务,该程序包含将输入数据从 B&R PLC 复制到 EIPCon_In UDT 并将数据从EIPCon_Out写入 B&R PLC 的例程。这些标记和 UDT 也来自 B&R 系统上的数据对象。
图 13: CpyEIPCon Routines
将以太网-模块从新项目复制并粘贴到现有的 AB 项目 PLC I/O 配置中,确保在存在多个Ethernet/IP 端口的情况下粘贴到正确的子网上的Ethernet/IP 卡下。然后复制 CpyTask 从新项目复制到现有项目。从新项目导出 CpyEIPCon 程序,然后导入到 CpyEIPCon task下的现有项目中。此时,如果对Ethernet/IP 配置进行任何更改,则必须首先修改 B&R 数据对象,然后可以再次使用 GenerateL5k 工具,也可以手动更改 ETHERNET-MODULE 属性中的程序集大小或属性。
图 14:现有项目新Ethernet/IP 模块
下载到控制器。如果没有问题,状态将在以太网模块属性报告中显示"正在运行"。更改 EIPCon_Out UDT 成员的值,并检查该值是否出现在 B&R 端:
图 15:从 AB 到 B&R 的测试
然后更改 B&R 端的值,以查看AB端是否改变:
图 16:从 B&R 到 AB 的测试
测试完成,以上就是B&R PLC和 AB PLC,通过Ethernet/IP使用隐式消息传递进行通信。
总结:
通过此次测试可以看到B&R在与第三方的通讯上做足了功课,这样可以代替采用Modbus TCP的折中通讯方式和第三方设备通讯。同时也可以让AB用户侧省去类似于Prosoft和anybus等专业第三方的产品的费用。从市场定位上来看,B&R充分考虑和北美系列的通讯兼容性,开发了这个通讯库更是方便了自动化从业人员在协议层的研究和应用。估计也是ABB收购B&R后定位机械自动化品牌输出到北美市场做足了功课。
作 者 简 介
曹俊义
工业物联网资深构建专家
工厂智能化改造践行专家
资深工业网络通讯专家
工业自动化控制系统专家
ProSoft产品顶级技术专家
工业通讯领域沉浸十数年,深喑各种工业通讯协议和工业网络架构以及国内外多种主流PLC应用和操作、熟知罗克韦尔、施耐德、西门子、GE等知名品牌的冗余系统,对工业无线通讯、工业物联网、工业IT与OT的融合,有着前瞻性的独到见解和务实的实践经验。
现任伟联科技董事长。努力为中国工业信息化、数字化、智能化的深入发展做出贡献。
-End-