
通过DP总线实现S7-300/400与SINAMICSS120通讯一、DP总线通讯功能概述S7-300/400与SINAMICSS120之间通过DP总线可进行周期性及非周期性数据通讯。使用标准S7功能......
通过DP总线实现S7-300/400与SINAMICSS120通讯
一、DP总线通讯功能概述
S7-300/400与SINAMICSS120之间通过DP总线可进行周期性及非周期性数据通讯。使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过PROFIBUS周期性通讯方式可将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器;使用标准S7功能块SFC58/SFC59,可以实现非周期性数据交换,读取或写入驱动器的参数。
二、S7-300/400与S120装置的连接
三、驱动器站地址设置
1.驱动装置的PROFIBUS通讯地址设置有两种方法:
(1)通过CU控制单元上的拨码开关实现地址设置,有效地址值为:1…126,本例中地址设置见下图。
注意:通过拨码开关改变地址时应断掉变频器电源
(2)在拨码开关全部拨到OFF或ON状态时可以利用参数P918设置地址,否则
P918参数中设置的地址是无效的。
驱动装置的PROFIBUS通讯波特率默认为:1.5Mbps
2.在S7-300/400的硬件组态中设定的驱动装置站地址应与驱动装置的站地址一致。
图.1
四、通讯报文设置
对于不同的驱动装置只有特定的报文结构能被选用,详细描述请参考:SINAMICS_S120_Commissioning_Manual。表1为常用报文。
表1.
报文格式999为用户自定义报文,当用户选择此报文格式时,电机的起、停控制位等需自己做关联。此时必须将PLC控制请求置1(P854=1)。
注意:用户可在S7-300/400硬件配置时根据需要配置报文结构,配置结束后进行
编译保存;之后打开Starter,核对报文结构是否一致,若不一致需在Starter
图.2
图.3DC/AC驱动装置报文设定
五、用DP总线对电机起、停及速度控制
S7-300/400PLC通过PROFIBUS周期性通讯方式将控制字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”)用于读Profibus从站的过程数据
•SFC15(“DPWR_DAT”)用于将过程数据写入Profibus从站
例子:SERVO_02”控制字、主设定值的发送及状态字、实际频率的读取程序
(1)控制驱动器运行:
通过先发送控制字(STW1)047E然后发送047F来启动驱动器,该数据控制字在(见图4)中指定,主设定值在中设定,运行信号为。这些值均通过变量表VAT_2设定及监控。控制程序见图3。
(2)停止驱动器:
应发送控制字047E至驱动器。
(3)读取驱动器状态字及频率实际值:
PLC接收状态字1(ZSW1),存放在中;接收驱动器传来的频率实际值,存放在中。
图3.控制程序
图4.DB10
六、驱动器参数的读取及写入
1.扩展PROFIBUSDP功能(DPV1)
非周期性数据传送模式允许:
•交换大量的用户数据(最多240bytes)
•用DPV1的功能READ和WRITE可以实现非周期性数据交换。传输数
据块的内容应遵照PROFIdrive参数通道(DPV1)数据集DS47(非周期参
数通道结构)。
2.参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值。
表2.参数请求格式
表3.参数应答格式
表4.参数请求及应答描述
表5.在DPV1参数应答中的错误值描述
3.S7-300/400PLC通过PROFIBUS非周期性通讯方式读取驱动器参数。
请注意:PLC读取驱动器参数时必须使用两个功能块SFC58/SFC59(程序参见图5)
举例如下:
(1)使用标志位及功能SFC58块将写请求(数据集RECORDDB1)(图6)发送至驱动器。
将设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108(RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。
(2)之后,使用标志位及功能SFC59块将读请求发送至驱动器,驱动器返回参数值响应(响应块DB2)(参见图7)。
将设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110(RET_VAL)显示包括错误代码。
用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。
图5.读取驱动器参数程序
图6.“写”请求数据块DB1
图7.驱动器返回参数值数据块DB2
4.S7-300/400PLC通过PROFIBUS非周期性通讯方式写入驱动器参数P1217。
举例如下:
PLC写参数时只需使用SFC58,在本项目的Network3中发送写请求DB1(参见图9)到驱动器;PLC读“写参数”响应时需使用SFC59,在本项目中读取驱动器返回的参数值数据块为DB2(参见图10)。程序参见图8。
(1)将设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108(RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关所有错误的描述参见“系统功能/功能块帮助”。
(2)将设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110(RET_VAL)显示包括错误代码。
用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。
图8.写入驱动器参数程序
图9.写请求DB1
图10.驱动器返回的数据块DB2