S7-1200对V90 PN进行速度控制的两种方法

S7-1200系列PLC可以通过PROFINET 与V90 PN伺服驱动器搭配进行速度控制,PLC进行启停和速度给定,速度控制计算在V90驱动器中,实现的方法主要有以下两种:
• 方法一、PLC通过FB285(SINA_SPEED)功能块,V90使用1号标准报文,进行速度控制。
• 方法二、不使用任何专用程序块,利用报文的控制字和状态字通过编程进行控制,V90使用1号标准报文,使用这种方式需要对报文结构比较熟悉。

V90 PN配置要点

• 设置控制模式为"速度控制(S)"
• 配置标准通信报文1
• V90在线后点击"设置PROFINET->配置网络",设置V90的IP地址及设备名称:注意:设置的设备名称一定要与1200项目中配置的相同。
参数保存后需重启驱动器才能生效。

方法一 使用标准报文1和SINA_SPEED功能块

V90 PN与PLC采用PROFINET RT通信方式并使用报文1,项目步骤如下:

1. 创建项目后,添加新设备S7-1200 PLC

2. 在网络视图中添加V90 PN设备(使用GSD)

2. 建立V90 PN与PLC的网络连接,并分别设置S7-1200及V90 PN的IP地址及设备名称:

3. 在V90 PN的设备视图中选择控制报文为标准报文1

4. 编写程序

此种方法需要调用驱动功能库文件,可以通过以下两种方法进行安装:
(1) 安装Startdrive软件,在TIA 博途软件中就会自动安装驱动库文件,Startdrive下载链接:
Startdrive软件V14.1:
https://support.industry.siemens.com/cs/us/en/view/68034568
SINAMICS Startdrive V15:
https://support.industry.siemens.com/cs/us/en/view/109754382
SINAMICS Startdrive V15.1:
https://support.industry.siemens.com/cs/us/en/view/109760845
(2) 在TIA 博途中安装SINAMICS Blocks DriveLib,下载链接:
https://support.industry.siemens.com/cs/ww/en/view/109475044

在OB1中将DriveLib_S7_1200_1500中的SINA_Speed(FB285)功能块拖拽到编程网络中(此功能块只能与报文1配合使用),进行速度控制:

注意:功能块管脚HWIDSTW及HWIDZSW的赋值请参看下图:


6. SINA_SPEED功能块输入输出参数说明

输入参数:

输入信号 类型 含义
EnableAxis BOOL =1,驱动使能
AckError BOOL 驱动故障应答
SpeedSp REAL 转速设定值[rpm]
RefSpeed REAL 驱动的参考转速[rpm],对应于驱动器中的p2000参数
ConfigAxis WORD 默认设置为16#003F,说明参看下表
HWIDSTW HW_IO V90设备视图中报文1的硬件标识符
HWIDZSW HW_IO V90设备视图中报文1的硬件标识符

ConfigAxis的各位说明:

默认值 含义
位0 1 OFF2
位1 1 OFF3
位2 1 驱动器使能
位3 1 使能/禁止斜坡函数发生器使能
位4 1 继续/冻结斜坡函数发生器使能
位5 1 转速设定值使能
位6 0 速度设定值反向
位7 0 打开抱闸
位8 0 电动电位计升速
位9 0 电动电位计降速

输出参数:

输出信号 类型 含义
AxisEnabled BOOL 驱动已使能
LockOut BOOL 驱动处于禁止接通状态
ActVelocity REAL 实际速度[rpm]
Error BOOL 1=存在错误
Status INT 16#7002:没错误,功能块正在执行
16#8401: 驱动错误
16#8402: 驱动禁止启动
16#8600: DPRD_DAT错误
16#8601: DPWR_DAT 错误
DiagID WORD 通信错误,在执行SFB 调用时发生错误

方法二 PLC通过IO地址直接控制V90 PN

此种控制方式无需专用的程序块,直接给定速度。V90使用标准报文1,项目及网络配置步骤与方法一相同。通过对输出的第一个控制字进行驱动器的起停控制、第二个控制字可以指定电机运行的速度。
V90的输出地址可从设备视图中查看:

在OB1中调用MOVE命令,发送对驱动的控制字及速度给定:

1. 通过第一个控制字进行驱动器的起停控制(16#047E->16#047F)


2. 通过第二个控制字可以指定电机运行的速度(十六进制16#4000,即十进制的16384对应 p2000 速度参数值)

例如,V90 PN的p2000=3000rpm,如果SpeedSetpoint设置为十进制的8192(即十六进制的16#2000),则表示速度给定为1500rpm。

详细信息点击下载文档

常问问题

S7-1200 可以对几个V90 PN进行速度控制?

在不挂其他PROFINET设备下,最多可以控制16个V90 PN。

给控制命令不运行有哪些原因?

• 检查V90驱动器是否有故障信息,消除故障
• 检查ConfigAxis 输入是否是3F

• EnableAxis需要上升沿触发且保持