在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯

n

一、PROFINET IO和PROFIBUS DP并行通讯功能概述
SINAMICS CU320控制单元可用的硬件通讯接口如下:
• 标配的通讯接口(PROFIBUS DP)
• 可选的通讯接口(PROFINET IO,CAN)
当通讯接口板插入到CU320以后,标配的通讯接口(PROFIBUS DP)就被自动禁止,无法实现周期性通讯。
在以下应用场合,可以通过设置参数P8839,在SINAMICS系统中实现两者的并行通讯:
• PROFIBUS DP用于实现对驱动的控制,PROFINET IO用于接收驱动的实际值。
• PROFIBUS DP用于控制,PROFINET IO仅用于工程应用。
• 两主站工作,一个用于工艺控制,另一个用于逻辑控制。
• 通讯接口冗余。n

二、S7-300/400与SINAMICS S120 CU320的网络连接

1.通过PROFINET IO和PROFIBUS DP连接SIMATIC CPU 319-3 PN/DP与SINAMICS S120 CU320 网络组态如下:n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 1.n

2. 使用的硬件:n

Device Order No.[MLFB] Version
CPU319-3 PN/DP 6ES7318-3EL00-0AB0 V2.6
CU320 6SL3040-0MA00-0AA1 E
CBE20 6SL3055-0AA00-2EB0

3、使用的软件
• STEP7 V5.4 SP2
• SCOUT V4.1 SP1 或 STARTER V4.1 SP1
• S120 V2.5 SP1 HF1
• CBE20的 GSD V2.1文件:gsdml-v2.1-siemens-sinamics-s-cu3x0-20070726.xml
在CF 卡中的路径: SIEMENSSINAMICSDATACFGCBE20GSD.ZIPn

4、IP 地址及通讯名称:n

Device Communication name IP address
CPU319-3 PN/DP PN-IO 192.168.0.108
CU320 CU310 192.168.0.109
PG 192.168.0.112

注意:所有节点的子网掩码:255.255.255.0。n

三、项目配置

1、 本例使用的设备描述n

SERVO_02 Motor Module: 6SL3120-2TE13-0AA3
Motor: 1FK7022-5AK71-1LG0
Absolute Encoder
SERVO_03 Motor Module: 6SL3120-2TE13-0AA3
Motor: 1FK7022-5AK71-1AG0
Sin/Cos Encoder

2、硬件组态
(1)安装SINAMCIS S120 CBE20的GSD文件
对于PROFIBUS DP 及 PROFINET IO 需要的所有 GSD 文件存在S120的CF卡中,将这些文件拷贝至本地硬盘并解压。
在Step 7的硬件配置中选择 “Options => Install GSD file"n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 2.n

GSD V2.0 (gsdml-v2.0-siemens-sinamics-cbe20-yyyymmdd.xml) 可被安装。
GSD文件安装后,设备会出现在硬件组态的如下目录中:
"PROFINET IO => Drives => SINAMICS => GSD => SINAMICS S120 CBE20 from 2.5"。
注意:
• GSD 子文件夹只有在安装DriveES 或 SIMOTION SCOUT后才有效。否则 GSD设备可直接在SINAMICS 文件夹中被找到。
• 如果安装了 DriveES Basic / Simatic 或 SIMOTION SCOUT,则不必安装 GSD 文件。
(2)通过CPU319建立PROFINET IO网络n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 3.n

在插入CPU319-3PN/DP时会弹出建立PROFINET IO网络的窗口,在此新建一个PROFINET IO网络并设置此PLC PN节点的IP地址及子网掩码。
(3)将CBE20拖曳至PROFINET总线上(若安装DriveES)n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 4.n

(4)选择报文结构n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 5.n

(5)双击SINAMICS S120 CBE20,打开其属性窗口
分配其设备名称及IP地址,勾选“Assign IP address via IO controler”。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 6n

(6)建立PROFIBUS DP网络n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 7.n

3、初始化通讯节点
在硬件组态画面中,点击 "PLC =>Ethernet => Edit Ethernet nodes",在打开的画面中配置SINAMICS S120 CBE20和CPU319的设备名称及IP地址。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 8.n

四、使用Starter / SCOUT调试
如图9所示:在SteP7项目中生成了两个驱动项目“SINAMICS_S120_CU320”和”SINAMICSxS120xCBE20v1”,分别是驱动在PROFIBUS DP和PROFINET IO网络上生成的。本例中PC与CBE20之间通过网线连接,用如图9的方式既可直接打开Starter 或SCOUT 及驱动项目。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 9.n

可通过使用"configuration"对驱动装置进行手动配置。配置结束后编译保存。
本例中:在Scout中选择同样的报文结构,并与SteP7 HW Config中定义的报文结构保持一致,并单击“Transfer to Hw Config”按钮n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图 10.n

注意:S120支持两个周期性通讯接口IF1和IF2,分别通过CU参数P8839.0和P8839.1来定义IF1和IF2的通讯方式,在默认情况下P8839.0= P8839.1=99,就激活了这两个接口的自动模式,如下表所示:

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
在这种方式下无法实现PROFIBUS DP和PROFINET IO的并行通讯,因此为了实现其并行通讯,需要按如下方式设置:
• P8839[0]=1和P8839[1]=2:PROFIBUS DP 用于同步,PROFINET IO用于周期性通讯
• P8839[0]=2和P8839[1]=1:PROFINET IO用于同步,PROFIBUS DP用于周期性通讯(本例中的设置
)n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯

两个周期性通讯接口IF1和IF2的特性如上表所示:
注意:IF2不支持TM41,TM15,TM17,TM/TB,CU与CPU之间的通讯。

五、通过PROFIBUS DP或PROFINET IO总线来实现过程数据的传输
S7-300/400PLC通过PROFINET IO或PROFIBUS DP周期性通讯方式将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器。
(1) 控制字中Bit0做电机的起、停控制。
(2) 主设定值为速度设定值,参数P2000中的值为频率设定值和实际值的参考频率,100% 对应4000H(十六进制),发送的最高频率(最大值)为7FFFH(200%)。
(3) 当组态的报文结构 PZD=2或自由报文999时,在S7-300/400 中可用“MOVE” 指令进行数据传送;当组态的报文结构PZD 〉2,在S7-300/400 中需调用SFC14和SFC15系统功能块。
• SFC14(“DPRD_DAT”)用于读驱动装置的过程数据。
• SFC15(“DPWR_DAT”)用于将过程数据写入驱动装置。
例子(PROFINET IO):SERVO_02 控制字、主设定值的发送及状态字、实际频率的读取程序见图11。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图11n

通过读取Servo_02的参数r2050和P2051可以判断数据是否传输成功。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图12n

例子(PROFIBUS DP):SERVO_02 ”控制字、主设定值的发送及状态字、实际频率的读取程序见图13。

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图13n

通过读取Servo_02的参数r8850和P8051可以判断数据是否传输成功。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图14n

注意通过通讯接口IF1和IF2可以同时实现CPU与Servo_02的数据传输

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

1.扩展PROFIDRIVE功能(DPV1)
非周期性数据传送模式允许:
• 交换大量的用户数据
• 用DPV1的功能 READ 和 WRITE可以实现非周期性数据交换。传输数据块的内容应遵照 PROFIdrive参数通道(DPV1)数据集DS47(非周期参数通道结构)。n

2. 参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
表1.参数请求格式

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
表2.参数应答格式

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
表3.参数请求及应答描述

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
表4.在DPV1参数应答中的错误值描述

3. S7-300/400PLC通过PROFINET IO非周期性通讯方式读取驱动器参数。
请注意:PLC读取驱动器参数时必须使用两个功能块SFB52 / SFB53
举例如下:
(1) 使用标志位M0.0及功能块SFB53将读请求(数据集RECORD DB11)(图16)发送至驱动器。
将M0.0设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。
(2) 使用标志位M1.0及功能块SFB52读取参数的请求响应(响应块DB22)(参见图17) 。
将M1.0设定为数值1读取参数请求响应,完成后必须将该位置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图15 PROFINET IO读参数请求n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图16 PROFINET IO读参数响应n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图17 PROFINET IO读参数变量表n

4. S7-300/400PLC通过PROFINET IO非周期性通讯方式修改驱动器参数P1216。
举例如下:
PLC写参数时只需使用SFB53,在本项目的Network 2中发送写请求DB33 (参见图19) 到驱动器; PLC读“写参数”响应时需使用SFB52,在本项目中读取驱动器返回的参数值数据块为DB22 (参见图20) 。
(1) 将M0.2设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。
(2) 将M1.0设定为数值1读请求,完成后必须将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图18 PROFINET IO写参数请求n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图19 PROFINET IO写参数响应n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图20 PROFINET IO写参数变量表n

5. S7-300/400PLC通过PROFIBUS DP非周期性通讯方式读取驱动器参数。
请注意:PLC读取驱动器参数时必须使用两个功能块SFB52 / SFB53
举例如下:
(1) 使用标志位M0.0及功能块SFB53将读请求(数据集RECORD DB11)(图22)发送至驱动器。
将M0.0设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。
(2) 使用标志位M1.0及功能块SFB52读取参数的请求响应(响应块DB22)(参见图23) 。
将M1.0设定为数值1读取参数请求响应,完成后必须将该位置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图21 PROFIBUS DP读参数请求n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图22 PROFIBUS DP读参数响应n

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图23 PROFIBUS DP读参数变量表n

6. S7-300/400PLC通过PROFIBUS DP非周期性通讯方式修改驱动器参数P1216。
举例如下:
PLC写参数时只需使用SFB53,在本项目的Network 14中发送写请求DB33 (参见图25) 到驱动器; PLC读“写参数”响应时需使用SFB52,在本项目中读取驱动器返回的参数值数据块为DB22 (参见图26) 。
(1) 将M0.2设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。
(2) 将M1.0设定为数值1读请求,完成后必须将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息 。

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图24 PROFIBUS DP写参数请求

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图25 PROFIBUS DP写参数响应

在CU320上实现PROFINET IO和PROFIBUS DP的并行通讯
图26 PROFIBUS DP写参数变量表

七、程序参考实例
驱动器控制及读、写参数示例程序请参考附带文件:CU320 PN DP。

关键词
PROFINET IO、PROFIBUS DP、SINAMICS S120、通讯、硬件组态、编程。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc327164.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论