发布时间:2019-08-24 来源:众智博远
一、PROFINET IO / RT通讯功能概述
CPU319-3 PN/DP与SINAMICS S120 之间通过PROFINET IO / RT可进行周期性及非周期性数据通讯。使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过PROFINET周期性通讯方式可将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器;使用标准S7功能块SFB52 / SFB53,可以实现非周期性数据交换,读取或写入驱动器的参数。
二、S7-300/400与S120装置的连接
1.硬件连接
图 1.
(1). 通过PROFINET IO / RT 连接 SIMATIC CPU 319-3 PN/DP 及 CU310PN.
2.硬件:
3、使用的软件
• STEP7 V5.4 SP2 HF3
• SCOUT V4.1 SP1
• STARTER V4.1 SP1
• S120 V2.5 SP1 HF1
• GSD V2.1文件:gsdml-v2.1-siemens-sinamics-s-cu3x0-20070726.xml
在CF 卡中的路径: SIEMENSSINAMICSDATACFGCBE20GSD.ZIP
4、通讯概览
Net Pro通讯配置
图 2.
IP 地址及通讯名称:
Device | Communication name | IP address |
CPU319-3 PN/DP | PN-IO | 192.168.0.1 |
CU310PN | CU310PN | 192.168.0.2 |
PG | 192.168.0.253 |
注意:所有节点的子网掩码:255.255.255.0。
三、条件
1. PROFINET IO 条件
在本例中对于使用的软件版本,还应满足下列条件:
应用例程的发送时钟为 1 ms。更新时间应设为 2n ms,此值可允许的范围为:
1 ms 至 512 ms。
四、项目配置
1、 Drive
2、硬件组态
(1)安装SINAMCIS S120 CU310PN 的GSD文件
对于PROFIBUS DP 及 PROFINET IO 需要的所有 GSD 文件存在S120的CF卡中,将这些文件拷贝至本地硬盘并解压缩。
在硬件配置中选择“Options => Install GSD file"
图 3.
GSD V2.1 (gsdml-v2.1-siemens-sinamics-s-cu3x0-yyyymmdd.xml) 可被安装。
GSD文件安装后,设备会出现在硬件组态的如下目录中:
"PROFINET IO => Drives => SINAMICS => GSD => SINAMICS S120 CU310PN from 2.5"。
注意:
• GSD 子文件夹只有在安装DriveES 或 SIMOTION SCOUT后才有用。否则 GSD设备可直接在SINAMICS 文件夹中被找到。
• 如果安装了 DriveES Basic / Simatic 或 SIMOTION SCOUT,则不必安装 GSD 文件。
(2)对于CPU319建立PROFINET网络
图 4.
在插入CPU319-3PN/DP时会弹出建立PROFINET网络的窗口,在此新建一个PROFINET网络并设置此PLC PN节点的IP地址及子网掩码。
(3)将CP310PN拖曳至PROFINET总线上(若安装GSD文件)
图 5.
将CP310PN拖曳至PROFINET总线上(若安装Drive ES)
图 6.
(4)双击310PN,打开其属性窗口
分配其设备名称及IP地址,此处选择“Assign IP address via IO controler”。
图 7.
(5)分配310PN控制的驱动及IO报文
图 8.
(6)在"IO Cycle"中设置数据处理及响应监控的更新时间
图 9.
3、初始化通讯节点
在硬件组态画面中,点击 "PLC =>Ethernet => Edit Ethernet nodes",在打开的画面中网络可被浏览,通过此画面配置310PN的设备名称及IP地址。
图 10.
五、使用STARTER / SCOUT调试
在 SIMATIC Manager 中鼠标右键点击SINAMICS_CU310_PN ,选择“open object”,可通过STARTER/SCOUT调试工具将CU310_PN 项目打开。
图 10.
可通过使用"Automatic configuration"对驱动装置在线进行自动配置。配置结束后通过"Copy RAM to ROM"将参数存贮至CF卡中。
本例中:
• 驱动装置选择报文“telegram 1 ”。
• CU单元选择报文“telegram 390。
图 11.
CU参数化:
鼠标右键点击"CU_S_126" ,选择"Expert => Expert list"打开专家参数列表,可改变下列参数:
• P728.8 = output: DI/DO 8 可用于数字量输出 (如果p922=390,自动设置
p738=2091.0)。
• P922: PROFIBUS PZD SIEMENS telegram 390 (390)。
• p2104 BI: 2. Acknowledge faults SERVO_02 : r2090.7。
六、通过PN总线对电机起、停及速度控制
S7-300/400PLC通过PROFINET周期性通讯方式将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器。
(1) 控制字中Bit0做电机的起、停控制。
(2) 主设定值为速度设定值,频率设定值和实际值要经过标准化,使得4000H(十六进制)对应于百分之100,发送的高频率(大值)为7FFFH(百分之200)。可以在P2000中修改参考频率(缺省值为50Hz)。
(3) 当组态的报文结构 PZD=2或自由报文999时,在S7-300/400 中可用“MOVE”指令进行数据传送;当组态的报文结构 PZD〉2,在S7-300/400 中需调用SFC14和SFC15系统功能块。
• SFC14(“DPRD_DAT”)用于读驱动装置的过程数据。
• SFC15(“DPWR_DAT”)用于将过程数据写入驱动装置。
例子:SERVO_02 ”控制字、主设定值的发送及状态字、实际频率的读取程序
(1) 控制驱动器运行:
通过先发送控制字(STW1)047E然后发送047F来启动驱动器,该数据控制字在DB10.DBW4(见图13)中指定,主设定值在DB10.DBD6中设定,运行信号为M1.0。这些值均通过变量表“Drive_Run”设定及监控。控制程序见图12。
(2)停止驱动器:
应发送控制字047E至驱动器。
(3)读取驱动器状态字及频率实际值:
PLC接收状态字1(ZSW1),存放在DB10.DBW0中;接收驱动器传来的频率实际值,存放在DB10.DBW2中。
图12. 控制程序
图13. DB10
七、驱动器参数的读取及写入
1.扩展PROFIDRIVE功能(DPV1)
非周期性数据传送模式允许:
• 交换大量的用户数据
• 用DPV1的功能 READ 和 WRITE可以实现非周期性数据交换。传输数
据块的内容应遵照 PROFIdrive参数通道(DPV1)数据集DS47(非周期参
数通道结构)。
2. 参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值。
表2.参数请求格式
表3.参数应答格式
表4.参数请求及应答描述
表5.在DPV1参数应答中的错误值描述
3. S7-300/400PLC通过PROFINET非周期性通讯方式读取驱动器参数。
请注意:PLC读取驱动器参数时使用两个功能块SFB52 / SFB53 (程序参见图14)
举例如下:
(1) 使用标志位M10.0及功能块SFB53将读请求(数据集RECORD DB1)(图15)发送至驱动器。
将M10.0设定为数值1启动读请求,当读请求完成后将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息。
(2) 使用标志位M10.2及功能块SFB52读取参数的请求响应(响应块DB2)(参见图16) 。
将M10.2设定为数值1读取参数请求响应,完成后将该位置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息。
图14. 读取驱动器参数程序
图15. “写”请求数据块DB1
图16. 驱动器返回参数值数据块DB2
4. S7-300/400PLC通过PROFINET非周期性通讯方式修改驱动器参数P1217。
举例如下:
PLC写参数时只需使用SFB53,在本项目的Network 4中发送写请求DB101 (参见图18) 到驱动器; PLC读“写参数”响应时需使用SFB52,在本项目中读取驱动器返回的参数值数据块为DB102 (参见图19) 。程序参见图17。
(1) 将M11.0设定为数值1启动写请求,当写请求完成后将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息。
(2) 将M11.2设定为数值1读请求,完成后将该请求置0,结束该请求。ERROR = 1: 表示执行此功能块时有错误产生,而STATUS 指示功能块执行状态或错误信息。
图17. 写入驱动器参数程序
图18. 写请求DB101
图19. 驱动器返回的数据块DB102