S7-1200对V90 PN进行速度控制的两种方法
S7-1200系列PLC可以通过PROFINET 与V90PN伺服驱动器搭配进行速度控制,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地址直接控制V90PN
此种控制方式无需专用的程序块,直接给定速度。V90使用标准报文1,项目及网络配置步骤与方法一相同。通过对输出的个控制字进行驱动器的起停控制、第二个控制字可以指定电机运行的速度。
V90的输出地址可从设备视图中查看:
在OB1中调用MOVE命令,发送对驱动的控制字及速度给定:
1. 通过个控制字进行驱动器的起停控制(16#047E->16#047F)
2. 通过第二个控制字可以指定电机运行的速度(十六进制16#4000,即十进制的16384对应 p2000 速度参数值)
例如,V90PN的p2000=3000rpm,如果SpeedSetpoint设置为十进制的8192(即十六进制的16#2000),则表示速度给定为1500rpm。
详细信息点击下载文档
常问问题
S7-1200 可以对几个V90PN进行速度控制?
在不挂其他PROFINET设备下,多可以控制16个V90 PN。
给控制命令不运行有哪些原因?
• 检查V90驱动器是否有故障信息,消除故障
• 检查ConfigAxis 输入是否是3F
• EnableAxis需要上升沿触发且保持