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

n

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

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

图1 S7-300/400与SINAMICS G150装置的连接n

2 SINAMICS G150站地址设置及硬件组态
SINAMICS G150的PROFIBUS DP站地址设置有两种方法:
(1)通过CU320控制单元上DIP拨码开关,设置站地址,有效地址值为1….126,设定方法如表1所示,将DIP开关拨“ON”处,多个开关激活,将有效位进行加法运算, 1+4+32=37,表示站地址是37,注意:通过拨码开关改变地址时应断掉SINAMICS G150 电源,否则,更改的站地址是无效的。n

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

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

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

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

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

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

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

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图4 STARTER软件中报文设置n

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”,链接: https://support.industry.siemens.com/webbackend/api/DocumentContents/G150_DP1.rar

注:程序中选择标准报文1n

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所示。n

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

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

图6 “MOVE”指令控制程序n

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

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

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

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

图9 控制程序n

5 SINAMICS G150 参数的读取及写入

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

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

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

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

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

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

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

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

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

例程文件名:“G150_DP读参数r945程序.rar” 链接:https://support.industry.siemens.com/webbackend/api/DocumentContents/G150_DP2.rar
以读取一个参数下的一个索引值为例(读参数r945.0):n

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中的数值。n

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图10 “写”请求数据块DB2n

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

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。n

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图12 响应数据块DB3n

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

图13变量表G150_read1内容n

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图14 读取SINAMICS G150 参数程序n

(4)S7-300/400通过PROFIBUS DP非周期性通讯方式写SINAMICS G150 参数
使用S7-300/400 PLC通过PROFIBUS DP非周期性通讯方式写SINAMICS G150 参数,可以写一个参数下的多个索引值,或多个参数下的多个索引值。写参数时只需使用SFC58 ,如果需要读取写参数响应时需使用SFC59,程序参见图18。n

例程文件名:“G150_DP写参数P1120程序.rar” 链接:https://support.industry.siemens.com/webbackend/api/DocumentContents/G150_DPP1120.rar
以写参数P1120 为例 ,加以说明。n

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中。n

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图15 写请求数据块DB4n

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

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已修改完成。n

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

图17数据块DB5

S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯
图18 写SINAMICS G150 参数程序

6 程序参考实例
S7-300/400与SINAMICS G150之间的PROFIBUS DP通讯例程请参考附带文件,文件名如下:
G150_DP控制字、主给定值的发送及状态字和实际频率读出程序.rar
链接:https://support.industry.siemens.com/webbackend/api/DocumentContents/G150_DP1.rar
读参数示例程序请参考附带文件:G150_DP读参数r945程序.rar
链接:https://support.industry.siemens.com/webbackend/api/DocumentContents/G150_DP2.rar
写参数示例程序请参考附带文件:G150_DP写参数P1120程序.rar
链接:https://support.industry.siemens.com/webbackend/api/DocumentContents/G150_DPP1120.rar

关键词
S7-300/400、SINAMICS G150 、通讯

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

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

相关推荐

发表回复

登录后才能评论