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
图 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
图 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
图 3.n
在插入CPU319-3PN/DP时会弹出建立PROFINET IO网络的窗口,在此新建一个PROFINET IO网络并设置此PLC PN节点的IP地址及子网掩码。
(3)将CBE20拖曳至PROFINET总线上(若安装DriveES)n
图 4.n
(4)选择报文结构n
图 5.n
(5)双击SINAMICS S120 CBE20,打开其属性窗口
分配其设备名称及IP地址,勾选“Assign IP address via IO controler”。n
图 6n
(6)建立PROFIBUS DP网络n
图 7.n
3、初始化通讯节点
在硬件组态画面中,点击 "PLC =>Ethernet => Edit Ethernet nodes",在打开的画面中配置SINAMICS S120 CBE20和CPU319的设备名称及IP地址。n
图 8.n
四、使用Starter / SCOUT调试
如图9所示:在SteP7项目中生成了两个驱动项目“SINAMICS_S120_CU320”和”SINAMICSxS120xCBE20v1”,分别是驱动在PROFIBUS DP和PROFINET IO网络上生成的。本例中PC与CBE20之间通过网线连接,用如图9的方式既可直接打开Starter 或SCOUT 及驱动项目。n
图 9.n
可通过使用"configuration"对驱动装置进行手动配置。配置结束后编译保存。
本例中:在Scout中选择同样的报文结构,并与SteP7 HW Config中定义的报文结构保持一致,并单击“Transfer to Hw Config”按钮n
图 10.n
注意:S120支持两个周期性通讯接口IF1和IF2,分别通过CU参数P8839.0和P8839.1来定义IF1和IF2的通讯方式,在默认情况下P8839.0= P8839.1=99,就激活了这两个接口的自动模式,如下表所示:
在这种方式下无法实现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
两个周期性通讯接口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
图11n
通过读取Servo_02的参数r2050和P2051可以判断数据是否传输成功。n
图12n
例子(PROFIBUS DP):SERVO_02 ”控制字、主设定值的发送及状态字、实际频率的读取程序见图13。
图13n
通过读取Servo_02的参数r8850和P8051可以判断数据是否传输成功。n
图14n
注意通过通讯接口IF1和IF2可以同时实现CPU与Servo_02的数据传输
六、驱动器参数的读取及写入
1.扩展PROFIDRIVE功能(DPV1)
非周期性数据传送模式允许:
• 交换大量的用户数据
• 用DPV1的功能 READ 和 WRITE可以实现非周期性数据交换。传输数据块的内容应遵照 PROFIdrive参数通道(DPV1)数据集DS47(非周期参数通道结构)。n
2. 参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值。n
表1.参数请求格式
表2.参数应答格式
表3.参数请求及应答描述
表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
图15 PROFINET IO读参数请求n
图16 PROFINET IO读参数响应n
图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
图18 PROFINET IO写参数请求n
图19 PROFINET IO写参数响应n
图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
图21 PROFIBUS DP读参数请求n
图22 PROFIBUS DP读参数响应n
图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 指示功能块执行状态或错误信息 。
图24 PROFIBUS DP写参数请求
图25 PROFIBUS DP写参数响应
图26 PROFIBUS DP写参数变量表
七、程序参考实例
驱动器控制及读、写参数示例程序请参考附带文件:CU320 PN DP。
关键词
PROFINET IO、PROFIBUS DP、SINAMICS S120、通讯、硬件组态、编程。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc327164.html