0591-88263940
通过 DP 总线实现 S7-300 与 SINAMICS S120 通讯
来源:网络 | 作者:鸿飞达 | 发布时间: 2025-06-12 | 17 次浏览 | 分享到:

1 DP 总线通讯功能简述

S7-300 与 SINAMICS S120 之间的 DP 通讯是借助于系统功能块 S FC14/S FC15 和 S FC58 / S FC59 进行 周期性及非周期性数据通讯。


周期性数据交换:即数据的实时交换,如:控制字和设定值;状态字和实际值。

非周期性数据交换:即读写参数。通常是在需要改变参数值时,才进行读写操作。


2 DP 通讯步骤


4.2.1 DP 地址设定

1). S120 的 DP 地址设定参见本章第 二节 “S120 与 TP170” 中所述 

2). S7-300 硬件组态中各驱动器的 DP 地址设定

硬件组态中设定的地址必 须和 S120 的 DP 地址保持一致。



4.2.2 DP 报文设置


此处的报文是指通讯过程中,S7-300 与 SINAMICS S120 交换的数据字的数量及各字的含义。根据不同 的应用来选择相应的报文,下列的描述可用

来作为参考,详细描述请参考 SINAMICS S120 相关手册。


1). 电源模块: 

通常选 370 或 999


2). 电机轴: 

 在伺服控制模式下,借助于上位机实现位置控制,常用 102 和 105。如需要 DSC,则选 105。 

 在伺服/矢量控制模式下,通过集成的定位功能块实现单轴的定位,常用 999 或 110。 

 在伺服/矢量控制模式下,实现速度控制,常用 1、2 或 999


注意:a). 999 为用户自 由定义格式,通讯字的数量及各字的含义由用户自己来定义。 b). 发送数据的第 一个字,应为控制字且第 10 位必 须为”1”。



1.如果驱动装置用做伺服位置控制,报文结构只能选择:SIEMENS Tlegra m 105 PZD10/10,或 SIEMENS Tlegra m 106 PZD10/10。

2.如果驱动装置用做速度控制,报文结构有多种选择,可选择用户自定义格式:999,将电机的起、停控 制位自己做关联。注意:必 须将 PLC 控制

请求置 1(P850=1)。

注意:用户可在 S7-300 硬件配置时根据需要配置报文结构,配置结束后进行编译 保存;之后打开 Starter,

核对报文结构是否一致,若不一致需在 Starter 侧做调整后点击“Transfer to HW config”按钮。


AC/AC 驱动装置侧报文设定


DC/AC 驱动装置侧报文设定

五、用 DP 总线对电机起、停及速度控制


S7-300PLC 通过 PROFIBUS 周期性通讯方式将控制字 1(CTW1)和主设定值(NSETP_B)发送至驱动器。


(1)控制字中 Bit0 做电机的起、停控制。

(2)主设定值为速度设定值,频率设定值和实际值要经过标准化,使得 4000(十六进制)对应于 50Hz,发送 的zui高频率(zui大值)为 7FFF。可以在 

P2000 中修改标准化频率,即参考频率(缺省值为 50Hz)。

(3)当组态的报文结构 PZD=2 或自 由报文 999 时,频率设定值为一个字,在 S7-300 中可用“MOVE” 指 令进行数据传送;当组态的报文结构 PZD〉2,

频率设定值为两个字时, 在 S7-300 中对 PZD (过程数 据)读写参数时需调用 S FC14 和 S FC15 系统功能块。

•S FC14(“DPRD_DAT”)用于读 Profibus 从站的数据

•S FC15(“DPWR_DAT”)用于将数据写入 Profibus 从站


例子:SERVO_02 ”控制字、主设定值的发送及状态字、实际频率的读取程序 

(1) 控制驱动器运行:


通过先发送典型控制字 047E 然后发送 047F(Bit 0 的信号边沿:ON)来启动驱动器,该数据控制字在 DB10.DBW8(见图 2)中指 定,主设定值在 

DB10.DBD10 中设定,运行信号为 M1.0。这些值均通过变量表 VAT_2 设定及监控。控制程序见图 1。


(2)停止驱动器:


应发送典型控制字 047E 至驱动器(Bit 0 的信号边沿:OFF)。 (3)读取驱动器状态字及频率实际值:


PLC 接收状态字 1(STW1),存放在 DB10.DBW0 中;接收驱动器传来的频率实际值(NACT_B),存放在 DB10.DBD2 中。

  图 1. 控制程序

图 2. DB10 控制字及状态字 DB10


六、驱动器参数的读取及写入


1.扩展 PROFIBUS DP 功能(DPV1)


非周期性数据传送模式允许:


•交换大量的用户数据(zui多 240 bytes)


•用 DPV1 的功能 READ 和 WRITE 可以实现非周期性数据交换。传输数据块的内容应遵照 PROFIdrive


Profile, version 4.0() (with data block 47 (DS47))非周期参数通道结构。


参数请求包括三部分:请求标题、参数地址及参数值。

参数请求格式


参数应答格式



参数请求及应答描述

3. S7-300PLC 通过 PROFIBUS 非周期性通讯方式读取驱动器参数。


请注意:PLC 读取驱动器参数时必 须使用两个功能块 S FC58 / S FC59 (程序参见图 3) 举例如下:


(1) 使用标志位 M10.0 及功能 S FC58 块将写请求(数据集 RECORD DB1) (图 4)发送


将 M10.0 设定为数值 1 启动写请求,当写请求完成后必 须将该请求置 0,结束该请求。MW108 (RET_VAL) 显示错误代码,用于表示功能处理时

发生的错误。有关所有错误的描述,请参见“系统功能/功能块帮助”。 

(2) 之后,使用标志位 M10.1 及功能 S FC59 块将读请求发送至驱动器,驱动器返回参数值响应(响应块 DB2) 

(参见图 5) 。


将 M10.1 设定为数值 1 启动读请求,当读请求完成后必 须将该请求置 0,结束该请求。MW110 (RET_VAL) 显示包括错误代码。


用于表示功能处理时发生的错误。有关所有错误的描述,请参见“系统功能/功能块帮助”。


图 3. 读取驱动器参数程序

图 4. 写请求数据集 DB1

图 5. 驱动器返回参数值响应块 DB2

4.S7-300PLC 通过 PROFIBUS 非周期性通讯方式写入驱动器参数 P1217。


举例如下:


PLC 写参数时只需使用 S FC58,在本项目的 Network 3 中发送写请求 DB1 (参见图 7) 到驱动器; PLC 读


“写参数”响应时需使用 S FC59,在本项目中读取驱动器返回的参数值响应块为 DB2 (参见图 8) 。程序参见图6。


(1) 将 M10.0 设定为数值 1 启动写请求,当写请求完成后必 须将该请求置 0,结束该请求。MW108 (RET_VAL)


显示错误代码,用于表示功能处理时发生的错误。有关所有错误的描述,请参见“系统功能/功能块帮助”



(2)将 M10.1 设定为数值 1 启动读请求,当读请求完成后必 须将该请求置 0,结束该请求。MW110 (RET_VAL)

显示包括错误代码。

用于表示功能处理时发生的错误。有关所有错误的描述,请参见“系统功能/功能块帮助”。

图 6. 写入驱动器参数程序

图 7. 写请求 DB1

图 8. 驱动器返回的响应块 DB2

五、通过 Slave to Slave 方式实现各从站之间通讯

通常我们所用的 Profibus DP 方式,主站(m aster)发送数据给所有从站(slave)并接收从站的应答数 据。而通过 Slave to Slave 方式我们可以建

立从站间的数据传输而不必经过主站。这样的通讯方式要求从站中


至少要有一个站做发送器(Publisher)其余站做接 收 器(Subscriber),发送与接收之间通过广播方式进 

行 。发送器在发送数据给主站的同时以广播的方式发送给所有的接 收 器。接 收 器即可接收从主站发来的数据 也可接收从发送器发来的数据,通过

内部互联到需要的位置去。示例如下:


 使用 Slave to Slave 功能前提条件:  要有 SIMATIC S7 做主站  Drive ES Basic V5.3.3 或更高  SINAMICS S120 版本 V2.4 或更高 现举例介绍如何使用

该功能。本例中使用设备如下: 笔记本:包含 CP5512 2# 站:CPU 314C-2DP 3# 站: SINAMICS S120 AC/AC 装置,包含 CU 310 DP、PM340 、1FK7 电机 7# 站:SINAMICS S120 DC/AC 装置,包含 CU 320、SLM、Double Motor Module, 2 个 1FK7 电机 其中:7# 站为 Publisher、 3# 站为 Subscriber Slave-to-slave 功能配置: 5.1 在 Step 7 中项目组态 

2 从站参数配置

使用 Slave-to-slave 功能的接收器必须要在硬件组态中激活该功能。而发送器是由系统自动激活 本例中设 7# 站作为发送器,3# 站做接收器。

因而只需在 3# 站激活 Slave to Slave。步骤如下: 1:Step 7 硬件配置中双击 3# 站


2:在弹出的对话框中选择 “Configuration”


3:打开它的 “Detail”


4:点击 “Activate” 配置参数

在 Step 7 中 DP 从站的配置与在 Starter 中 DP 从站的配置区别如下:

上图中:


“Slot” 代表各装置在 Step 7 项目中的位置。本例中 Slot4+5 对应装置 在从站中 Object 1 Servo_02,


Slot 4 的数据类型为 “Actual value” 代表 Servo 02 轴的数据输出域


Slot 5 的数据类型为 “Setpoint ” 代表 Servo 02 轴的数据输入域,其余各装置依次类推。


Slot7+8 对应装置 在从站中 Object 2 “Servo_03


Slot10+11 对应装置 在从站中 Object 3 “CU_S_003


接 收 器的 Slave to Slave 功能仅 限于对其数据输入域的参数配置(即只能对 Slot5、Slot8、Slot11 做 Slave 配置)


3 激 活 Slave to Slave 功能

 在 Profibus Partner 中选择 Type 类型。Output 表示该值来自于 PLC, Peer-to-peer traffic 表示 来源于 Slave to slave 的 Publisher

选择数据源站号”DP address”、本例中可供选择的 peer to peer 对象只有 3# 或 7 # 站。

选择数据源的地址及数据长度

4 在 Step 7 中使用 S FC14,15 读写 7# 站数据


(参见本章第四节“通过 DP 总线实现 S7-300 与 SINAMICS S120 通讯”)