使用VFBOX网关实现变频器EthernetIP转EtherCAT通信的项目案例
一、项目背景
某自动化生产线中,现场有多台变频器(如ABB、丹佛斯、台达等支持EtherNet/IP协议的变频器),用于控制电机的转速。上位控制系统采用西门子或倍福等EtherCAT主站型PLC,要求实时采集变频器的运行频率、输出电流、输出电压、故障代码等参数,并能通过PLC向变频器下发频率设定值、启停控制等指令。
由于变频器只支持EtherNet/IP协议,而PLC控制器使用EtherCAT协议,两种协议无法直接通信。为解决这个问题,项目中采用了VFBOX协议转换网关,实现EtherNet/IP与EtherCAT之间的双向数据转换,无需修改变频器和PLC原有程序。
二、方案架构
整个系统的网络架构如下:
变频器(EtherNet/IP从站设备)
│ EtherNet/IP
▼
VFBOX协议转换网关
│ EtherCAT
▼
PLC控制器(EtherCAT主站)
VFBOX网关相当于一个"翻译官",通过EtherNet/IP协议采集变频器数据,再以EtherCAT从站的身份将数据转发给PLC主站;反向地,PLC下发的控制指令也通过网关写入变频器。
三、准备工作
- VFBOX网关一台,要求支持采集EtherNet/IP数据,并支持EtherCAT从站转发功能(参考网关侧面标签型号)。
- 电脑一台,IP地址设置为与网关同一网段(如192.168.1.198)。
- 网线、12V电源。
- 变频器的EtherNet/IP参数资料:IP地址、端口号(默认44818)、输入/输出实例号(Instance)及数据长度;如有EDS文件更佳。
四、网关采集变频器EtherNet/IP数据
1. 新建工程
安装并打开VFBOX Studio软件,点击"新建工程",设备类型选择与网关实际型号一致的选项(如VB301-1100、VB301-1200、VB301-1400、VB302-2400、VB303-2400等)。
2. 添加采集设备
点击"新建设备",驱动类型选择 EtherNet/IP IO(CIP协议)。
3. 填写变频器连接参数
输入变频器的IP地址和端口号,端口号默认44818。
4. 配置输入/输出块(Instance)参数
按照变频器手册设置Connection的输入实例(Input Instance)、输出实例(Output Instance)和长度。这些参数必须与变频器侧的配置保持一致。
例如:Output Instance = 150(100),Input Instance = 101(101),Configuration Instance = 100,长度根据变频器数据区大小填写。
5. 添加采集数据点
根据变频器通信手册中的寄存器地址表,添加需要采集的数据点,例如:
| 数据点 | 地址 | 数据类型 | 读写类型 |
|---|---|---|---|
| 运行频率 | Output Assembly 地址区 | Float/Word | 读 |
| 输出电流 | 同上 | Word | 读 |
| 输出电压 | 同上 | Word | 读 |
| 故障代码 | 同上 | Word | 读 |
| 频率设定值 | Input Assembly 地址区 | Float/Word | 写 |
| 启停控制字 | 同上 | Word | 写 |
注意:向变频器写数据的点,读写类型必须设置为"写"。
6. 下载工程并验证
点击菜单"下载",将工程下载到网关。然后点击"查看数据",确认采集点的"状态"显示为Good、更新时间为当前时间,即表示网关已成功采集到变频器数据。
五、从变频器EDS文件获取参数信息
如果变频器厂商提供了EDS文件,可以直接从文件中读取连接参数:
-
将变频器设置为EtherNet/IP从站模式,并启用连接通道。
-
打开EDS文件,定位到
[Connection Manager]段,找到Connection1的Path,类似:"20 04 24 64 2C 96 2C 65"; $ Path解析方法:定位
242C2C:24后面的0x64→ Configuration Instance = 100- 第一个
2C后面的0x96→ Output Instance = 150 - 第二个
2C后面的0x65→ Input Instance = 101 - Instance值 = 1,Number Size = 1字节
-
如果Path格式类似
"20 04 25 00 64 00 2D 00 C6 00 2D 00 C7 00"(即25 00、2D 00分隔),则Instance需要用2个字节表示,此时Instance Number Size需配置为2。常用Instance范围0-255为1字节,0-65535为2字节。 -
有些EDS文件通过Param参数定义Instance值,例如Param6定义输入实例(Input Instance)= 3,照此填写即可。
-
Configuration Size一般填写 0。
六、启动EtherCAT从站转发数据
1. 启用EtherCAT服务
进入菜单"服务→EtherCAT",将启用设置为 Yes。主要参数说明:
| 参数 | 说明 |
|---|---|
| IN/OUT网口 | 网关连接PLC主站(EtherCAT主站)的网口 |
| 存储区大小 | 根据实际传输的数据量选择对应大小 |
| Inputs | 网关输出给PLC主站的数据(即采集的变频器数据) |
| Outputs | PLC主站输出给网关的数据(即下发给变频器的控制数据) |
2. 配置Inputs
点击"Inputs",添加网关要输出给PLC的变频器数据,如运行频率、电流、电压、故障代码等。
3. 配置Outputs
点击"Outputs",添加PLC下发给网关、再由网关写入变频器的数据,如频率设定值、启停控制字等。
4. 下载工程并生成ESI文件
完成配置后点击"下载"将工程下载到网关;然后点击"Generate ESI File"生成ESI描述文件,将该文件导入EtherCAT主站PLC中(如TwinCAT、Codesys或PLC厂家的组态软件),即可扫描到VFBOX从站并建立通信。
注意:如果后续修改了数据点或映射参数,需要重新下载工程、重新生成ESI文件,并再次导入主站。
七、PLC侧配置(以TwinCAT为例)
- 将生成的ESI文件复制到主站组态软件的ESI目录。
- 扫描网络,找到VFBOX EtherCAT从站设备并添加。
- 在主站程序中建立变量映射,与网关配置的Inputs/Outputs数据一一对应。
- 下载PLC程序,运行后即可实现:
- PLC实时读取变频器的频率、电流、电压、故障状态;
- PLC向变频器写入频率设定值和控制指令。
八、案例总结
通过VFBOX协议转换网关,本项目在不修改变频器和PLC任何程序的前提下,快速实现了EtherNet/IP设备与EtherCAT主站系统之间的双向数据交换。方案优点:
- 无需修改设备程序——变频器与PLC保持原有工作方式;
- 配置简单——只需在网关软件中完成设备参数、数据点和映射表配置;
- 实施周期短——避免了二次开发,节省大量时间和人力成本;
- 工业级品质——网关可长期稳定运行于工业现场环境。

浙公网安备 33010602011771号