上海瀚粤自动化系统有限公司
免费会员

通过DP总线实现S7-300/400与SINAMICS S120 通讯

时间:2014/5/13阅读:2212
分享:

一、DP总线通讯功能概述

S7-300/400SINAMICS S120 之间通过DP总线可进行周期性及非周期性数据通讯。使用标准S7功能块SFC14/SFC15S7-300/400PLC通过PROFIBUS周期性通讯方式可将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器;使用标准S7功能块SFC58 / SFC59,可以实现非周期性数据交换,读取或写入驱动器的参数。

 

二、S7-300/400S120装置的连接
 

 

 

三、驱动器站地址设置

1.  驱动装置的PROFIBUS通讯地址设置有两种方法:

(1) 通过CU控制单元上的拨码开关实现地址设置,有效地址值为:1126,本例中地址设置见下图。

注意:通过拨码开关改变地址时应断掉变频器电源

                                                                                                                                           

(2) 在拨码开关全部拨到OFFON状态时可以利用参数P918设置地址,否则

P918参数中设置的地址是无效的。

驱动装置的PROFIBUS 通讯波特率默认为:1.5Mbps

2.   S7-300/400的硬件组态中设定的驱动装置站地址应与驱动装置的站地址一致。


图.1
 

四、通讯报文设置

对于不同的驱动装置只有特定的报文结构能被选用,详细描述请参考:SINAMICS_S120_Commissioning_Manual。表1为常用报文。

1. 


 

报文格式999为用户自定义报文,当用户选择此报文格式时,电机的起、停控制位等需自己做关联。此时必须将PLC控制请求置1P854=1)。

注意:用户可在S7-300/400硬件配置时根据需要配置报文结构,配置结束后进行
    编译保存;之后打开
Starter,核对报文结构是否一致,若不一致需在Starter
       中打开“configuration”做调整后点击“Transfer to HW config”按钮。


图.2

 

 


 
 


DC/AC 驱动装置报文设定

图.3

五、用DP总线对电机起、停及速度控制

        S7-300/400PLC通过PROFIBUS周期性通讯方式将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器。

        (1) 控制字中Bit0做电机的起、停控制。

        (2) 主设定值为速度设定值,频率设定值和实际值要经过标准化,使得4000H(十六进制)对应于,发送的zui高频率(zui大值)7FFFH(200%)。可以在P2000中修改参考频率(缺省值为50Hz)

        (3) 组态的报文结构 PZD=2或自由报文999时,在S7-300/400 中可用“MOVE指令进行数据传送;当组态的报文结构  PZD>2,在S7-300/400 中需调用SFC14SFC15系统功能块。

           SFC14(DPRD_DAT)用于读Profibus 从站的过程数据

           SFC15(DPWR_DAT)用于将过程数据写入Profibus 从站

例子:SERVO_02 ”控制字、主设定值的发送及状态字、实际频率的读取程序

       (1) 控制驱动器运行:

       通过先发送控制字(STW1)047E然后发送047F来启动驱动器,该数据控制字在DB10.DBW8(见图4)中,主设定值在DB10.DBD10中设定,运行信号为M1.0。这些值均通过变量表VAT_2设定及监控。控制程序见图3

   (2)停止驱动器:

       应发送控制字047E至驱动器。

   (3)读取驱动器状态字及频率实际值:

       PLC接收状态字1(ZSW1),存放在DB10.DBW0中;接收驱动器传来的频率实际值,存放在DB10.DBD2中。


图3.  控制程序

 


图4. DB10

六、驱动器参数的读取及写入

1.扩展PROFIBUS DP功能(DPV1)

非周期性数据传送模式允许:

    •     交换大量的用户数据(zui多240 bytes)

    •     DPV1的功能 READ  WRITE可以实现非周期性数据交换。传输数
        据块的内容应遵照
 PROFIdrive参数通道(DPV1)数据集DS47(非周期参
        数通道结构)。

2. 参数请求及参数应答的结构

    参数请求包括三部分:请求标题、参数地址及参数值。

2.参数请求格式

 

 

3.参数应答格式

 

 

4.参数请求及应答描述

 

 

 

5.DPV1参数应答中的错误值描述

 

3. S7-300/400PLC通过PROFIBUS非周期性通讯方式读取驱动器参数。

请注意:PLC读取驱动器参数时必须使用两个功能块SFC58 / SFC59 (程序参见图5)

举例如下:

       (1) 使用标志位M10.0及功能SFC58块将写请求(数据集RECORD DB1) (6)发送至驱动器  

       M10.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108 (RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。

       (2) 之后,使用标志位M10.1及功能SFC59块将读请求发送至驱动器,驱动器返回参数值响应(响应块DB2)  (参见图7)  

    将M10.1设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110 (RET_VAL) 显示包括错误代码。

    用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。


图5.  读取驱动器参数程序

 


图6.  “写”请求数据块DB1




图7.  驱动器返回参数值数据块DB2

 

4. S7-300/400PLC通过PROFIBUS非周期性通讯方式写入驱动器参数P1217

举例如下:

       PLC写参数时只需使用SFC58,在本项目的Network 3中发送写请求DB1 (参见图9) 到驱动器; PLC读“写参数”响应时需使用SFC59,在本项目中读取驱动器返回的参数值数据块为DB2 (参见图10) 。程序参见图8

       (1) M10.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108 (RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关所有错误的描述参见“系统功能/功能块帮助”

       (2)  M10.1设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110 (RET_VAL) 显示包括错误代码。

       用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。


图8.  写入驱动器参数程序




图9.  写请求DB1



图10.  驱动器返回的数据块DB2

会员登录

×

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~
在线留言