详细介绍
Profibus-DP主站转modbus RTU网关profibus主站和从站的数据交互方式
捷米特JM-DPM-RTU网关在Profibus总线侧实现主站功能,在Modbus串口侧实现从站功能。可将ProfibusDP协议的设备(如:E+H流量计、倍福编码器等)接入到Modbus网络中;通过增加DP/PA耦合器,也可将Profibus PA从站接入Modbus网络。在Modbus串口侧提供RS485和RS232两种电平接口。
为了实现一个完整的自动化控制系统,将采用 Profibus - DP 主站的控制系统与众多使用 Modbus RTU 协议的设备集成在一起是很常见的需求。例如,在一个化工生产车间,Profibus - DP 主站控制核心生产流程,而周边的环境监测设备和一些辅助控制设备采用 Modbus RTU 协议,需要通过捷米特JM-DPM-RTU网关来实现两者的连接,以实现数据共享和协同工作。
1, 以下是捷米特JM-DPM-RTU配置软件的使用。
2, 使用配件中的USB线连接捷米特JM-DPM-RTU网关和PC机,PC机中会生成网关的USB虚拟串口
打开串口后,必须先点击“上传网关信息”按钮,测试配置软件是否可以和网关正常通信。如果通信正常,会显示网关信息;如果通信失败,则不会显示网关信息,并且不能进行下载配置、上传配置等网关操作。
3, 在Profibus参数框单击“导入配置文件”按钮,在弹出的对话框中选择Profibus主站组态工具生成的配置文件,配置文件的扩展名为.bss。选择配置文件后单击“打开”按钮,对话框关闭
4, 配置文件导入成功后界面如下。通过Profibus从站参数中的站地址下拉框可以查看当前组态的所有Profibus从站。
5, 在Modbus参数框中设置站地址(JM-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, 下面图中,左图为JM-DPM-RTU设置软件显示的上述五个Profibus从站诊断状态,右图为Modbus主站读出的诊断数据。从图中可看出,Modbus主站读出的Profibus从站的诊断状态与配置软件的诊断状态完全一致 。
13, Profibus网络状态设置软件可以查看Profibus网络中包括主站、已组态从站、未组态从站的状态,见下图。
14, 也可以通过Modbus报文读取网络状态。在捷米特JM-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功能码向捷米特JM-DPM-RTU发送读数据报文,捷米特JM-DPM-RTU将Profibus从站输入数据返回给Modbus主站。
18, 当Modbus主站需要改写Profibus从站的输出数据时,使用06H或10H功能码向捷米特JM-DPM-RTU发送写数据报文,之后捷米特JM-DPM-RTU会将数据发送给Profibus从站。还可以用03H或04H功能码回读写入到Profibus从站的输出数据。
19, 从上面的截图中显示的Profibus从站数据在Modbus端映射的寄存器地址如下:
数据类型 |
数据方向 |
Profibus从站站号 |
Modbus协议 格式地址 |
PLC 格式地址 |
寄存器个数 |
读写属性 |
功能码 |
Profibus 输出数据 |
Modbus主站 ↓ JM-DPM-RTU网关 ↓ Profibus从站 |
1 |
0 |
4x0001 |
2 |
读写 |
03H、06H、10H |
1 |
4x0002 | ||||||
2 |
2 |
4x0003 |
2 |
读写 |
03H、06H、10H | ||
3 |
4x0004 | ||||||
Profibus 输入数据 |
Modbus主站 ↑ JM-DPM-RTU网关 ↑ Profibus从站 |
1 |
0 |
3x0001 |
2 |
只读 |
04H |
1 |
3x0002 | ||||||
2 |
2 |
3x0003 |
2 |
只读 |
04H | ||
3 |
3x0004 | ||||||
Profibus 输入数据 |
Modbus主站 ↑ JM-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校验 |
捷米特JM-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校验 |
捷米特JM-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校验 |
JM-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 校验 |
JM-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 校验 |
捷米特JM-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 校验 |
JM-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校验 |
JM-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 协议格式 | ||||||
输出数据区 |
4x0001~4x2048 |
0~2047 |
2048 |
Uint16 |
03H 06H 10H |
读写 |
对应Profibus主站输出数据区(JM-DPM-RTU网关传输给Profibus从站的数据)。 |
3x2049~3x4096 |
2048~4095 |
2048 |
Uint16 |
04H |
只读 |
对应Profibus主站输出数据区(JM-DPM-RTU网关传输给Profibus从站的数据)。 | |
Profibus 输入数据区 |
3x0001~3x2048 |
0~2047 |
2048 |
Uint16 |
04H |
只读 |
对应Profibus主站输入数据区(Profibus从站传输给JM-DPM-RTU网关的数据)。 |
4x2049~4x4096 |
2048~4095 |
2048 |
Uint16 |
03H |
只读 |
对应Profibus主站输输入数据区(Profibus从站传输给JM-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从站的诊断状态)。 |
在构建工业自动化系统时,要充分考虑系统的兼容性和扩展性。选择具有良好兼容性和扩展性的设备及通信协议,以便在未来能够方便地接入新的设备或采用新的通信技术。对于协议转换网关的选型,要综合考虑其性能、功能、稳定性以及与现有系统的适配性等因素,确保其能够满足企业长期发展的需求。
在工业自动化发展过程中,不同通信协议的存在是不可避免的。捷米特JM-DPM-RTU网关这类协议转换设备,为解决不同协议设备之间的通信难题提供了有效途径,是实现工业系统集成和协同工作的关键环节。企业应重视协议转换技术的应用,以充分利用现有设备资源,提升生产自动化水平。