QQ登录

只需一步,快速开始

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

[ 复制链接 ]
S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

1 概述
S7-300/400与SINAMICS G150 之间通过PROFIBUS DP 总线可进行周期性及非周期性数据通讯。使用标准S7功能块SFC14/SFC15可实现周期性数据交换;使用标准S7功能块SFC58 / SFC59,可以实现非周期性数据交换,读写 SINAMICS G150 的参数。S7-300/400与SINAMICS G150装置的连接,如下图所示:

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

图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 电源,否则,更改的站地址是无效的。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
表1 DIP开关设定PROFIBUS DP地址

(2) 在拨码开关全部拨到OFF或ON状态,可以利用参数P918设置站地址。
S7-300/400的硬件组态,如图2所示,在硬件组态中设定的SINAMICS G150站地址应与SINAMICS G150 实际的站地址一致,本例中采用站地址是6。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图2 硬件组态


3 通讯报文设置
SINAMICS G150有多种报文结构进行选择,详细描述请参考:SINAMICS_G150_operating-instructions手册,表2为报文结构。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
表2 报文结构

报文结构是999为用户自定义报文,当用户选择此报文结构时,SINAMICS G150的起、停控制位等需自己做关联。此时必须将PLC控制请求置1(P854=1)。
注意:在做S7-300/400硬件组态时,需要配置报文结构,图3是STEP7中的报文设置,配置结束后进行编译保存;然后,打开STARTER,核对报文结构是否一致,图4是STARTER软件中报文的设置,若不一致需在STARTER软件中打开“configuration”做调整后点击“Transfer to HW config”按钮。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图3 STEP7中的报文设置

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图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系统功能块进行数据传送加以说明。

注:程序中选择标准报文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所示。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图5 变量表中的内容

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

图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 状态和速度实际值。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图7 数据块 DB1

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图8 变量表

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

图9 控制程序


5 SINAMICS G150 参数的读取及写入

(1)扩展PROFIBUS DP功能(DPV1)
非周期性数据传送模式允许:
• 交换大量的用户数据(最多240 bytes)
• DPV1支持DS47非周期数据交换

(2)参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值,如表3所示。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
表3 参数请求格式

参数应答格式,如表4所示,关于参数请求及应答描述,参考表5。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
表4 参数应答格式

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
表5 参数请求及应答描述

在表6 中,是关于DPV1参数应答中的错误值描述。

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
表6 DPV1参数应答中的错误值描述

(3)S7-300/400 通过PROFIBUS DP非周期性通讯方式读取SINAMICS G150 参数
使用S7-300/400 PLC通过PROFIBUS DP非周期性通讯方式读取SINAMICS G150 参数,可以读一个参数下的多个索引值,或多个参数下的多个索引值。PLC读取SINAMICS G150 参数时必须使用两个功能块SFC58 / SFC59 ,程序参见图14。


以读取一个参数下的一个索引值为例(读参数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。

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 参数程序



回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索