1. 从一次真实的改造项目说起
去年秋天,我接手了一个老旧小区的供热改造项目。这个小区有12栋楼,原来的换热站控制柜是九十年代末的继电器逻辑,柜子里密密麻麻的中间继电器、时间继电器、接触器挤在一起,光接线端子就占了三个导轨。运行了二十多年,故障率越来越高,最要命的是每次循环泵切换都要靠值班师傅手动操作,夜里两点也得爬起来。物业经理跟我说,光是去年冬天因为控制柜故障导致的停暖就有七次,居民投诉电话打爆了市长热线。
这个项目让我完整地走了一遍从继电器方案升级到PLC自动控制的全过程。说实话,这种改造比新建一个换热站要麻烦得多,因为你既要保留原有的水泵、阀门、换热器这些一次设备,又要把控制逻辑从硬件接线彻底搬到软件程序里,中间还涉及到旧柜拆除、新柜安装、传感器加装、通讯组态、调试投运等一系列环节。我前后在现场待了将近三周,踩了不少坑,也积累了一些在标准手册里找不到的经验。
这篇文章就是把这个过程完整地拆解出来。如果你手头正好有类似的换热站改造项目,或者你正在做控制柜选型的技术方案,再或者你是刚入行的自控工程师想了解PLC在供热系统里的实际应用,那这篇内容应该能帮你少走一些弯路。我会从方案选型的底层逻辑讲起,把PLC选型、I/O点表规划、传感器配置、通讯协议选择、程序架构设计、现场调试要点这些核心环节都掰开揉碎说清楚,最后再分享几个我在调试过程中遇到的典型问题和排查方法。
2. 换热站控制柜的整体方案设计与选型逻辑
2.1 为什么继电器方案必须升级
先说说继电器方案到底差在哪里。传统的换热站继电器控制柜,核心逻辑是靠中间继电器和时间继电器搭建的硬接线电路。比如循环泵的启停控制,就是通过一个启动按钮触发中间继电器线圈,继电器常开触点闭合后给接触器线圈供电,接触器主触点闭合让电机运转。看起来很简单对吧?但问题在于,当你的控制逻辑稍微复杂一点,比如需要根据供回水温差自动调节循环泵频率、需要根据室外温度曲线自动调整二次侧供水温度、需要实现两台泵的自动轮换和故障切换,继电器方案就彻底力不从心了。
我拆开那个旧柜子的时候数了一下,光是中间继电器就有47个,时间继电器8个,各种接线端子超过200个。这意味着什么?意味着任何一个继电器触点氧化或者线圈老化,都可能导致整个控制逻辑紊乱。而且排查故障极其困难,你得拿着万用表一个节点一个节点地量,有时候一个软故障要查大半天。更别说想要修改控制逻辑了,那基本等于重新设计整个柜子。
PLC方案从根本上解决了这些问题。控制逻辑从硬件接线变成了软件程序,你想改逻辑?改程序就行,几分钟的事。你想增加一个温度联锁?加一个模拟量输入模块,程序里写两行比较指令就搞定了。故障排查也简单得多,PLC有专门的诊断缓冲区,哪个输入点没信号、哪个输出点没动作,在编程软件里一目了然。这就是为什么现在但凡稍微正规一点的换热站,控制柜清一色都是PLC方案。
2.2 PLC选型的核心参数怎么定
选PLC不是越贵越好,也不是点数越多越好,关键是要匹配你的实际需求。我一般从以下几个维度来评估:
I/O点数统计。这是最基础的工作。你需要把换热站所有需要监控的信号列出来,分成数字量输入(DI)、数字量输出(DO)、模拟量输入(AI)、模拟量输出(AO)四类。以一个典型的中型换热站为例,DI点包括:循环泵运行状态、循环泵故障信号、补水泵运行状态、补水泵故障信号、电动阀开关到位信号、水箱高低液位报警、变频器运行状态、变频器故障信号等,大概需要16到24个点。DO点包括:循环泵启停控制、补水泵启停控制、电动阀开关控制、变频器启停控制、报警输出等,大概需要8到16个点。AI点包括:一次侧供回水温度、二次侧供回水温度、室外温度、一次侧压力、二次侧压力、水箱液位、变频器频率反馈等,大概需要8到12个点。AO点主要是变频器频率给定,一般2到4个点就够了。
CPU性能。换热站的控制逻辑不算复杂,主要是PID调节和逻辑联锁,一般的紧凑型PLC都能胜任。但如果你的系统需要接入触摸屏、需要和上位机通讯、需要做数据记录和报表,那就要选通讯能力强一点的CPU。我一般建议选带以太网口和RS485串口的CPU,以太网用于连接触摸屏和上位机,RS485用于连接变频器和其他智能仪表。
扩展能力。换热站后期可能会增加一些功能,比如加装热量表、加装水质监测、增加远程监控模块等,所以选型时要留出至少20%的I/O余量和一个扩展模块槽位。我见过太多项目因为选型时卡得太死,后期想加一个模拟量输入模块都加不进去,只能换CPU,浪费钱又耽误工期。
品牌和生态。这个看你的项目定位和预算。西门子的S7-200 SMART系列在小型换热站里用得很多,编程软件免费,资料齐全,性价比高。三菱的FX系列也很常见,尤其是老工程师用得多。国产的信捷、汇川这几年进步很快,在中低端市场占有率越来越高,价格优势明显。如果你有上位机监控需求,那还要考虑PLC和上位机软件的兼容性,比如西门子PLC配WinCC,三菱PLC配组态王,都是比较成熟的组合。
2.3 触摸屏和通讯协议的选择
换热站控制柜的触摸屏,我建议至少选7寸的,再小就看不清了。品牌方面,西门子的Smart 700 IE V3或者KTP700 Basic都是常见选择,和S7-200 SMART配合使用很方便。国产的威纶通、昆仑通态性价比更高,功能也完全够用。
通讯协议这块,换热站里主要涉及三种:PLC和触摸屏之间一般用以太网或者RS485,走Modbus RTU或者西门子的PPI协议;PLC和变频器之间用RS485走Modbus RTU最普遍,也有用Profibus的但成本高;PLC和上位机之间用Modbus TCP或者OPC UA,现在越来越多的项目要求支持OPC UA,因为上层监控平台需要统一的数据接口。
这里要特别说一下Modbus RTU的配置。很多新手在调试变频器通讯时容易卡住,其实关键就几个参数:波特率、数据位、停止位、校验位、从站地址。变频器手册上都有,照着设就行。但要注意的是,PLC和变频器的波特率必须一致,从站地址不能重复,通讯线要用屏蔽双绞线并且单端接地。我遇到过好几次通讯不上的情况,最后发现都是因为变频器的从站地址设成了0或者波特率设成了9600而PLC设的是19200。
3. 核心硬件配置与I/O点表规划实操
3.1 一次设备清单与传感器配置
换热站的一次设备主要包括板式换热器、循环泵、补水泵、电动调节阀、变频器、水箱、除污器等。这些设备在改造项目中通常是保留的,我们只需要把控制柜换掉,然后加装必要的传感器和执行机构。
传感器配置是改造项目的重头戏。温度传感器我一般选Pt100铂电阻,精度高、稳定性好,配一个温度变送器输出4-20mA信号给PLC。安装位置很关键,一次侧供回水温度传感器要装在换热器进出口的直管段上,距离换热器至少5倍管径,避免涡流影响测量精度。二次侧供水温度传感器要装在供水总管上,回水温度传感器装在回水总管上。室外温度传感器要装在建筑北侧阴凉处,离地2米以上,避免阳光直射和热源影响。
压力传感器选4-20mA输出的压力变送器,量程根据系统实际压力来定。比如二次侧供水压力一般在0.4到0.6MPa,那变送器量程选0到1.0MPa就够了,选太大量程会牺牲精度。液位传感器用于水箱液位监测,可以用投入式液位变送器或者超声波液位计,输出4-20mA信号。
电动调节阀是控制二次侧供水温度的关键执行机构。我一般选带4-20mA信号控制的电动调节阀,阀门口径根据流量和压差计算确定。这里有个经验公式:阀门流量系数Kv等于设计流量除以阀门全开时的压差平方根。实际选型时还要考虑阀门特性曲线,等百分比特性适合换热站这种负荷变化较大的场合。
3.2 I/O点表规划与地址分配
I/O点表是整个控制柜设计的基础文件,必须做得清清楚楚。我一般用Excel表格来管理,包含以下几列:序号、信号名称、信号类型、PLC地址、模块型号、端子号、线号、备注。
数字量输入点表要标注信号是常开还是常闭。比如循环泵故障信号,一般接触器辅助触点取常闭点,正常运行时触点闭合,故障时触点断开,这样断线也能检测到故障。数字量输出点表要标注负载类型和容量,比如接触器线圈是AC220V还是DC24V,电流多大,需不需要加中间继电器隔离。
模拟量输入点表要标注信号类型(4-20mA还是0-10V)、量程范围、工程单位、对应的物理量。模拟量输出点表要标注输出类型和负载要求。
地址分配要遵循一定的规则,方便后期维护。我一般把DI点从I0.0开始分配,DO点从Q0.0开始分配,AI点从AIW16开始分配,AO点从AQW16开始分配。每个模块的地址范围要留出余量,比如一个8点DI模块,地址分配I0.0到I0.7,下一个模块从I1.0开始,这样即使某个点坏了需要换到备用点,也不会影响其他模块的地址。
3.3 控制柜内部布局与接线规范
控制柜内部布局直接影响散热效果和维护便利性。我一般把PLC和通讯模块放在柜内上部,因为热量往上走,上部散热条件好一些。变频器放在柜内下部或者单独一个柜体,因为变频器发热量大,而且强电和弱电要分开。接触器、断路器这些强电元件放在柜内一侧,PLC、继电器这些弱电元件放在另一侧,中间用隔板隔开。
接线规范这块,强电和弱电必须分开走线槽,间距至少100mm。模拟量信号线要用屏蔽双绞线,屏蔽层单端接地,接在PLC侧的接地端子上。数字量信号线可以用普通多股铜芯线,但也要注意不要和动力线平行走线,避免电磁干扰。
接地系统是很多改造项目容易忽视的地方。PLC的接地端子必须单独接地,接地电阻小于4欧姆。变频器的接地端子也要单独接地,不能和PLC共用接地线。我见过一个项目因为变频器和PLC共用接地线,导致模拟量信号波动很大,后来分开接地就正常了。
4. PLC程序架构设计与核心逻辑实现
4.1 程序结构规划
换热站的PLC程序我一般分成几个功能块来写:系统初始化块、模拟量采集与处理块、PID控制块、泵阀控制块、报警处理块、通讯处理块、手动操作块。这样分块的好处是逻辑清晰,调试的时候可以一块一块地测试,出问题也容易定位。
系统初始化块主要做上电后的初始状态设置,比如把所有输出点复位、把PID参数设为默认值、把累计运行时间清零等。模拟量采集与处理块负责读取AI通道的原始数据,然后做量程变换和滤波处理。PID控制块是核心,负责二次侧供水温度的闭环调节。泵阀控制块负责循环泵、补水泵、电动阀的启停和联锁逻辑。报警处理块负责监测各种故障信号并输出报警。通讯处理块负责和触摸屏、变频器、上位机的数据交换。手动操作块提供手动模式下的操作接口,方便调试和应急处理。
4.2 模拟量采集与量程变换
模拟量采集看起来简单,但实际做起来有不少细节要注意。以西门子S7-200 SMART为例,模拟量输入模块的原始数据范围是0到27648对应4-20mA信号。量程变换的公式是:工程值 = (原始值 - 0) / (27648 - 0) * (量程上限 - 量程下限) + 量程下限。
比如一个温度变送器量程是0到100℃,原始值读回来是13824,那工程值就是13824/27648*100 = 50℃。这个计算在程序里用浮点运算指令来实现,注意数据类型转换,整数要先转成实数再运算。
滤波处理也很重要。现场信号难免有波动,如果不滤波,PID调节会跟着波动,导致执行机构频繁动作。我一般用一阶滞后滤波,公式是:本次滤波值 = 上次滤波值 * (1 - 滤波系数) + 本次采样值 * 滤波系数。滤波系数根据信号波动情况来定,一般取0.1到0.3之间。波动大的信号取小一点,波动小的信号取大一点。
4.3 PID控制回路的设计与参数整定
二次侧供水温度的PID控制是换热站最核心的控制回路。控制逻辑是:以二次侧供水温度设定值为目标,以电动调节阀的开度为输出,通过PID运算不断调整阀门开度,使实际供水温度逼近设定值。
PID参数整定是个经验活。我一般先用经验值试,比例系数P先设小一点,比如2到5,积分时间I设大一点,比如300到600秒,微分时间D一般不用或者设很小。然后观察响应曲线,如果温度上不去,就增大P;如果温度波动大,就减小P或者增大I;如果温度响应太慢,就减小I。
这里有个实用技巧:先把PID设为手动模式,手动给一个固定的阀门开度,观察温度稳定在什么值。然后切换到自动模式,把设定值设成比稳定值高2到3度,观察温度上升过程。如果温度上升太慢,说明P太小;如果温度超调很大然后慢慢回落,说明I太大或者P太大。反复调整几次就能找到合适的参数。
室外温度补偿曲线是另一个重要功能。换热站需要根据室外温度自动调整二次侧供水温度设定值,这个曲线一般是线性的,比如室外温度0度时供水温度设50度,室外温度-10度时供水温度设60度。在程序里用线性插值或者查表的方式实现。
4.4 泵阀联锁与自动轮换逻辑
循环泵的控制逻辑包括:启停控制、故障切换、自动轮换、联锁保护。启停控制就是根据二次侧供水温度或者压差信号来决定泵的启停。故障切换是当主泵故障时自动启动备用泵。自动轮换是两台泵定期切换运行,避免一台泵长期运行另一台泵长期闲置。联锁保护是当水箱液位过低或者二次侧压力过高时自动停泵。
补水泵的控制逻辑类似,但多了定压补水功能。通过二次侧回水压力信号来控制补水泵的启停,维持系统压力稳定。一般设一个压力下限和一个压力上限,压力低于下限时启动补水泵,压力高于上限时停止补水泵。
电动调节阀的控制逻辑要和PID输出关联,同时要有阀门限位保护和故障检测。阀门开度反馈信号和给定信号偏差过大时报警,阀门动作超时也报警。
5. 现场调试与常见问题排查实录
5.1 调试前的检查清单
调试之前一定要做一次全面检查,我吃过亏,有一次没检查就上电,结果一个24V电源线接反了,烧了一个模拟量模块。检查清单包括:电源线是否接对、电压是否正常、PLC和模块是否插紧、接线端子是否紧固、传感器信号是否正常、通讯线是否接对、接地是否可靠。
上电顺序也有讲究:先合总电源,再合PLC电源,最后合动力电源。断电顺序反过来:先断动力电源,再断PLC电源,最后断总电源。这样可以避免动力电源的浪涌电压冲击PLC。
5.2 模拟量信号跳变的排查
模拟量信号跳变是最常见的故障之一。我遇到过好几次,温度信号突然跳到最大值或者最小值,然后过一会儿又恢复正常。排查思路是这样的:先看信号线是否松动,尤其是端子排上的螺丝,有时候看着拧紧了实际上接触不良。再看屏蔽线是否接地良好,屏蔽层没接地或者两端都接地都会引入干扰。然后看信号线是否和动力线平行走线,如果平行走线距离太长,要分开。最后看变送器本身是否故障,可以用信号发生器给一个标准信号,看PLC读数是否正常。
还有一种情况是变频器干扰。变频器工作时会产生高频谐波,如果模拟量信号线和变频器输出线走同一个线槽,很容易受到干扰。解决办法是把模拟量信号线单独走金属线槽,并且线槽要接地。
5.3 通讯故障的排查方法
Modbus RTU通讯故障排查,我一般按以下步骤来:先检查物理连接,RS485的A接A、B接B,不能接反。再检查终端电阻,通讯距离超过100米或者波特率高于19200时,要在总线两端各接一个120欧姆的终端电阻。然后检查通讯参数,波特率、数据位、停止位、校验位、从站地址必须完全一致。最后用串口调试工具单独测试,比如用Modbus Poll软件直接读变频器的寄存器,如果能读通说明变频器没问题,问题在PLC程序或者接线。
OPC UA通讯故障排查,先检查网络连接,ping一下对方IP地址是否通。再检查OPC UA服务器的端口是否开放,默认是4840。然后检查安全策略设置,有些OPC UA服务器要求加密连接,客户端也要相应配置。最后检查节点ID是否正确,OPC UA的节点ID格式比较特殊,要仔细核对。
5.4 常见问题速查表
| 故障现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 模拟量信号跳变 | 信号线松动、屏蔽不良、变频器干扰 | 检查端子紧固、屏蔽层接地、信号线走向 | 紧固端子、单端接地、分开走线 |
| 通讯不上 | 参数不一致、接线错误、终端电阻缺失 | 核对通讯参数、检查A/B线、测量终端电阻 | 统一参数、纠正接线、加装终端电阻 |
| PID调节振荡 | P太大、I太小、滤波不足 | 观察响应曲线、检查滤波系数 | 减小P、增大I、加强滤波 |
| 泵不启动 | 联锁条件不满足、接触器故障、PLC输出点损坏 | 检查联锁条件、测量接触器线圈、检查PLC输出 | 解除联锁、更换接触器、更换输出模块 |
| 触摸屏无显示 | 电源故障、通讯线断、屏幕损坏 | 检查电源、检查通讯线、替换测试 | 修复电源、更换通讯线、更换屏幕 |
| 温度测量偏差大 | 传感器安装位置不当、变送器量程不对、线路电阻 | 检查安装位置、核对量程、测量线路电阻 | 调整安装位置、更换变送器、补偿线路电阻 |
5.5 调试过程中的独家经验
第一个经验是关于PID参数整定的。很多新手喜欢在实验室里整定好PID参数然后直接拿到现场用,这是不对的。因为实验室的负载特性和现场完全不一样,现场整定是必须的。我一般会在系统稳定运行24小时后再做一次精细调整,因为这时候系统已经达到热平衡状态,调节效果最真实。
第二个经验是关于电动调节阀的。电动调节阀在调试时一定要做一次全行程开关测试,确认阀门从全关到全开的时间,这个时间参数要写到程序里作为阀门动作超时判断的依据。另外阀门的手动操作机构要确认灵活,万一自动控制失效可以手动操作。
第三个经验是关于备用泵的。备用泵一定要定期试运行,我一般设一个每周试运行一次的逻辑,每次运行10分钟。这样可以避免备用泵长期不运行导致叶轮卡死或者密封失效。我见过一个项目备用泵放了两年没动过,真正需要切换的时候发现泵已经锈死了。
第四个经验是关于数据记录的。PLC程序里要加一个数据记录功能,把关键运行参数比如供回水温度、压力、泵运行状态、报警记录等定时保存到触摸屏或者SD卡里。这样后期分析问题的时候有数据可查,也方便做能耗分析。
6. 从继电器到PLC升级的几点体会
这个项目做完之后,我最大的感受是:换热站控制柜的升级改造,技术本身并不复杂,难的是对现场工艺的理解和对细节的把控。PLC编程只是工具,真正决定项目成败的是你对换热站运行逻辑的理解程度。比如二次侧供水温度到底应该怎么控制、循环泵应该在什么条件下启停、补水泵的定压值设多少合适,这些都不是PLC编程能解决的,需要你懂供热工艺。
另外一点体会是关于改造项目的节奏控制。新建项目可以从容地按部就班来,但改造项目往往要在供暖季之前完成,工期压力很大。我的建议是提前做好充分准备,I/O点表、程序框架、柜体布局这些能在办公室完成的工作尽量提前做完,现场只做接线、调试和投运。这样即使现场遇到意外情况,也有足够的时间来处理。
最后说一个容易被忽视的点:文档整理。改造完成后一定要把最终的I/O点表、程序备份、通讯参数、PID参数、报警设定值这些资料整理成册,一份给物业,一份自己留底。我见过太多项目做完之后资料丢失,第二年出了问题想查都查不到,只能重新排查,浪费大量时间。这个习惯看起来不起眼,但长期来看能省很多事。