1. 项目背景与核心价值
去年我在一个自动化产线改造项目中,第一次完整使用西门子S7-1200 PLC搭配V90伺服和G120变频器构建控制系统。这个案例就是基于当时的实战经验整理而成,特别适合需要快速实现多设备协同控制的工程师参考。
这个案例的独特价值在于:
- 完整呈现了从硬件组态到功能实现的完整链路
- 预置了经过产线验证的FB功能块库
- 包含设备参数配置的"最佳实践"参数集
- 详细注释了每个程序段的工程逻辑
2. 硬件架构详解
2.1 核心设备选型考量
选择S7-1215C DC/DC/DC作为主控PLC,主要基于以下判断:
- 需要3个PN接口(1个用于HMI,2个分别连接伺服和变频器网络)
- 运动控制轴数需求(4轴伺服+2轴变频)
- 数字量I/O点预留30%余量
关键提示:实际项目中务必保留20%-30%的硬件资源余量,为后期功能扩展留出空间
2.2 网络拓扑设计
采用双Profinet网络架构:
- 网络1:PLC Port1 ↔ KTP700 Basic PN
- 网络2:PLC Port2 ↔ 2×G120 CU250S-2 PN
- 网络3:PLC Port3 ↔ 4×V90 PN
这种设计实现了:
- HMI通讯与设备控制网络物理隔离
- 伺服和变频器分网段管理
- 单点故障不影响整体运行
3. TIA Portal工程实施
3.1 硬件组态关键步骤
-
新建TIA V14项目(兼容V15-V17)
-
设备添加顺序:
- 先添加PLC(自动生成IO控制器)
- 再添加HMI(设置为IO设备)
- 最后添加驱动设备
-
G120配置要点:
pascal复制// 变频器报文配置示例
PZD1:控制字(STW)
PZD2:主设定值(HS1)
PZD3:附加设定值(HS2)
PZD4:预留
- V90配置技巧:
- 使用111报文(标准定位控制)
- 激活EPOS功能时需要设置:
- p29010=1(启用绝对定位)
- p29011=1(启用参考点)
3.2 FB功能块开发规范
设计的功能块库包含:
- FB100:基本启停控制
- FB101:速度模式控制
- FB102:定位控制
- FB103:故障复位
典型调用示例:
ST复制"Servo1_Control"(
Axis := "Servo1_DB",
Position := 100.0,
Velocity := 50.0,
Execute := "Start_Move",
Done => "Move_Complete");
4. 通讯调试实战技巧
4.1 Profinet网络优化
通过以下参数优化通讯性能:
- 设置RPI(Requested Packet Interval)为2ms
- 启用MRP(介质冗余协议)
- 分配固定IP地址段(192.168.1.x/24)
网络诊断方法:
- 使用PLC的Web服务器查看端口统计
- 在TIA中使用在线诊断功能
- 通过Wireshark抓包分析
4.2 常见故障处理
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 伺服使能失败 | 1. 安全回路未闭合 2. 控制字位序错误 |
1. 检查急停回路 2. 监控控制字二进制位 |
| 变频器报F079 | 通讯超时 | 1. 检查RPI设置 2. 确认报文配置 |
| HMI显示#### | 变量地址错误 | 1. 检查HMI变量连接 2. 确认DB块优化访问 |
5. 工程文档管理
5.1 电气图纸规范
- 使用TIA中的"项目导航器"生成设备清单
- 电源分配图标注线径和断路器规格
- 信号线采用统一颜色编码:
- 24V+:红色
- 0V:蓝色
- 信号线:黑色
5.2 程序注释标准
ST复制// [功能] 伺服回零控制
// [输入] Execute:上升沿触发
// [输出] Done:完成信号
// [注意] 需先设置p29010=1
6. 项目升级建议
在实际运行三个月后,我们做了以下优化:
- 增加设备状态监控FB(FB200)
- 实现配方功能(HMI侧)
- 添加生产数据统计功能
这个案例最值得分享的经验是:在FB块设计阶段就要考虑扩展性,比如预留"Mode"参数来选择运行模式,比后期修改程序结构要省时得多。