USS_DRV 功能块是S7-1200 USS通信的主体功能块,接受变频器的信息和控制变频器的指令都是通过这个功能快来完成的。必须在主 OB中调用,不能在循环中断OB中调用。
USS_PORT功能块是S7-1200与变频器USS通信的接口,主要设置通信的接口参数。可在主OB或中断OB中调用。
USS_RPM功能块是通过USS通信读取变频器的参数。必须在主 OB中调用,不能在循环中断OB中调用。
USS_WPM功能块是通过USS通信设置变频器的参数。必须在主 OB中调用,不能在循环中断OB中调用。
这些功能块与变频器之间的控制关系如下图所示:
三、项目配置
1、 本例使用的设备描述
SERVO_02 | Motor Module: 6SL3120-2TE13-0AA3 |
Motor: 1FK7022-5AK71-1LG0 | |
Absolute Encoder | |
SERVO_03 | Motor Module: 6SL3120-2TE13-0AA3 |
Motor: 1FK7022-5AK71-1AG0 | |
Sin/Cos Encoder |
图 10.
注意:S120支持两个周期性通讯接口IF1和IF2,分别通过CU参数P8839.0和P8839.1来定义IF1和IF2的通讯,在默认情况下P8839.0= P8839.1=99,就了这两个接口的自动,如下表所示:
在这种下无法实现PROFIBUS DP和PROFINET IO的并行通讯,因此为了实现其并行通讯,需要按如下设置:
? P8839[0]=1和P8839[1]=2:PROFIBUS DP 用于同步,PROFINET IO用于周期性通讯
? P8839[0]=2和P8839[1]=1:PROFINET IO用于同步,PROFIBUS DP用于周期性通讯(本例中的设置)
两个周期性通讯接口IF1和IF2的特性如上表所示:
注意:IF2不支持TM41,TM15,TM17,TM/TB,CU与CPU之间的通讯。
五、通过PROFIBUS DP或PROFINET IO总线来实现数据的传输
S7-300/400PLC通过PROFINET IO或PROFIBUS DP周期性通讯将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器。
(1) 控制字中Bit0做电机的起、停控制。
(2) 主设定值为速度设定值,参数P2000中的值为设定值和实际值的参考,* 对应4000H(十六进制),发送的高(大值)为7FFFH(200%)。
(3) 当组态的报文结构 PZD=2或报文999时,在S7-300/400 中可用“MOVE" 指令进行数据传送;当组态的报文结构PZD >2,在S7-300/400 中需调用SFC14和SFC15功能块。
? SFC14(“DPRD_DAT")用于读驱动装置的数据。
? SFC15(“DPWR_DAT")用于将数据写入驱动装置。
例子(PROFINET IO):SERVO_02 控制字、主设定值的发送及状态字、实际的读取程序见图11。
图11
通过读取Servo_02的参数r2050和P2051可以判断数据是否传输成功。
图12
例子(PROFIBUS DP):SERVO_02 "控制字、主设定值的发送及状态字、实际的读取程序见图13。
图13
通过读取Servo_02的参数r8850和P8051可以判断数据是否传输成功。
图14
注意通过通讯接口IF1和IF2可以同时实现CPU与Servo_02的数据传输
六、驱动器参数的读取及写入
1.扩展PROFIDRIVE功能(DPV1)
非周期性数据传送允许:
? 交换大量的用户数据
? 用DPV1的功能 READ 和 WRITE可以实现非周期性数据交换。传输数据块的内容应遵照 PROFIdrive参数通道(DPV1)数据集DS47(非周期参数通道结构)。
2. 参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值。
表1.参数请求格式