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

以下是远创智控YC-DPM-RTU配置软件的使用。
使用配件中的USB线连接YC-DPM-RTU网关和PC机,PC机中会生成网关的USB虚拟串口
打开串口后,必须先点击“上传网关信息”按钮,测试配置软件是否可以和网关正常通信。如果通信正常,会显示网关信息;如果通信失败,则不会显示网关信息,并且不能进行下载配置、上传配置等网关操作。

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

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

在Modbus参数框中设置站地址(YC-DPM-RTU作为Modbus从站的站地址)、串口波特率、串口格式、Modbus通信模式四个参数。
当前网关作为Modbus 从站的站地址设置为10,后面的章节中Modbus站地址都按此设置。

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

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

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

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

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

Profibus从站通信调试
下表是组态了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地址映射
下面图中,左图为YC-DPM-RTU设置软件显示的上述五个Profibus从站诊断状态,右图为Modbus主站读出的诊断数据。从图中可看出,Modbus主站读出的Profibus从站的诊断状态与配置软件的诊断状态完全一致
。


8、Profibus网络状态
设置软件可以查看Profibus网络中包括主站、已组态从站、未组态从站的状态,见下图。

也可以通过Modbus报文读取网络状态。在YC-DPM-RTU的网络状态数据区,每个Profibus站的网络状态占用一个字节,每两个Profibus站的网络状态合并占用一个Modbus寄存器。并且按其站地址从低到高的顺序依次排列。Profibus站网络状态编码见下表。
网络状态编码
|
含义
|
0x00
|
Profibus站离线
|
0x01
|
Profibus站在线但未进入数据交换,通常是由于此站未在组态列表
|
0x02
|
Profibus站在线并处于数据交换状态
|
0xFF
|
Profibus站为主站
|
网络状态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读
|
9、Modbus报文举例
假设当前组态了32个Profibus从站,从站1和2输入和输出各4个字节数据。




当Modbus主站需要读取Profibus从站的输入数据时,使用03H或04H功能码向YC-DPM-RTU发送读数据报文,YC-DPM-RTU将Profibus从站输入数据返回给Modbus主站。
当Modbus主站需要改写Profibus从站的输出数据时,使用06H或10H功能码向YC-DPM-RTU发送写数据报文,之后YC-DPM-RTU会将数据发送给Profibus从站。还可以用03H或04H功能码回读写入到Profibus从站的输出数据。
从上面的截图中显示的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
|
后面的报文举例中,网关作为Modbus从站的站地址为10(0x0A),此参数需在设置软件的Modbus参数框中设置,设置的方法在前面的章节中有说明。
9.1、读Profibus从站1输入数据
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校验
|
10、网关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从站的诊断状态)。
|