1. 项目概述
在工业自动化控制系统中,西门子S7-1200 PLC与TPK700触摸屏的组合是常见的控制方案,而通过USS协议与V20变频器通讯更是实现电机调速控制的经典配置。作为一名从事自动化控制多年的工程师,我经常需要搭建这类控制系统。今天我将分享一个完整的USS通讯程序搭建过程,基于博途V15.1平台,包含从硬件连接到软件编程,再到变频器参数设置的详细步骤。
这套方案特别适合需要远程控制电机转速的应用场景,比如输送带调速、风机控制、水泵调节等。USS通讯相比PROFIBUS等协议,具有接线简单、成本低廉的优势,虽然通讯速率不高,但对于一般的调速控制已经足够。通过本文,即使是刚接触西门子PLC的工程师也能快速掌握这套系统的搭建方法。
2. 硬件连接与准备
2.1 硬件清单确认
在开始项目前,我们需要确认以下硬件设备:
- 西门子S7-1200 PLC(建议CPU 1214C及以上型号)
- TPK700 Basic触摸屏
- 西门子SINAMICS V20变频器
- 24V直流电源(为PLC和触摸屏供电)
- RS485通讯电缆(建议使用屏蔽双绞线)
2.2 RS485接线详解
USS通讯采用RS485接口,接线时需要特别注意以下几点:
-
接线端子定义:
- PLC端:使用CM1241 RS485通讯模块
- V20变频器端:端子29(P+)、端子30(N-)
-
正确接线方式:
- PLC的TXD+(发送正)接变频器的RXD+(接收正)
- PLC的RXD+(接收正)接变频器的TXD+(发送正)
- 两端的地线(GND)需要连接在一起
注意:错误的接线会导致通讯失败,严重时可能损坏设备。建议使用万用表确认线序正确后再通电。
- 终端电阻设置:
- 在通讯线路的两端(PLC和变频器)需要设置终端电阻
- V20变频器通过参数P2021设置终端电阻(默认值为1,即启用)
3. 博途V15.1软件配置
3.1 项目创建与设备添加
-
打开TIA Portal V15.1,点击"创建新项目"
-
在项目树中右键点击"添加新设备",选择:
- PLC:S7-1200(具体型号需与实际硬件一致)
- HMI:TPK700 Basic
-
网络组态:
- 在"网络视图"中,将PLC和HMI通过PROFINET连接
- 设置IP地址(建议PLC:192.168.0.1,HMI:192.168.0.2)
3.2 PLC程序编写
3.2.1 USS通讯库安装
在开始编程前,需要确认已安装USS通讯库:
- 在项目树中打开"库"选项卡
- 搜索"USS Protocol",如果没有则需要从西门子官网下载安装
3.2.2 USS通讯初始化
在OB1主循环中,我们需要添加USS通讯控制指令:
stl复制// USS通讯控制指令
"USS_DB".COMM_CTRL(
REQ := TRUE, // 持续使能
PORT := "CM1241_1", // 通讯端口
BAUD := 9600, // 波特率
USS_ADDR := 1, // 变频器地址
ERROR => #Comm_Error,
STATUS => #Comm_Status);
关键参数说明:
- BAUD:必须与变频器参数P2010设置一致
- USS_ADDR:必须与变频器参数P2011设置一致
- PORT:根据实际硬件配置选择,使用CM1241模块时为"CM1241_1"
3.2.3 变频器控制指令
stl复制// 变频器控制指令
"USS_DB".DRIVE_CTRL(
RUN := "HMI_Start", // 启动信号
OFF1 := "HMI_Stop", // 停止信号
OFF2 := "HMI_FastStop", // 快速停止
OFF3 := "HMI_EmergencyStop", // 急停信号
SPEED_SP := "HMI_SpeedSetpoint", // 速度设定值
PORT := "CM1241_1", // 通讯端口
USS_ADDR := 1, // 变频器地址
ERROR => #Drive_Error,
STATUS => #Drive_Status,
SPEED_ACT => #Actual_Speed); // 实际转速反馈
实操心得:建议将速度设定值"SPEED_SP"的范围标准化为0-16384,对应0-100%转速。这样在触摸屏上可以统一使用百分比显示,便于操作人员理解。
3.3 触摸屏界面设计
3.3.1 基本控制界面
- 创建新画面,命名为"Main"
- 添加以下元素:
- 启动按钮:关联变量"HMI_Start"
- 停止按钮:关联变量"HMI_Stop"
- 急停按钮:关联变量"HMI_EmergencyStop"
- 速度设定输入框:关联变量"HMI_SpeedSetpoint"
3.3.2 状态显示区域
-
添加实际转速显示:关联变量"#Actual_Speed"
-
添加变频器状态指示灯:
- 运行状态:读取"#Drive_Status"的相应位
- 故障状态:读取"#Drive_Error"的值
-
添加趋势图控件,显示转速变化曲线
设计技巧:建议使用不同颜色区分按钮状态(如绿色表示运行,红色表示停止),并在按钮上添加文字说明,提高操作直观性。
4. V20变频器参数设置
4.1 快速调试步骤
-
恢复出厂设置:
- P0010 = 30
- P0970 = 1(等待变频器复位完成)
-
电机参数设置:
plaintext复制
P0010 = 1 // 进入快速调试模式 P0100 = 0 // 功率单位kW,欧洲/北美地区 P0304 = 380 // 额定电压(V) P0305 = [电机额定电流] // 根据电机铭牌设置 P0307 = [电机额定功率] // 根据电机铭牌设置(kW) P0310 = [电机额定频率] // 通常50Hz P0311 = [电机额定转速] // 根据电机铭牌设置(rpm) -
控制方式设置:
plaintext复制
P0700 = 5 // 选择USS通讯控制 P1000 = 5 // 频率设定源选择USS通讯
4.2 USS通讯参数详解
-
基本通讯参数:
plaintext复制
P2000 = 50 // 基准频率(Hz) P2001 = 16384 // 基准转速对应的USS标幺值 P2010 = 6 // 波特率9600(6=9600,7=19200,8=38400) P2011 = 1 // 变频器USS地址(1-31) P2012 = 2 // USS PZD长度(2个字) P2013 = 127 // USS PKW长度 P2014 = 1000 // USS通讯超时时间(ms) -
高级参数(可选):
plaintext复制
P2021 = 1 // 终端电阻使能 P2022 = 0 // RS485通讯方向自动控制 P2023 = 0 // 通讯错误处理方式
调试技巧:建议在初次调试时,将P2014(通讯超时)设置为较大值(如2000ms),待系统稳定后再调整为1000ms。这样可以避免因通讯延迟导致的误报警。
5. 系统调试与故障排除
5.1 上电检查流程
-
硬件检查:
- 确认所有电源接线正确
- 检查RS485接线是否正确,屏蔽层是否接地
- 确认终端电阻设置正确
-
软件检查:
- 确认PLC程序已下载
- 检查触摸屏项目已传输
- 确认变频器参数已保存
5.2 常见故障及解决方法
| 故障现象 | 可能原因 | 解决方法 |
|---|---|---|
| 通讯失败 | 接线错误 | 检查RS485线序,确认A/B线不反 |
| 变频器不响应 | 地址不匹配 | 检查PLC程序和变频器P2011设置是否一致 |
| 速度控制不稳定 | 波特率不一致 | 确认PLC程序和变频器P2010设置相同 |
| 偶发通讯中断 | 干扰严重 | 检查屏蔽层接地,增加终端电阻 |
| 触摸屏显示异常 | 变量未关联 | 检查HMI变量与PLC变量对应关系 |
5.3 调试技巧分享
-
通讯测试工具:
- 使用USS通讯测试程序(如USS Monitor)可以单独测试PLC与变频器的通讯
- 通过监控"#Comm_Status"可以判断通讯状态
-
参数备份:
- 调试完成后,使用P0809参数将变频器设置备份到BOP面板
- 在博途项目中使用"项目 > 归档"功能备份整个项目
-
性能优化:
- 适当调整USS轮询时间(默认约100ms)
- 减少不必要的PZD数据交换,提高通讯效率
在实际项目中,我发现最常出现的问题是接线错误和参数设置不一致。建议按照以下顺序调试:
- 先确保PLC与变频器能建立基本通讯
- 再测试简单的启停控制
- 最后调试速度控制和状态反馈
通过这套系统,我们已经成功应用于多个输送带控制项目,运行稳定可靠。特别是在需要频繁调速的场合,USS通讯方案既经济又实用。对于初次接触这套系统的工程师,建议先在小功率电机上测试,熟悉后再应用到正式项目中。