EtherCAT转ModbusTCP网关

一、 功能 概述

1.1设备简介

本产品是EtherCAT和Modbus TCP网关,使用数据映射方式工作。

本产品在EtherCAT侧作为EtherCAT从站,接TwinCAT、CodeSYS、PLC等;在ModbusTCP侧做为ModbusTCP主站(Client)或从站(Server),接ModbusTCP从站如变频器、流量计、温度采集模块等,或者接ModbusTCP主站如PLC、上位机等。

使用场景1:EtherCAT主站读写Modbus TCP从站:

使用场景2:EtherCAT主站和ModbusTCP主站交换数据:

EtherCAT支持最多64个TPDO和最多64个RPDO,每个PDO映射16个字节,故输入输出最多各1024字节。

1.2 硬件参数

|-----------|-------------------------------------------------------------------------------------------------------------------------|
| 硬件参数 | 参数说明 |
| 电源 | 9-36V(典型值12V/70mA),支持双电源冗余供电,带过压、过流保护 |
| 工作温度 | -30~75℃ |
| 工作湿度 | 5%~95%无冷凝 |
| EtherCAT口 | 2个RJ45以太网接口,支持100BASE-TX/RX,MDI/MDIX自检测,用来组成链式网络。 ++++EtherCAT的两个网口严格区分输入输出,不是交换机!!!接线时必须输入接上一个的输出,第一个ECAT从站的输入接主站。++++ |

|------|------------------------------------------------------------|
| TCP口 | 1个RJ45以太网接口,支持100BASE-TX/RX,MDI/MDIX自检测,默认IP是192.168.1.37。 |

1.3 软件参数

|----------|-------------------------------------------------------------------------------|
| 软件参数 | 参数说明 |
| EtherCAT | 采用EtherCAT从站芯片AX58100。 工作在FreeRUN模式。 支持COE。 支持最多64个TPDO和64个RPDO,每个PDO映射16个字节。 |
| TCP | 做为ModbusTCP主机最多可连接7个ModbusTCP从机;作为Modbus从机支持7个ModbusTCP主机连接。 |
| 最大映射数据量 | 输入1024字节;输出1024字节 |
| 工作参数配置 | EtherCAT端通过本公司提供的ESI文件配置PDO。 TCP端通过网页和配置软件配置。 |

硬件说明

2.1 电源接口

本网关电源接口如下图所示,支持压线端子接法和圆头电源接法,支持双电源冗余供电,支持9-36V输入:

|---------|------------------------|
| 接口符号 | 参数说明 |
| 圆头V1 | 接圆头电源7-36V(和端子V1不能同时接) |
| 端子V1/V2 | 接直流9-36V正 |
| G | 接直流9-36V负 |

|----|-----|
| PE | 接大地 |

2.2 指示灯定义

本网关六个指示灯如下图所示:

|-----|-------------------------------------------------------------------------------------|
| 指示灯 | 指示灯说明 |
| PWR | 电源指示灯,常亮说明电源正常 |
| SY1 | Ethercat系统灯,常亮说明Ethercat系统正常启动 |
| OP | 常亮说明与Ethercat主站组态成功 |
| TR | 闪烁说明Ethercat端与TCP端通讯正常 |
| SY2 | TCP系统灯,常亮说明TCP系统正常启动 |
| LNK | 本网关做ModbusTCP主机时与至少一个ModbusTCP从机设备连接成功时常亮 本网关做ModbusTCP从机时有至少一个ModbusTCP主机设备连接成功时常亮 |

2.3 恢复出厂设置按键

当配置错误导致网关工作异常可以按住之后给网关重上电,网关会清除当前所有配置。用户应该等到SYS以5hz频率闪烁再松开按键,网关自动重启恢复正常。

2.4 配置口

配置口用来连接电脑,配置网关。配置口如下:

2.5 EtherCAT口

EtherCAT口如下:

|-----------|-------------|
| EtherCAT口 | 接口说明 |
| PORT1 | EtherCAT输入口 |
| PORT2 | EtherCAT输出口 |

++++EtherCAT的两个网口严格区分输入输出,不是交换机!!!接线时必须输入接上一个的输出,第一个ECAT从站的输入接主站。++++

2.6 TCP接口

TCP口如下:

软件说明

3.1 网页参数

网关TCP侧需要使用网页配置LAN口IP等参数。

①电脑跟网关LAN口直连,电脑IP改为LAN口IP(默认是192.168.1.37)同网段的静态IP,例如LAN口IP为192.168.1.37,电脑IP可以改为192.168.1.210。

②在浏览器地址栏输入网关LAN口IP,输入用户名和密码,默认都是admin,然后点击"登录/重置密码":

工作方式:网关在TCP侧做ModbusTCP主机时选择Modbus TCP_Client,做从机时选择Modbus TCP_Server。

模块地址:网关LAN口IP。

Mac地址:最好别修改,就算修改也不能跟同一网络内其它网络设备的Mac一致。

服务器1-服务器7及其从机地址:网关在TCP侧做ModbusTCP主机时需要填写,服务器1-服务器7为ModbusTCP从机的IP和端口。从机地址要跟ModbusTCP从机设备的实际站号一致。

接收超时时间:网关在TCP侧做ModbusTCP从机时填写,不为0时,如果接收超时时间内没收到ModbusTCP主机设备的数据,网关会主动断开与ModbusTCP主机之间的TCP连接,为0则不会主动断开TCP连接。

Client全断开清零写入:网关在TCP侧做ModbusTCP从机时填写,如果勾选,则没有ModbusTCP主机设备连接时将EtherCAT主站的输入数据清零,不勾选则不会主动将EtherCAT主站的输入数据清零。

③修改完网页参数后点击"设置并重启模块"按钮,配置的参数立即生效。

3.2 配置软件参数

配置软件页面如下图所示:

3.2.3 ModbusTCP主机参数部分

主从模式选择主机模式时,网关在TCP侧做ModbusTCP主站。

该模式下可以设置是否启用指令状态监控,当使能监控时会为每条Modbus指令在Input留一个bit的状态位,该位为0表示这条指令从站应答正常,该位为1表示这条指令从站应答有问题(超时或错误)。

通道配置为Modbus主机需要设置轮询空闲、应答超时、写次数、指令条数以及Modbus指令。

|------------|------------------------------------------------------------------------------------|
| Modbus主机参数 | 参数说明 |
| 轮询空闲 | 1-60000ms,当完成一条Modbus指令之后延迟多长时间开始下一条指令。 |
| 应答超时 | 1-60000ms,当发送完Modbus指令之后等待从站应答最大超时时间。 |
| 写次数 | 0-255,0:每个轮询周期都发送写指令;1-255:当要写的内容发生变化时才写,直到写指令应答成功或达到写次数。 |
| 指令条数 | 本Modbus通道配置的指令数量 |
| Modbus指令 | 标准Modbus指令,需要设置从机地址、功能码、寄存器地址、寄存器长度 |
| 指令状态位置 | 使能主站模式下指令状态监控时有效。每条Modbus指令都有一个对应的状态,占一个bit,指示该指令应答的状态,为0代表这条指令应答正常,为1代表这条指令应答有异常。 |
| 指令数据位置 | 每条Modbus指令对应的数据都会对应到EtherCAT的PDO映射到对象上。读指令对应到Input也就是TPDO,写指令对应到Output也就是RPDO。 |

该模式下需在网页界面配置工作模式为Modbus TCP_Client。

3.2.4 ModbusTCP从机参数部分

做为ModbusTCP从站只需要设置从机地址即可。

该模式下需在网页界面配置工作模式为Modbus TCP_Server。

3.2.5 计算数据映射

当配置完所有通道之后点击"计算数据映射",可以看到主站下指令对应的数据映射到地址。

3.3 配置软件使用说明

首先在本公司网站下载该配置软件。

配置软件用来配置本网关TCP部分,流程如下:

①打开软件。

②设置通道的工作模式,工作在ModbusTCP主机或从机模式。

③工作在主机模式,设置主机时相关参数,工作在从机模式设置从机相关参数。

如果配置内容很多建议在软件上填好参数后点击一下*++++保存配置++++* ,这样再次开启软件可以通过*++++读取配置++++* 来加载刚保存的参数。

④使用USB线连接电脑和网关,此时电脑会多出来一个串口,选择这个串口,打开串口、之后点击"配置网关",弹出配置成功说明配置完成。

.4 数据映射

3.4.1 EtherCAT PDO映射表

EtherCAT支持64个TPDO和64个RPDO,每个PDO映射16个字节,映射表如下:

|---------|--------|--------------------------|
| TPDO映射表 |||
| TPDO映射表 | TPDO | 映射对象 |
| TPDO映射表 | 0x1A00 | 0x6000,16个字节输入(对于ECAT主站) |
| TPDO映射表 | 0x1A01 | 0x6001,16个字节输入(对于ECAT主站) |
| TPDO映射表 | 。。。 | 。。。 |
| TPDO映射表 | 0x1A3F | 0x603F,16个字节输入(对于ECAT主站) |
| RPDO映射表 | RPDO | 映射对象 |
| RPDO映射表 | 0x1600 | 0x7000,16个字节输出(对于ECAT主站) |
| RPDO映射表 | 0x1601 | 0x7001,16个字节输出(对于ECAT主站) |
| RPDO映射表 | 。。。 | |
| RPDO映射表 | 0x163F | 0x703F,16个字节输出(对于ECAT主站) |

3.4.1 ModbusTCP做主机时

EtherCAT和ModbusTCP从机是通过数据映射的方式交换数据的。当用户在软件页面上填好参数后点击一下*++++计算数据映射++++*,这时软件会根据软件页面上的参数自动计算映射地址。数据映射分为两个部分:指令状态和指令数据部分

使能主站模式下指令状态监控,在配置页面添加了四条指令,数据映射如下:

|---------|-------------------------------------------|
| 指令状态 | 状态 |
| 第1条指令状态 | Input[0.0] =0x6000第0个字节的bit0 |
| 第2条指令状态 | Input[0.1]=0x6000第0个字节的bit1 |
| 第3条指令状态 | Input[0.2]=0x6000第0个字节的bit2 |
| 第4条指令状态 | Input[0.3]=0x6000第0个字节的bit3 |
| 第1条指令数据 | Input[1.0-1.7] =0x6000第1个字节的bit0-bit7 |
| 第2条指令数据 | Input[2-17] =0x6000第2-15字节和0x6001的0-1字节 |
| 第3条指令数据 | Output[0.0-0.7] =0x7000第0个字节的bit0-bit7 |
| 第4条指令数据 | Output[1-16] =0x7000第1-15字节和0x7001的0字节 |

失能主站模式下指令状态监控,在配置页面添加了四条指令,数据映射如下:

|---------|------------------------------------------|
| 指令状态 | 状态 |
| 第1条指令数据 | Input[0.0-0.7] =0x6000第0个字节的bit0-bit7 |
| 第2条指令数据 | Input[1-16] =0x6000第1-15字节和0x6001的0字节 |
| 第3条指令数据 | Output[0.0-0.7] =0x7000第0个字节的bit0-bit7 |
| 第4条指令数据 | Output[1-16] =0x7000第1-15字节和0x7001的0字节 |

3.4.2 ModbusTCP做从机时

该模式下支持1、2、3、4、5、6、15、16号功能码,1、2、3、4共用1个内存、5、6、15、16对应1个内存,内存地址都是从0开始的。

数据映射如下:

|----------------------------|--------------------------|
| 寄存器 | 状态 |
| 保持寄存器0-7、线圈0-127 | 0x6000,16个字节输入(对于ECAT主站) |
| 保持寄存器8-15、线圈128-255 | 0x6001,16个字节输入(对于ECAT主站) |
| 。。。 | 。。。 |
| 保持寄存器504-511、线圈8064-8191 | 0x603F,16个字节输入(对于ECAT主站) |
| 输入寄存器0-7、离散输入0-127 | 0x7000,16个字节输出(对于ECAT主站) |
| 输入寄存器8-15、离散输入128-255 | 0x7001,16个字节输出(对于ECAT主站) |
| 。。。 | 。。。 |
| 输入寄存器504-511、离散输入8064-8191 | 0x703F,16个字节输出(对于ECAT主站) |

保持寄存器就是4xxxx寄存器,使用6、16功能码写,03功能码读;输入寄存器就是3xxxx寄存器,使用04功能码读;线圈就是0xxxx,使用5、15功能码写,1功能码读;离散输入就是1xxxx,使用2功能码读。

电话18822766545

相关推荐
GocNeverGiveUp37 分钟前
机器学习1-简单神经网络
人工智能·机器学习
小林coding2 小时前
阿里云 Java 后端一面,什么难度?
java·后端·mysql·spring·阿里云
Anna_Tong2 小时前
云原生大数据计算服务 MaxCompute 是什么?
大数据·阿里云·云原生·maxcompute·odps
lshzdq2 小时前
【机器人】机械臂轨迹和转矩控制对比
人工智能·算法·机器人
☆凡尘清心☆4 小时前
CentOS上安装NTP并配置时间同步
linux·阿里云·centos
終不似少年遊*5 小时前
美国加州房价数据分析02
人工智能·python·机器学习·数据挖掘·数据分析·回归算法
三月七(爱看动漫的程序员)6 小时前
HiQA: A Hierarchical Contextual Augmentation RAG for Multi-Documents QA---附录
人工智能·单片机·嵌入式硬件·物联网·机器学习·语言模型·自然语言处理
MUTA️6 小时前
RT-DETR学习笔记(2)
人工智能·笔记·深度学习·学习·机器学习·计算机视觉
安科瑞刘鸿鹏6 小时前
老旧小区用电安全保护装置#限流式防火保护器参数介绍#
运维·服务器·物联网·能源
web150854159357 小时前
vue 集成 webrtc-streamer 播放视频流 - 解决阿里云内外网访问视频流问题
vue.js·阿里云·webrtc