1. 项目概述与核心需求
在工业自动化产线中,伺服系统的精准控制直接决定生产效率和产品质量。最近完成的一个包装线改造项目,需要同时控制两台西门子V90伺服电机完成物料输送和定位作业。核心需求包括:
- 双伺服同步控制:两台V90需独立实现毫米级定位
- 多模式切换:生产过程中需动态切换绝对定位和速度控制模式
- 可视化监控:通过HMI实时查看运行状态和报警信息
- PROFINET组网:确保控制指令传输周期≤4ms
经过方案比选,最终采用SMART200 PLC(ST40)作为主控制器,配合西门子KTP700触摸屏构建完整控制系统。实测定位重复精度达到±0.05mm,速度控制稳态误差<0.2%,完全满足产线要求。
2. 硬件系统搭建
2.1 设备选型要点
-
PLC模块:选用CPU ST40(6ES7288-1ST40-0AA0)因其:
- 集成2个PROFINET端口,支持实时通信
- 脉冲输出频率最高100kHz,满足高速定位需求
- 本体带24DI/16DO,无需扩展模块
-
伺服系统:V90 PN型号(1FL6044-2AF21-1LA1)关键参数:
- 400W功率,3000rpm额定转速
- 20位绝对值编码器(分辨率1,048,576ppr)
- 内置PID调节器,支持电子齿轮比设置
-
网络拓扑:
plaintext复制[PLC Port1]---[伺服1]---[伺服2]
[PLC Port2]---[KTP700 HMI]
这种菊花链连接方式节省交换机成本,实测通信抖动<1μs。
2.2 电气接线规范
重要提示:伺服电机动力线(橙色)必须与编码器线(灰色)分开走线,间距≥50mm,避免干扰导致位置漂移
-
电源配置:
- 主回路:三相380V→伺服驱动器L1/L2/L3
- 控制回路:24VDC→PLC→伺服CN3接口
-
急停回路:
- 串联所有急停按钮→PLC DI0.0
- 每个伺服驱动器EMG端子需单独接入急停回路
-
接地要求:
- 驱动器PE端子用6mm²黄绿线接接地排
- 电机外壳接地电阻<4Ω
3. 软件配置详解
3.1 PROFINET组态步骤
-
安装GSD文件:
- 从西门子官网下载V90 GSDML(V2.3及以上版本)
- 在STEP7-Micro/WIN SMART中导入:菜单→工具→GSD文件管理
-
设备命名与拓扑:
iecst复制// 设备定义
DEVICE Servo1 : V90_PN
T_ADDR := 1
NAME := 'LINE1_SERVO'
END_DEVICE
DEVICE Servo2 : V90_PN
T_ADDR := 2
NAME := 'LINE2_SERVO'
END_DEVICE
- 通信参数优化:
- 设置RPI(Requested Packet Interval)为2ms
- 启用MRP(介质冗余协议)提高网络可靠性
- 分配输入/输出各32字节的通信区域
3.2 伺服参数初始化
通过SINA_PARA功能块进行关键参数设置:
stl复制CALL "SINA_PARA"
Axis := 1
Mode := 3 // 绝对定位模式
Velocity := 3000 // 默认速度rpm
Acceleration := 50000 // 单位rpm/s
Deceleration := 50000
Jerk := 100000 // 加加速度
PositionFactor := 10000 // 1mm对应10000脉冲
调试技巧:先设置Jerk=0进行梯形加减速测试,稳定后再启用S曲线
4. 核心控制逻辑实现
4.1 绝对定位控制
采用MC_MoveAbsolute功能块实现:
stl复制NETWORK 1: 启动定位
LD I0.0 // 启动按钮
S M0.0
NETWORK 2: 执行定位
CALL "MC_MoveAbsolute"
Axis := 1
Execute := M0.0
Position := MD100 // 目标位置(mm)
Velocity := 2000 // 运动速度(rpm)
Done := M0.1
Busy := M0.2
Error := MW10
关键点说明:
- 位置数据使用REAL格式(MD100),避免整数溢出
- 每次触发前需复位Execute信号(M0.0下降沿)
- 通过Done信号触发下一步动作,不要依赖Busy状态
4.2 速度控制模式
使用MC_MoveVelocity功能块:
stl复制NETWORK 3: 速度模式切换
LD I0.1 // 速度模式按钮
S M1.0
NETWORK 4: 速度控制
CALL "MC_MoveVelocity"
Axis := 2
Execute := M1.0
Velocity := MD200 // 目标速度(rpm)
Acceleration := 30000
Direction := INT#1 // 正向
InVelocity := M1.1
常见问题:速度模式下急停后需先执行MC_Halt再重新启动,否则可能报F7490故障
5. HMI界面开发要点
5.1 画面元素布局
-
主操作画面:
- 双伺服状态指示灯(颜色区分运行/停止/报警)
- 实时位置显示(6位小数精度)
- 速度曲线趋势图(采样周期200ms)
-
参数设置画面:
- 电子齿轮比计算器
- 软限位设置(正负行程限制)
- PID参数调节滑块(P/I/D独立调节)
5.2 变量连接示例
iecst复制// 伺服1位置显示
"Servo1_ActualPos" := DB1.DBD20 REAL
// 速度设定值输入
IF "SetSpeed_Confirm" THEN
DB1.DBD24 := "SetSpeed_Value"
END_IF
优化技巧:
- 关键变量设置写入权限密码(如工程密码"LINE2024")
- 重要操作按钮增加二次确认弹窗
- 报警历史记录采用循环缓冲区存储(最多100条)
6. 调试与故障排查
6.1 上电调试流程
-
相位自检:
- 执行$AA$RST命令复位驱动器
- 观察编码器Z相脉冲是否稳定
-
点动测试:
- 先以10%额定速度测试正反转
- 检查电机转向与机械结构是否匹配
-
回零操作:
- 使用MC_Home功能块
- 推荐限位开关+编码器Z相的组合回零方式
6.2 典型故障处理
| 故障代码 | 现象 | 解决方案 |
|---|---|---|
| F3111 | 过载 | 检查机械卡阻/降低加速度 |
| F7490 | 通信超时 | 重启PROFINET接口/检查网线 |
| F7800 | 编码器异常 | 重新插拔编码器线/更换电缆 |
实测经验:F3111故障往往伴随机械异响,建议先手动转动电机轴检查阻力
7. 系统优化建议
-
动态参数调整:
- 根据负载惯量比自动调节PID参数
- 使用S7-200 SMART的PID自整定功能
-
安全防护:
- 配置STO(安全扭矩关闭)功能
- 在HMI中集成安全速度监控(≥500rpm触发报警)
-
维护功能:
- 添加伺服电机温升曲线监控
- 累计运行时间统计(用于预防性维护)
通过实际产线验证,这套控制系统连续运行6个月无故障,定位精度保持稳定。特别在换产频繁的工况下,通过HMI快速切换参数预设值,平均换型时间从15分钟缩短到3分钟。
