Profibus总线协议转换网关案例
Profibus-DP主站转modbus RTU网关profibus主站的实现方案有哪些
远创智控YC-DPM-RTU网关在Profibus总线侧实现主站功能,在Modbus串口侧实现从站功能。可将ProfibusDP协议的设备(如:E+H流量计、倍福编码器等)接入到Modbus网络中;通过增加DP/PA耦合器,也可将Profibus PA从站接入Modbus网络。在Modbus串口侧提供RS485和RS232两种电平接口
1, 以下是远创智控YC-DPM-RTU配置软件的使用。
2, 使用配件中的USB线连接YC-DPM-RTU网关和PC机,PC机中会生成网关的USB虚拟串口
打开串口后,必须先点击“上传网关信息”按钮,测试配置软件是否可以和网关正常通信。如果通信正常,会显示网关信息;如果通信失败,则不会显示网关信息,并且不能进行下载配置、上传配置等网关操作。
3, 在Profibus参数框单击“导入配置文件”按钮,在弹出的对话框中选择Profibus主站组态工具生成的配置文件,配置文件的扩展名为.bss。选择配置文件后单击“打开”按钮,对话框关闭
4, 配置文件导入成功后界面如下。通过Profibus从站参数中的站地址下拉框可以查看当前组态的所有Profibus从站。
5, 在Modbus参数框中设置站地址(YC-DPM-RTU作为Modbus从站的站地址)、串口波特率、串口格式、Modbus通信模式四个参数。
当前网关作为Modbus 从站的站地址设置为10,后面的章节中Modbus站地址都按此设置。
6, 确认上述参数设置无误后,点击“下载配置”按钮将组态参数下载到网关。
7, 参数下载成功后网关的PB灯快闪1秒,之后网关自动复位。至此网关参数配置完成。设置软件其它功能将当前的配置参数保存到工程文件,避免每次打开软件时重新配置参数。
8, 打开保存的工程文件,恢复参数到软件界面。
9, 上传网关参数,用于查看网关当前配置的参数信息。
10, 注意:在调试窗口一定要正确设置Profibus从站的地址。
Profibus从站通信调试
11, 下表是组态了3、5、8、10、12五个Profibus从站,其诊断数据占用的Modbus寄存器地址。
诊断数据寄存器地址 | Profibus 站地址 | 数据格式 | 读写 属性 | 说明 | |
PLC格式 | Modbus 协议格式 | ||||
4x5001 | 5000 | 3 | 16位整数 | 只读 | 用Modbus功能码03H读 |
3x5001 | 用Modbus功能码04H读 | ||||
4x5002 | 5001 | 5 | 16位整数 | 只读 | 用Modbus功能码03H读 |
3x5002 | 用Modbus功能码04H读 | ||||
4x5003 | 5002 | 8 | 16位整数 | 只读 | 用Modbus功能码03H读 |
3x5003 | 用Modbus功能码04H读 | ||||
4x5004 | 5003 | 10 | 16位整数 | 只读 | 用Modbus功能码03H读 |
3x5004 | 用Modbus功能码04H读 | ||||
4x5005 | 5004 | 12 | 16位整数 | 只读 | 用Modbus功能码03H读 |
3x5005 | 用Modbus功能码04H读 |
表7-3 Profibus从站数据Modbus地址映射
12, 下面图中,左图为YC-DPM-RTU设置软件显示的上述五个Profibus从站诊断状态,右图为Modbus主站读出的诊断数据。从图中可看出,Modbus主站读出的Profibus从站的诊断状态与配置软件的诊断状态完全一致 。
13, Profibus网络状态设置软件可以查看Profibus网络中包括主站、已组态从站、未组态从站的状态,见下图。
14, 也可以通过Modbus报文读取网络状态。在YC-DPM-RTU的网络状态数据区,每个Profibus站的网络状态占用一个字节,每两个Profibus站的网络状态合并占用一个Modbus寄存器。并且按其站地址从低到高的顺序依次排列。Profibus站网络状态编码见下表。
网络状态编码 | 含义 |
0x00 | Profibus站离线 |
0x01 | Profibus站在线但未进入数据交换,通常是由于此站未在组态列表 |
0x02 | Profibus站在线并处于数据交换状态 |
0xFF | Profibus站为主站 |
15, 网络状态Modbus寄存器地址见下表。
Modbus寄存器地址 | Profibus 站地址 | 数据格式 | 读写 属性 | 说明 | |
PLC格式 | Modbus 协议格式 | ||||
4x5201 | 5200 | 高字节=0站状态 低字节=1站状态 | Uint16 | 只读 | 用Modbus功能码03H读 |
3x5201 | 用Modbus功能码04H读 | ||||
4x5202 | 5201 | 高字节=2站状态 低字节=3站状态 | Uint16 | 只读 | 用Modbus功能码03H读 |
3x5202 | 用Modbus功能码04H读 | ||||
4x5203 | 5202 | 高字节=5站状态 低字节=6站状态 | Uint16 | 只读 | 用Modbus功能码03H读 |
3x5003 | 用Modbus功能码04H读 | ||||
…… | …… | …… | …… | …… | …… |
4x5263 | 5262 | 高字节=124站状态 低字节=125站状态 | Uint16 | 只读 | 用Modbus功能码03H读 |
35263 | 用Modbus功能码04H读 | ||||
45264 | 5263 | 高字节=126站状态 低字节=无效 | Uint16 | 只读 | 用Modbus功能码03H读 |
35264 | 用Modbus功能码04H读 |
16, Modbus报文举例假设当前组态了32个Profibus从站,从站1和2输入和输出各4个字节数据。
17, 当Modbus主站需要读取Profibus从站的输入数据时,使用03H或04H功能码向YC-DPM-RTU发送读数据报文,YC-DPM-RTU将Profibus从站输入数据返回给Modbus主站。
18, 当Modbus主站需要改写Profibus从站的输出数据时,使用06H或10H功能码向YC-DPM-RTU发送写数据报文,之后YC-DPM-RTU会将数据发送给Profibus从站。还可以用03H或04H功能码回读写入到Profibus从站的输出数据。
19, 从上面的截图中显示的Profibus从站数据在Modbus端映射的寄存器地址如下:
数据类型 | 数据方向 | Profibus从站站号 | Modbus协议 格式地址 | PLC 格式地址 | 寄存器个数 | 读写属性 | 功能码 |
Profibus 输出数据 | Modbus主站 ↓ YC-DPM-RTU网关 ↓ Profibus从站 | 1 | 0 | 4x0001 | 2 | 读写 | 03H、06H、10H |
1 | 4x0002 | ||||||
2 | 2 | 4x0003 | 2 | 读写 | 03H、06H、10H | ||
3 | 4x0004 | ||||||
Profibus 输入数据 | Modbus主站 ↑ YC-DPM-RTU网关 ↑ Profibus从站 | 1 | 0 | 3x0001 | 2 | 只读 | 04H |
1 | 3x0002 | ||||||
2 | 2 | 3x0003 | 2 | 只读 | 04H | ||
3 | 3x0004 | ||||||
Profibus 输入数据 | Modbus主站 ↑ YC-DPM-RTU网关 ↑ Profibus从站 | 1 | 0 | 4x2049 | 2 | 只读 | 03H |
1 | 4x2050 | ||||||
2 | 2 | 4x2051 | 2 | 只读 | 03H | ||
3 | 4x2052 |
`20 , 后面的报文举例中,网关作为Modbus从站的站地址为10(0x0A),此参数需在设置软件的Modbus参数框中设置,设置的方法在前面的章节中有说明。
9.1、读Profibus从站1输入数据
19, Modbus主站使用04H 功能码读取Profibus从站1输入数据的查询报文如下:
报文(HEX) | 0A | 04 | 00 00 | 00 02 | 70 B0 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | CRC校验 |
YC-DPM-RTU网关应答的报文如下:
报文(HEX) | 0A | 04 | 04 | 40 01 | 00 00 | 05 44 |
说明 | 站地址 | 功能码 | 数据 字节数 | 第1个 寄存器数据 | 第2个 寄存器数据 | CRC校验 |
9.2、读Profibus从站2输入数据
Modbus主站使用04H 功能码读取Profibus从站2输入数据的查询报文如下:
报文(HEX) | 0A | 04 | 00 02 | 00 02 | D1 70 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | CRC校验 |
YC-DPM-RTU网关应答的报文如下:
报文(HEX) | 0A | 04 | 04 | 40 02 | 00 00 | F5 44 |
说明 | 站地址 | 功能码 | 数据 字节数 | 第1个 寄存器数据 | 第2个 寄存器数据 | CRC校验 |
9.3、同时读Profibus从站1和2的输入数据
Modbus主站使用04H 功能码读取Profibus从站1和2输入数据的查询报文如下:
报文(HEX) | 0A | 04 | 00 00 | 00 04 | F0 B2 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | CRC校验 |
YC-DPM-RTU网关应答的报文如下:
报文(HEX) | 0A | 04 | 08 | 40 02 | 00 00 | 40 02 | 00 00 | 92 D9 |
说明 | 站地址 | 功能码 | 数据字节数 | 从站1 第1个 寄存器数据 | 从站1 第2个 寄存器数据 | 从站2 第1个 寄存器数据 | 从站2 第2个 寄存器数据 | CRC校验 |
9.4、写Profibus从站1输出数据
Modbus主站使用10H 功能码改写Profibus从站1输出数据的请求报文如下:
报文(HEX) | 0A | 10 | 00 00 | 00 02 | 04 | 11 22 | 33 44 | 67 7E |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | 数据 字节数 | 第1个 寄存器数据 | 第2个 寄存器数据 | CRC 校验 |
YC-DPM-RTU网关应答的报文如下:
报文(HEX) | 0A | 10 | 00 00 | 00 02 | 40 B3 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | CRC 校验 |
9.5、写Profibus从站2输出数据
Modbus主站使用10H 功能码改写Profibus从站2输出数据的请求报文如下:
报文(HEX) | 0A | 10 | 00 02 | 00 02 | 04 | AA BB | CC DD | 93 F6 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | 数据 字节数 | 第1个 寄存器数据 | 第2个 寄存器数据 | CRC 校验 |
YC-DPM-RTU网关应答的报文如下:
报文(HEX) | 0A | 10 | 00 02 | 00 02 | E1 73 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | CRC 校验 |
9.6、同时写Profibus从站1和2输出数据
Modbus主站使用10H 功能码改写Profibus从站1和2输出数据的请求报文如下:
报文(HEX) | 0A | 10 | 00 00 | 00 04 | 08 | 11 22 | 33 44 | AA BB | CC DD | 0E D7 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器 个数 | 数据 字节数 | 从站1 第1个 寄存器 数据 | 从站1 第2个 寄存器 数据 | 从站2 第1个 寄存器 数据 | 从站2 第2个 寄存器 数据 | CRC 校验 |
YC-DPM-RTU网关应答的报文如下:
报文(HEX) | 0A | 10 | 00 00 | 00 04 | C0 B1 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器个数 | CRC 校验 |
9.7、回读写入Profibus从站1和2输出数据
Modbus主站使用03H 功能码回读Profibus从站输出数据的查询报文如下
报文(HEX) | 0A | 03 | 00 00 | 00 04 | 45 72 |
说明 | 站地址 | 功能码 | 寄存器 起始地址 | 寄存器个数 | CRC校验 |
YC-DPM-RTU网关应答的报文如下:
报文(HEX) | 0A | 03 | 08 | 11 22 | 33 44 | AA BB | CC DD | 43 59 |
说明 | 站地址 | 功能码 | 数据 字节数 | 从站1 第1个 寄存器数据 | 从站1 第2个 寄存器数据 | 从站2 第1个 寄存器数据 | 从站2 第2个 寄存器数据 | CRC校验 |
22、网关Modbus寄存器映射地址
数据区 | 寄存器地址 | 寄存器 数量 | 数据 格式 | 功能码 | 读写 属性 | 寄存器说明 | |
PLC格式 | Modbus 协议格式 | ||||||
Profibus 输出数据区 | 4x0001~4x2048 | 0~2047 | 2048 | Uint16 | 03H 06H 10H | 读写 | 对应Profibus主站输出数据区(YC-DPM-RTU网关传输给Profibus从站的数据)。 |
3x2049~3x4096 | 2048~4095 | 2048 | Uint16 | 04H | 只读 | 对应Profibus主站输出数据区(YC-DPM-RTU网关传输给Profibus从站的数据)。 | |
Profibus 输入数据区 | 3x0001~3x2048 | 0~2047 | 2048 | Uint16 | 04H | 只读 | 对应Profibus主站输入数据区(Profibus从站传输给YC-DPM-RTU网关的数据)。 |
4x2049~4x4096 | 2048~4095 | 2048 | Uint16 | 03H | 只读 | 对应Profibus主站输输入数据区(Profibus从站传输给YC-DPM-RTU网关的数据)。 | |
Profibus 从站诊断数据区 | 4x5001~4x5032 | 5000~5031 | 32 | Uint16 | 03H | 只读 | 对应Profibus主站的诊断数据区(Profibus从站的诊断状态)。 |
3x5001~3x5032 | 5000~5031 | 32 | Uint16 | 04H | 只读 | 对应Profibus主站的诊断数据区(Profibus从站的诊断状态)。 | |
Profibus 网络状态数据区 | 4x5201~4x5264 | 5200~5263 | 64 | Uint16 | 03H | 只读 | 对应Profibus总线上各站(包括主站、已组态从站,未组态从站)的状态。 |
3x5201~3x5264 | 5200~5263 | 64 | Uint16 | 04H | 只读 | 对应Profibus主站的诊断数据区(Profibus从站的诊断状态)。 |
Profibus总线协议转换网关案例
PROFIBUS-DP主站转ETHERNET/IP网关profibus dp头接线图解
Modbus TCP转Profibus DP网关profibus主站模拟软件
PROFIBUS-DP主站转ETHERCAT网关连接汇川ethercat通讯协议
Profibus DP转Profinet网关把称重仪表接到西门子PLC
PROFIBUS-DP主站转ETHERNET/IP网关Profibus DP主站转EtherNet/IP 协议转换网关
PROFIBUS-DP主站转ETHERCAT网关连接canopen协议报文解析实例
Profibus-DP主站转modbus RTU网关profibus主站的实现方案有哪些
profibus PA转Modbus rtu/485协议网关