Profibus-DP主站转modbus RTU网关profibus多主站

电子说

1.3w人已加入

描述

远创智控YC-DPM-RTU网关在Profibus总线侧实现主站功能,在Modbus串口侧实现从站功能。可将ProfibusDP协议的设备(如:E+H流量计、倍福编码器等)接入到Modbus网络中;通过增加DP/PA耦合器,也可将Profibus PA从站接入Modbus网络。在Modbus串口侧提供RS485和RS232两种电平接口

PROFIBUS

1, 以下是远创智控YC-DPM-RTU配置软件的使用。

2, 使用配件中的USB线连接YC-DPM-RTU网关和PC机,PC机中会生成网关的USB虚拟串口

打开串口后,必须先点击“上传网关信息”按钮,测试配置软件是否可以和网关正常通信。如果通信正常,会显示网关信息;如果通信失败,则不会显示网关信息,并且不能进行下载配置、上传配置等网关操作。

PROFIBUS

3, 在Profibus参数框单击“导入配置文件”按钮,在弹出的对话框中选择Profibus主站组态工具生成的配置文件,配置文件的扩展名为.bss。选择配置文件后单击“打开”按钮,对话框关闭

PROFIBUS

4, 配置文件导入成功后界面如下。通过Profibus从站参数中的站地址下拉框可以查看当前组态的所有Profibus从站。

PROFIBUS

5, 在Modbus参数框中设置站地址(YC-DPM-RTU作为Modbus从站的站地址)、串口波特率、串口格式、Modbus通信模式四个参数。

当前网关作为Modbus 从站的站地址设置为10,后面的章节中Modbus站地址都按此设置。

PROFIBUS

6, 确认上述参数设置无误后,点击“下载配置”按钮将组态参数下载到网关。

PROFIBUS

7, 参数下载成功后网关的PB灯快闪1秒,之后网关自动复位。至此网关参数配置完成。设置软件其它功能将当前的配置参数保存到工程文件,避免每次打开软件时重新配置参数。

PROFIBUS


 

8, 打开保存的工程文件,恢复参数到软件界面。

PROFIBUS

9, 上传网关参数,用于查看网关当前配置的参数信息。

PROFIBUS

10, 注意:在调试窗口一定要正确设置Profibus从站的地址。

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从站的诊断状态与配置软件的诊断状态完全一致 。

PROFIBUSPROFIBUS

13, Profibus网络状态设置软件可以查看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个字节数据。

PROFIBUSPROFIBUSPROFIBUSPROFIBUS

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从站的诊断状态)。

 审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分