Profibus总线协议转换网关案例

Profibus-DP主站转modbus RTU网关profibus主站的实现方案有哪些
点击:749发布时间:2023-07-18

image1

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

image1

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

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

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

 

image2

 

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

 

image3 

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

 

image4

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

 

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

 

image5

 

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

image6

 

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


image7

 

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

 

 

 

 

 

 

 

 



分享到: