1 概述
S7-300/400与SINAMICS G150 之间通过PROFIBUS DP 总线可进行周期性及非周期性数据通讯。使用标准S7功能块SFC14/SFC15可实现周期性数据交换;使用标准S7功能块SFC58 / SFC59,可以实现非周期性数据交换,读写 SINAMICS G150 的参数。S7-300/400与SINAMICS G150装置的连接,如下图所示:
图1 S7-300/400与SINAMICS G150装置的连接
2 SINAMICS G150站地址设置及硬件组态
SINAMICS G150的PROFIBUS DP站地址设置有两种方法:
(1)通过CU320控制单元上DIP拨码开关,设置站地址,有效地址值为1….126,设定方法如表1所示,将DIP开关拨“ON”处,多个开关激活,将有效位进行加法运算, 1+4+32=37,表示站地址是37,注意:通过拨码开关改变地址时应断掉SINAMICS G150 电源,否则,更改的站地址是无效的。
表1 DIP开关设定PROFIBUS DP地址
(2) 在拨码开关全部拨到OFF或ON状态,可以利用参数P918设置站地址。
S7-300/400的硬件组态,如图2所示,在硬件组态中设定的SINAMICS G150站地址应与SINAMICS G150 实际的站地址一致,本例中采用站地址是6。
图2 硬件组态
3 通讯报文设置
SINAMICS G150有多种报文结构进行选择,详细描述请参考:SINAMICS_G150_operating-instructions手册,表2为报文结构。
表2 报文结构
报文结构是999为用户自定义报文,当用户选择此报文结构时,SINAMICS G150的起、停控制位等需自己做关联。此时必须将PLC控制请求置1(P854=1)。
注意:在做S7-300/400硬件组态时,需要配置报文结构,图3是STEP7中的报文设置,配置结束后进行编译保存;然后,打开STARTER,核对报文结构是否一致,图4是STARTER软件中报文的设置,若不一致需在STARTER软件中打开“configuration”做调整后点击“Transfer to HW config”按钮。
图3 STEP7中的报文设置
图4 STARTER软件中报文设置
4 用PROFIBUS DP总线对SINAMICS G150起、停及速度控制
S7-300/400 PLC通过PROFIBUS DP周期性通讯方式将控制字1和主设定值发送至SINAMICS G150 ,当组态的报文结构 PZD=2或自由报文999时,在S7-300/400 中可用“MOVE” 指令和功能块SFC14和SFC15进行数据传送。
下面分别采用“MOVE” 指令进行数据传送和调用SFC14和SFC15系统功能块进行数据传送加以说明。
例程文件名为:“G150_DP控制字、主给定值的发送及状态字和实际频率读出程序.rar”,链接: G150_DP1.rar
注:程序中选择标准报文1
1、采用“MOVE” 指令进行数据传送:
(1)在例程中,在变量表“SINAMICS G150 start_up”中,分别强制M1.0、M1.1为1;
(2)通过MW2发送控制字1,首先写入047E,然后写入047F,SINAMICS G150 开始运行,如停止SINAMICS G150 ,发送047E,使SINAMICS G150 停止运行,变量表如图5所示;
(3)MW4写入的是主设定值,速度设定值要经过标准化,4000H(十六进制)对应于
100%,发送的最大值为7FFFH(200%),所设定的百分数乘以P2000 中设定的参考速度, 就是给定速度;
(4)在MW6中能显示状态字1,变量表如图5所示;
(5)MW8中能显示实际运行速度,此处为十六进制,4000H表示100%。控制程序如图6所示。
图5 变量表中的内容
图6 “MOVE”指令控制程序
2、SFC14和SFC15系统功能块进行数据传送:
SFC14(“DPRD_DAT”)用于读取SINAMICS G150 过程数据,SFC15 (“DPWR_DAT”)用于将过程数据发送到SINAMICS G150 。
(1)控制SINAMICS G150 运行:
通过先发送控制字047E然后发送047F来启动SINAMICS G150 ,控制字1在 DB1.DBW20中指定,主设定值在DB1.DBW22中设定,参看图7;所有的这些变量在变量 表“SINAMICS G150 start_up”中设定及监控,图8是变量表的内容,图9是程序内容。
(2)停止SINAMICS G150 :
发送控制字047E至SINAMICS G150 ,使SINAMICS G150 停止运行。
(3)读取SINAMICS G150 状态字及速度实际值:
S7-300/400 接收SINAMICS G150 状态字1,存放在DB1.DBW30中;接收SINAMICS G150 传来的速度实际值,存放在DB1.DBW32中,参看图7,在变量表“SINAMICS G150 start_up”中能监控到SINAMICS G150 状态和速度实际值。
图7 数据块 DB1
图8 变量表
图9 控制程序
5 SINAMICS G150 参数的读取及写入
(1)扩展PROFIBUS DP功能(DPV1)
非周期性数据传送模式允许:
• 交换大量的用户数据(最多240 bytes)
• DPV1支持DS47非周期数据交换
(2)参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值,如表3所示。
表3 参数请求格式
参数应答格式,如表4所示,关于参数请求及应答描述,参考表5。
表4 参数应答格式
表5 参数请求及应答描述
在表6 中,是关于DPV1参数应答中的错误值描述。
表6 DPV1参数应答中的错误值描述
(3)S7-300/400 通过PROFIBUS DP非周期性通讯方式读取SINAMICS G150 参数
使用S7-300/400 PLC通过PROFIBUS DP非周期性通讯方式读取SINAMICS G150 参数,可以读一个参数下的多个索引值,或多个参数下的多个索引值。PLC读取SINAMICS G150 参数时必须使用两个功能块SFC58 / SFC59 ,程序参见图14。
例程文件名:“G150_DP读参数r945程序.rar” 链接:G150_DP2.rar
以读取一个参数下的一个索引值为例(读参数r945.0):
a.使用标志位M10.0及功能SFC58块将读请求(数据块DB2如图10所示),发送至SINAMICS G150,将M10.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW300(RET_VAL)显示错误代码,用于表示数据传输时发生的错误。在变量表G150_read(如图11所示)中,按照表3参数请求格式进行设定,在DB1.DBW6中设定945,在DB1.DBW8中设定0,表明读请求中要读取r945.0中的数值。
图10 “写”请求数据块DB2
图11 变量表G150_read内容
b.使用标志位M10.1及功能SFC59块将读应答发送至S7-300/400 ,SINAMICS G150 将参数值发送到DB3,图12是数据块DB3的内容。将M10.1设定为数值1启动读应答,当读应答完成后必须将M10.1该请求置0。MW400 (RET_VAL) 显示包括错误代码。在变量表G150_read1(如图13所示)中,能够读到相应读应答,DB3.DBW6中读到的是7861,表明此时参数r945.0=7861。
图12 响应数据块DB3
图13变量表G150_read1内容
图14 读取SINAMICS G150 参数程序
(4)S7-300/400通过PROFIBUS DP非周期性通讯方式写SINAMICS G150 参数
使用S7-300/400 PLC通过PROFIBUS DP非周期性通讯方式写SINAMICS G150 参数,可以写一个参数下的多个索引值,或多个参数下的多个索引值。写参数时只需使用SFC58 ,如果需要读取写参数响应时需使用SFC59,程序参见图18。
例程文件名:“G150_DP写参数P1120程序.rar” 链接:G150_DPP1120.rar
以写参数P1120 为例 ,加以说明。6ES72231BH320XB0
a.使用标志位M10.2及SFC58 功能块将写请求(数据块DB4如图15所示)发送至SINAMICS G150,将M10.2设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW500(RET_VAL)显示错误代码,用于表示数据传输时发生的错误。在变量表G150_write(如图16所示)中,按照表3中的参数请求格式进行设定,在DB4.DBW6中设定1120,在DB4.DBW8中设定0,表明将DB4.DBD12中的数值写入参数P1120.0中。
图15 写请求数据块DB4
图16变量表G150_write中的内容
b. 使用标志位M10.3及功能SFC59块将写应答发送到S7-300/400 数据块DB5中,数据块DB5的内容,参看图17,将M10.3设定为数值1启动读请求,当读请求完成后必须将M10.3置0。MW504 (RET_VAL) 显示错误代码。在变量表G150_write(如图16所示)中,能够读到相应写请求响应,DB5.DBB1中为02,表明写请求已相应,从SINAMICS G150 中读到参数P1120已经被更改,表明参数P1120已修改完成。
图17数据块DB5
图18 写SINAMICS G150 参数程序
1概述
S7协议是SIEMENS S7系列产品之间通讯使用的标准协议 ,其优点是通信双方无论是在同一MPI总线上、同一PROFIBUS总线上或同一工业以太网中,都可通过S7协议建立通信连接,使用相同的编程方式进行数 据交换而与使用何种总线或网络无关。S7通信分为按组态方式可分为单边通信和双边通信,单边通信通常应用于以下情况:
• 通信伙伴无法组态S7连接
• 通信伙伴无法停机
• 不希望在通讯伙伴侧增加通信组态或程序
本文介绍S7-400基于PROFIBUS总线的S7单边通信的组态步骤。
实验环境,见表1。
序号
|
名称
|
订货号
|
1
|
CR3导轨
|
6ES7 401-1DA01-0AA0
|
2
|
PS407
|
6ES7 407-0KA02-0AA0
|
3
|
CPU414-3
|
6ES7 414-3XM05-0AB0
|
4
|
CPU315-2 DP
|
6ES7 315-2AH14-0AB0
|
5
|
PROFIBUS 标准电缆
|
6XV1 830-0EH10
|
6
|
RS485总线连接器
|
6ES7972-0BB42-0XA0
|
7
|
STEP7 V5.5 SP2
|
|
8
|
Windows XP SP3
|
|
表1
2 组态
2.1配置S7-400站点
S7-400站点配置参见表2。
序号
|
说明
|
图示
|
1.
|
创建新项目并在项目中插入S7-400站点
|
|
2.
|
打开硬件组态,组态S7-400站点
|
|
3.
|
在硬件目录中查找使用的导轨型号,并双击找到的导轨型号
|
|
4.
|
在硬件目录选择使用的电源,并拖拽到导轨的1号槽
|
|
5.
|
在硬件目录选择使用的CPU,并拖拽到导轨的3号槽,系统将自动弹出DP接口属性对话框
|
|
6.
|
在对话框Address下拉框中设置DP站地址为2,单击NEW按钮添加新子网
|
|
7.
|
添加子网PROFBUS(1),单击选项页“Network Setting”
|
|
8.
|
选择PRFIBUS总线传输速率为1.5Mbps,Profile中选择Standard,单击所有属性对话框OK按钮
|
|
9.
|
编译保存S7-400站点硬件组态,下载到S7-400 CPU中
|
|
10.
|
从菜单栏Option下Configure Network命令进入网络组态界面
|
|
11.
|
如右图所示,右键单击CPU414-3DP,在弹出对话框中选择Insert New Connection命令,插入一个新连接
|
|
12.
|
a) 选择Unspecified连接伙伴,
b) 连接类型菜单中选择S7 connection,单击OK按钮,弹出S7 connection属性对话框
|
|
13.
|
S7 connection属性对话框设置:
a) 选中Established an active connection
b) Interface选择CPU414-3 DP,DP(R0/S3)
c) 设置伙伴PROFIBUS地址3
d) 设置本地ID为1
e) 点击Address Details按钮
|
|
14.
|
Address Detail对话框设置
a) 设置安装CPU的机架号0
b) 设置安装CPU的插槽号,对于S7-300,CPU只能安装在2号槽
c) 设置连接资源号,对于S7单边连接,连接资源号总是3
设置完成后可看到伙伴TSAP为03.02,点击OK按钮关闭属性对话框
|
|
15.
|
点击编译保存图标,完成S7单边连接组态,并下载至S7-400 CPU中
|
|
表 2
2.2配置S7-300站点
S7-300站点配置参见表3。
序号
|
说明
|
图示
|
1.
|
创建新项目并在项目中插入S7-300站点
|
|
2.
|
打开硬件组态,组态
S7-300 站点
|
|
3.
|
在硬件目录SIMATIC-300,RACK-300下双击Rail,插入S7-300导轨
|
|
4.
|
在硬件目录选择使用的CPU,并拖拽到导轨的2号槽,系统将自动弹出DP接口属性对话框
|
|
5.
|
参考表2序号6~8步骤,将CPU的 PROFIBUS DP地址设置为3,传输速率设置为1.5Mbps,Profile中选为Standard。编译保存完成S7-300站点组态,并下载到S7-300 CPU中
|
|
表 3
3 通信连接
如图3-1示意图,使用RS485总线连接器通过PROFIBUS标准电缆分别连接CPU414-3 的X2接口和CPU315-2的X2 接口。
图3-1 CPU之间DP通信连接示意图
4 通信编程
由于配置的是S7单边通信,只需在配置S7网络连接的一方进行编程,所以本例中只在CPU414-3中编程调用系统功能块SFB14/SFB15,如图4-1和图4-2。
图4-1 调用功能块SFB14