1. 项目概述:楼宇中央空调PLC控制系统全流程开发
作为一名在工业自动化领域摸爬滚打十年的工程师,我经手过数十个楼宇自控项目,其中中央空调控制系统是最考验系统集成能力的典型场景。这次要分享的是基于西门子S7-200 PLC的完整开发案例,包含从IO表设计到仿真测试的全套技术方案。这个老而弥坚的PLC型号至今仍在中小型楼宇项目中广泛应用,其稳定性和性价比经过市场长期验证。
这个项目的核心价值在于实现了"设计-编程-仿真"的闭环验证。我们不仅完成了PLC程序开发,还配套制作了仿真测试环境,这意味着即使没有实体设备,也能验证90%以上的控制逻辑。整套资料包含五大关键交付物:带注释的梯形图源码、IO地址分配表、电气原理图、部署调试文档以及技术要点讲解视频。这种"开箱即用"的套件特别适合两类人群:一是刚接触楼宇自控的工程师快速上手,二是院校师生用于教学实验。
2. 系统架构设计与硬件选型
2.1 控制对象分析:中央空调系统组成
我们先拆解典型楼宇中央空调的物理构成,这对后续PLC编程至关重要。系统主要包含四大子系统:
- 制冷机组(含压缩机、冷凝器、蒸发器)
- 水循环系统(冷冻水泵、冷却水泵、补水装置)
- 风系统(空调机组、风机盘管、新风机组)
- 辅助系统(冷却塔、阀门执行器、传感器网络)
以某办公楼项目为例,我们配置了2台30冷吨的螺杆式冷水机组,采用一用一备策略。冷冻水系统采用二级泵设计,初级泵定频运行,次级泵配备变频器实现变流量控制。这种架构在能效和成本间取得了较好平衡,也是当前中型楼宇的常见方案。
2.2 S7-200 PLC的硬件配置
西门子S7-200系列虽然已逐步被S7-1200替代,但其在存量市场仍占据重要地位。本方案选用CPU224XP CN型号,这是该系列中性能较优的一款,主要参数如下:
- 14DI/10DO(内置)
- 2路AI/1路AO(内置)
- 可扩展7个模块
- 12KB程序存储空间
- 集成RS485通信口(PPI协议)
根据空调系统控制需求,我们扩展了以下模块:
- EM231 CN:4路热电偶输入(监测管道温度)
- EM232 CN:2路模拟量输出(控制变频器)
- EM223 CN:16DI/16DO(设备状态监测与控制)
硬件选型心得:实际项目中务必预留20%以上的IO余量。我们曾遇到因增加湿度传感器导致AI口不足的情况,最终不得不更换CPU型号,造成项目延期。
2.3 IO地址规划与符号表设计
规范的地址分配是大型程序可维护性的基础。我们采用"类型+区域+序号"的三段式编码规则:
| 地址类型 | 前缀 | 示例 | 说明 |
|---|---|---|---|
| 数字量输入 | I | I0.0 | 内置DI起始地址 |
| 数字量输出 | Q | Q0.0 | 内置DO起始地址 |
| 模拟量输入 | AIW | AIW0 | 温度传感器 |
| 模拟量输出 | AQW | AQW0 | 变频器控制 |
对于空调系统关键设备,建立符号表实现"硬件标签化":
- "AHU1_Run" 对应 Q1.0(空调机组1启停)
- "CHWS_Temp" 对应 AIW4(冷冻水供水温度)
- "CWP_Freq" 对应 AQW2(冷却水泵频率)
这种设计使程序可读性大幅提升,后续维护时无需反复查阅电气图纸。
3. 电气设计核心要点
3.1 主电路与控制电路分离设计
安全规范要求动力回路(380VAC)与控制回路(24VDC)必须物理隔离。我们采用双重隔离方案:
- 主回路:通过接触器线圈实现电气隔离
- 控制回路:使用光电耦合器隔离数字量信号
典型控制电路包含三级保护:
- 断路器(短路保护)
- 热继电器(过载保护)
- 中间继电器(信号隔离)
冷冻水泵控制电路示例:
ladder复制Network 1: 手动/自动模式选择
LD I0.0 // 手动模式信号
O I0.1 // 自动模式信号
= M0.0 // 模式状态存储
Network 2: 启停控制
LD M0.0
A I0.2 // 启动按钮
AN I0.3 // 停止按钮
AN I0.4 // 故障信号
= Q0.0 // 接触器线圈
3.2 模拟量信号处理技巧
楼宇空调系统中,温度传感器的信号处理直接影响控制精度。我们总结出"三阶滤波法":
- 硬件滤波:信号输入端并联100nF电容
- 软件滤波:采用S7-200的循环平均值指令(MOV_W)
- 量程转换:使用标准化指令(NORM_X)将原始值转为工程值
PT100温度采集程序片段:
ladder复制Network 3: 温度采集
LD SM0.0
MOVW AIW0, VW100 // 读取原始值
ITD VW100, VD102 // 转为双整数
DTR VD102, VD106 // 转为实数
/R 32000.0, VD106 // 标准化
*R 200.0, VD106 // 量程转换(0-200℃)
MOVR VD106, VD110 // 存储温度值
避坑指南:模拟量信号线必须采用屏蔽双绞线,且屏蔽层单端接地。我们曾因接地不当导致温度读数波动达±3℃,远超出传感器精度范围。
4. PLC程序设计详解
4.1 程序结构设计
采用模块化编程架构,将不同功能分配到独立的子程序块:
| 程序块 | 功能 | 执行周期 |
|---|---|---|
| OB1 | 主循环 | 每个扫描周期 |
| SBR0 | 模式选择 | 手动操作时调用 |
| SBR1 | 制冷机组控制 | 10s间隔 |
| SBR2 | 水泵群控 | 5s间隔 |
| SBR3 | 报警处理 | 事件触发 |
| SBR4 | 能耗统计 | 每小时 |
这种结构使程序逻辑清晰,且便于多人协作开发。例如制冷机组控制子程序包含以下关键逻辑:
- 压缩机启停顺序控制
- 冷冻水出水温度PID调节
- 安全联锁保护(油压、电流等)
4.2 典型控制算法实现
4.2.1 设备轮换控制
为平衡多台并联设备(如冷冻水泵)的运行时间,采用"累计运行时长+优先级"的轮换策略:
- 建立设备运行时间累计表:
ladder复制MOVW #0, VW200 // 泵1运行时间(分钟)
MOVW #0, VW202 // 泵2运行时间
MOVW #0, VW204 // 泵3运行时间
- 运行时累计逻辑:
ladder复制LD Q0.0 // 泵1运行状态
TON T37, 60000 // 1分钟计时器
LD T37
INCD VW200 // 时间累计+1
R T37, 1
- 启停优先级判断:
ladder复制LDW>= VW200, VW202 // 比较泵1泵2时间
LDW>= VW200, VW204 // 比较泵1泵3时间
= M10.0 // 泵1优先级最低标志
4.2.2 冷冻水温度PID控制
使用S7-200内置的PID指令实现温度闭环控制:
ladder复制// PID参数设置
MOVR 0.8, VD500 // 比例增益
MOVR 0.1, VD504 // 积分时间(分钟)
MOVR 0.05, VD508 // 微分时间(分钟)
MOVR 50.0, VD512 // 输出上限(%)
MOVR 0.0, VD516 // 输出下限(%)
// PID指令调用
LD SM0.0
PID VB400, 0 // 使用回路0
调试技巧:初次调试时先将积分和微分设为零,逐渐增加比例增益至系统出现等幅振荡,然后取该值的60%作为最终P参数。
5. 仿真测试方案
5.1 S7-200仿真环境搭建
由于实体设备调试成本高,我们采用PLCSIM+WinCC的联合仿真方案:
- 软件准备:
- STEP 7 Micro/WIN V4.0 SP9(编程软件)
- S7-200 PC Access(OPC服务器)
- WinCC Flexible 2008(HMI仿真)
- 仿真步骤:
- 在Micro/WIN中编译下载到PLCSIM
- 配置PC Access的OPC通道
- WinCC连接OPC变量进行可视化
5.2 典型测试用例
5.2.1 制冷机组启动测试
- 模拟冷冻水温度>设定值+2℃
- 检查压缩机是否按顺序启动(先开油泵,30秒后开主机)
- 验证冷却水阀是否同步打开
5.2.2 故障模拟测试
- 强制模拟量输入为超限值(如AIW0=32767)
- 观察报警程序是否触发相应故障码
- 检查关联设备是否执行安全停机
测试用例表示例:
| 测试项 | 输入条件 | 预期输出 | 实际结果 |
|---|---|---|---|
| 低温保护 | AIW0=2000(5℃) | Q0.0=0, VW300=1 | 符合 |
| 过载保护 | I0.5=1 | Q0.0=0, VW300=2 | 符合 |
| 模式切换 | I0.0=1→0 | M0.0状态翻转 | 符合 |
6. 工程文档规范
6.1 电路图绘制标准
采用GB/T 18135电气制图规范,分层绘制:
- 一次回路图(主电路)
- 二次回路图(控制电路)
- 端子接线图
- 柜体布置图
关键标注要求:
- 所有元件标注西门子订货号
- 线号与PLC地址对应(如101→I0.0)
- 电缆标注型号及走向(如RVVP 2×1.5至AHU1)
6.2 程序注释规范
- 网络标题:说明本段逻辑功能
- 变量注释:标注物理意义和单位
- 修改记录:记录变更内容和日期
优质注释示例:
ladder复制Network 5: 冷却塔风机控制
// 功能:根据冷凝压力启停风机
// 修改:2023-05-20 增加延时停机功能
LD SM0.0
LPS
AW>= VD200, VD204 // 压力>设定值
TON T33, 300 // 延时5分钟启动
LPP
AW<= VD200, VD208 // 压力<设定值
TON T34, 180 // 延时3分钟停止
7. 部署与调试实战
7.1 现场调试流程
- 上电前检查:
- 核对电源电压(L1/L2/L3=380V±10%)
- 测量对地绝缘电阻(>1MΩ)
- 检查PE线连接可靠性
- 分步调试:
- 先测试手动模式所有执行器动作
- 再验证自动模式逻辑关系
- 最后整定PID参数
- 验收测试:
- 72小时连续运行测试
- 模拟断电重启测试
- 最大负载工况测试
7.2 常见故障处理
根据我们团队整理的故障代码表,前三位高频问题及解决方案:
| 故障码 | 现象 | 排查步骤 |
|---|---|---|
| E101 | 水泵过载 | 1. 检查热继电器设定值 2. 测量电机三相电流 3. 检查机械负载 |
| E205 | 温度传感器断线 | 1. 测量AI通道电压 2. 检查端子接线 3. 替换传感器测试 |
| E307 | 通信超时 | 1. 检查DP头终端电阻 2. 测量通信线阻抗 3. 重设站地址 |
在最近一个商业综合体项目中,我们遇到冷冻水泵频繁报E101故障。最终发现是水系统排气不彻底导致泵体气蚀,通过增加自动排气阀和调整启停时序解决了问题。这个案例提醒我们:PLC程序故障往往根源在机械系统。