工业通信中,协议不匹配是常见问题,今天讲 Profinet 和 EtherCAT 进行通讯。

电子说

1.4w人已加入

描述

工业通信中,协议不匹配是常见问题,协议不匹配的直接表现是:西门子 PLC(Profinet

主站)无法与 EtherCAT 从站(如汇川伺服)直接通信,因为它们使用不同的通信协议和

数据帧结构。

核心解决方案:使用协议网关进行转换

这款网关充当了“翻译官”的角色:

PN 侧:作为 Profinet IO 从站,接受西门子 PLC 的控制和數據交換。

ECAT 侧:作为 EtherCAT 主站,管理和控制下游的 EtherCAT 从站。

解决过程分为两大步骤:配置网关 和 组态 PLC。

第一步:配置网关(EtherCAT 侧)

这是最关键的一步,需要在网关的配置软件中建立 EtherCAT 网络。

准备工作

从官网下载并安装配置软件 PN-ECAT(M) v2.1.exe。

在软件同级目录下创建 XML 文件夹。

将您所有要使用的 EtherCAT 从站(如汇川 SV660N)的 ESI 文件 拷贝到 XML 文件夹

中。

扫描与连接

用网线连接电脑和网关的 CFG 配置口。

打开配置软件,选择正确的电脑网卡,点击 “搜索网络中网关”。

在列表中选中您的网关,点击 “配置网关” 建立连接。

添加与设置从站

在右侧“ECAT 设备列表”中,右键点击您的从站设备(如汇川 SV660N),选择 “添加” 到

左侧的从站列表。

在左侧列表中点击该从站,在 “常规信息” 选项卡中设置 同步模式(根据从站手册,如伺

服通常选“DC-Synchron”)。

配置过程数据(PDO 映射)

切换到 “PDO 映射” 选项卡。

这里需要紧密结合您的 EtherCAT 从站设备手册。选择需要使用的 RPDO(接收,PLC→

从站)和 TPDO(发送,从站→PLC)。

例如,文档中实例使用了汇川 SV660N 的 0x1701 (RPDO) 和 0x1B01 (TPDO)。您需要

根据实际需要的控制字(如控制模式、目标位置、使能信号)和状态字(如实际位置、状

态、错误码)来勾选相应的对象。

计算数据映射

完成所有从站的 PDO 配置后,切换到 “数据映射” 选项卡。

点击 “计算 PN IO 映射”。软件会自动生成一个表格,清晰地列出每个数据对象在 Profinet

网络中的字节偏移量和长度。

关键信息:记录下最后一行数据的“输出偏移”和“输入偏移”,分别计算出 PN 侧所需的最小

输出字节数和最小输入字节数。

输出总字节 = (最后一个 RPDO 对象的偏移 + 长度) / 8

输入总字节 = (最后一个 TPDO 对象的偏移 + 长度) / 8

例如:文档中实例计算出需要 12 字节输出 和 28 字节输入。

保存并下载配置点击 “保存配置” 将配置下载到网关中。

第二步:组态 PLC(Profinet 侧)

现在需要在西门子 PLC 的编程软件(如 TIA Portal 或 STEP 7-MicroWIN SMART)中,

将网关添加为一个标准的 Profinet 设备。

安装 GSD 文件

从三格电子官网下载网关的 GSD 文件,并在 PLC 编程软件中安装。

添加网关设备

在硬件组态中,从硬件目录中找到安装好的网关(例如 SG-PN-ECAT(M)),将其拖放到

Profinet 网络上。

分配设备名称和 IP 地址

务必确保组态中设置的 Profinet 设备名称 与网关的实际名称完全一致。可以通过软件中

的“查找 PROFINET 设备”功能来在线修改网关名称。

设置一个与 PLC 在同一网段的 IP 地址。

添加输入/输出模块

根据第一步第 5 点计算出的字节数,在网关的插槽上添加相应的 IO 模块。

原则:组态的 IO 总长度不能小于计算出的最小长度。

示例(基于文档):

插槽 1:添加一个 Input/Output 8 Byte

插槽 2:添加一个 Input/Output 4 Byte (至此,输出共 8+4=12 字节)

插槽 3:添加一个 Input 16 Byte

(可能需要再添加一个 Input 12 Byte 以满足 28 字节输入的要求)

组态完成后,软件会为这些 IO 模块分配地址(如 QB2-QB13, IB2-IB29)。

建立数据对应关系

根据配置软件“数据映射”页面生成的表格,将 PLC 程序中的变量与网关的 IO 地址对应起

来。

第三步:调试与运行

下载组态:将硬件组态下载到 PLC。

检查指示灯:确认网关的 PWR、SY1、SY2 灯常亮,PN 和 OP 灯常亮,表示 Profinet

和 EtherCAT 通信均正常。

伺服使能:按照文档附录中的 CIA402 状态机,在 PLC 中编写程序,通过顺序写入

Controlword(如 0x0006 -> 0x0007 -> 0x000F)来引导伺服驱动器进入“运行”状态

(Statusword 变为 0x1637)。

测试通信:尝试写入目标位置,观察实际位置是否变化,验证整个通信链路是否成功。

总结

解决“协议不匹配”的核心流程可以概括为:

配置网关(定义 EtherCAT 网络和数据) -> 计算 IO 大小 -> 组态 PLC(添加网关并分配

足够 IO) -> 建立地址映射 -> 按照 CIA402 协议进行控制。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分