在工业自动化的项目里中央空调控制系统属于那种看着不复杂、真正落地却处处有讲究的活。我这段时间正好给某小型制冷站搭了一套基于组态王和PLC的中央空调控制系统从硬件选型、通信配置、组态画面、控制逻辑到现场联调完整走了一遍。整个过程踩了不少坑也攒下一些一手经验这篇就把它整理出来给准备自己动手做类似项目的同行参考。这套系统解决的核心问题是把原本分散在机房就地操作的制冷设备集中到一个上位机画面上监控和远程控制同时实现根据回水温度自动调节水泵频率的闭环控制。它在中小型站房、楼宇冷冻机房、工艺冷却水系统里非常适用组态王负责画面和监控PLC负责逻辑和联锁分工明确后期维护也不绑死在某一家集成商手里。适合做自动化项目集成、设备运维改造、或者刚入行想找完整案例练手的工程师。1. 系统整体设计与思路拆解1.1 需求分析与控制方案对比先交代现场背景。我这边的情况是机房里有制冷主机、冷冻水泵、冷却水泵、冷却塔风机还有一组温度、压力测点和电动阀门。改造前的运行方式很传统靠值班人员定时去机房巡检手动启停水泵和风机根据压力表读数判断系统状态。问题很明显数据不集中、故障发现滞后、设备之间没有联动逻辑、换热效果波动大。项目目标也清晰把整个制冷系统纳入一个监控平台做到集中显示、远程启停、自动联锁、历史追溯。除此之外还希望冷冻水泵能根据负荷自动调节转速不再全天固定工频运行达到节能的目的。方案选型的时候对比了几种路线。第一种是找楼宇自控厂家做整套BAS系统效果好但是贵小项目预算扛不住而且后期想改点逻辑都得找原厂。第二种是用触摸屏加PLC成本低但触摸屏离机房近照样做不到远程集中监控数据报表也弱。第三种就是组态王加PLC的经典组合。组态王是工业组态软件里非常常见的工具驱动多、上手快、画面用组态方式拖拽完成不需要从底层写界面PLC负责现场逻辑可靠性和实时性都在线。两者一配合既能快速交付又保留了后期扩展空间。这个方案还有一个隐性优势不绑定专用硬件。电脑可以用普通工控机甚至办公电脑PLC选择范围宽将来现场要加点测点或者换设备改动都很好控制。1.2 系统架构与通信规划整套系统是典型的三层结构从下往上理一遍就很清楚现场设备层温度变送器、压力变送器、水流开关、电动阀、水泵电机、冷却塔风机、变频器。控制层PLC负责采集现场信号执行启停控制、联锁保护和PID调节同时通过Modbus总线与变频器交换数据。监控层组态王运行在工控机上通过RS485串口或者以太网与PLC通信完成画面显示、数据记录、报警管理和参数下发。通信规划上PLC与变频器之间走Modbus RTU这是工业现场最通用的协议之一接线简单抗干扰能力也够用。PLC与组态王之间我当时用的是RS485串口通信距离不算远稳定性和速率都满足需求。如果现场距离远、点位多也可以加一个Modbus网关走以太网组态王里的设备配置思路是一样的只是从串口设备换成网络设备。这里要先提醒一句通信方案在项目初期就要定好否则后期改起来很痛苦。我见过不少项目硬件装完了才想起来通信距离不够最后只能加网关白白多花钱。2. 硬件选型与基础配置2.1 PLC选型与I/O点位统计开始选PLC之前按标准做法先统计I/O点。我列一下这套系统用到的点类型和最典型的数量大家可以按照自己现场情况套用信号类型测点内容数量信号规格模拟量输入AI冷冻水供/回水温度、冷却水供/回水温度、冷却塔出水温度、冷冻水泵出压力6~84-20mA数字量输入DI水泵运行/故障、风机运行/故障、水流开关、阀门全开/全关反馈10~16干接点数字量输出DO水泵启动、风机启动、电动阀开关、制冷主机启停、报警输出8~12继电器触点模拟量输出AO冷冻泵变频给定、冷却泵变频给定、电动阀开度给定3~44-20mA或0-10V选PLC的时候我关注三个硬指标模拟量通道数量是否够用、是否支持Modbus RTU通信、扩展能力是否方便。实际选的是一台中小型PLCCPU自带一部分数字量和模拟量通道不够的地方加了一块模拟量扩展模块正好覆盖所有测点。这里多说一句I/O点位千万别卡着边界算。现场实际接线的时候经常发现少算了一个水流开关、多一个阀门反馈反反复复改方案很耽误事。我的习惯是先按需求统计再预留15%到20%的余量宁可多配一点也不要后期抠着点位做项目。2.2 传感器与执行器配套选型传感器是这套系统里最容易出问题的地方选型和安装细节都直接影响控制质量。温度测量我用的PT100铂电阻配合温度变送器输出4-20mA电流信号。量程选0~100℃精度0.5级足够用了。有一点要特别注意温度探头必须插入管道内的介质流中不能只在管壁外面贴一个探头否则测出来的是管壁温度滞后很大PID根本稳不住。压力变送器主要用于监测冷冻水和冷却水系统的进出口压力量程0~1.6MPa同样4-20mA输出。压力信号对系统诊断很有用从画面上能直接看出水泵扬程和管路堵塞情况。水流开关我在每台水泵出口管路上都装了一个作用很大。它的核心用途是防干烧和防冻保护因为水泵如果空转或管路没有建立水流制冷主机启动就是大事故。控制逻辑里必须用水流信号做联锁条件而不是想当然认为水泵启动了就有水。执行器方面电动阀选择带反馈信号的类型能够把开到位、关到位的状态返回给PLC这样组态王画面上才能准确显示阀门状态也能避免阀门的机械故障被忽略。变频器选择支持外部启停和RS485通信的型号。通信参数我记得很牢波特率9600、数据位8、无校验、1位停止位从站地址按顺序设置。改完参数以后断电重启再测试Modbus通信是否建立。2.3 上位机与通信硬件准备组态王运行环境用一台工控机或者普通电脑都可以但建议用固态硬盘运行大型工程和写历史数据时差别还是很明显的。软件环境要装组态王开发版系统确认驱动支持自己选择的PLC型号和通信协议。通信硬件我准备了一根USB转RS485线和一个串口扩展卡。USB转485方便调试时候即插即用但如果长期运行建议用主板原生串口加RS485收发器的方案稳定性更好。线缆用屏蔽双绞线A接AB接B屏蔽层单端接地这是RS485布线的基本要求别省。3. 组态王工程搭建详解3.1 工程创建与设备驱动配置组态王工程搭建的第一步是新建工程存储在独立目录。打开工程浏览器后最关键的环节是添加设备并配置通信参数这一步配置不对后面所有变量都连不上数据。组态王通信设备配置流程大概是这样的在工程浏览器左侧树形菜单找到“设备”在“COM1”上右键新建设备。选择组态王内置的Modbus RTU通信驱动。设定串口参数包括波特率、数据位、停止位、校验方式必须和PLC侧设置完全一致。填写设备地址也就是PLC作为Modbus从站的站号一般从1开始。Modbus寄存器划分是另一个必须搞清楚的细节。组态王里的寄存器区域通常按0区、1区、3区、4区分其中0区对应线圈输出1区对应开关量输入3区对应只读输入寄存器4区对应可读写的保持寄存器。我们组态画面里需要下发指令和修改参数时用的基本都是4区保持寄存器。这里有一个特别容易踩的坑组态王寄存器地址的编号方式和PLC内部的Modbus地址存在偏移。很多PLC里第一个保持寄存器的地址是40001或偏移量从0开始组态王画面里可能根据产品不同从40001或40000开始对应。我在项目里验证下来常见的Modbus PLC设备在组态王中填40001时对应的是PLC侧偏移量为0的寄存器。做工程时最好先建一个临时变量实际读写验证一下偏移关系再批量定义变量否则几十个点位全部读错数据排查起来非常痛苦。3.2 数据词典变量规划与定义组态王中所有画面显示和控制都围绕变量进行。变量分两类内存变量保存在上位机内存中用于计算和中间状态I/O变量则与PLC寄存器实时交换数据是监控画面的数据源。变量命名我建议一开始就养成规范习惯否则项目做到一半画面和逻辑全乱套。我用的命名规则是“类型_设备_测点描述”示例T_冷冻水供水温度T_冷冻水回水温度D_冷冻泵1运行A_冷冻泵1频率给定模拟量I/O变量创建时需要选择连接的设备、寄存器地址、数据类型、读写属性和采集频率。这里的数据类型坑最深Modbus保持寄存器默认16位如果PLC端是32位浮点数组态王这边需要设置对应的浮点类型并且确认浮点写入两个连续寄存器的字节顺序。如果类型和顺序没匹配上数值就会变成乱码或者完全离谱的跳数。采集频率不要一味求快。温度、压力这些缓变信号1秒扫描一次足够了运行状态、故障这些开关量倒是可以快一点。采集频率如果全部设成100毫秒通信总线的带宽会被占满画面反而卡顿通信稳定性也会变差。3.3 监控画面布局与动画连接组态王的强项就是画面制作而画面好不好用直接影响值班人员愿不愿意用。我这次把画面规划成几个独立页面系统总览、单台制冷站设备详情、参数设置、报警记录、历史趋势、数据报表。页面之间用按钮切换避免在一个超大画面上堆太多内容。绘制主画面的流程用组态王图库里的水泵、风机、制冷机组图标搭建设备。用线条画管道连接各设备标注管道走向和介质类型。在对应测点位置放置数值显示框连接温度、压力变量设置小数位和单位。用动态颜色表达状态管道温度超过设定值变成红色水泵运行状态为绿色故障状态闪烁报警。动画连接的细节直接影响操作体验。例如风机旋转状态可以用图库内置的旋转动画配合开关量变量实现设备启动了图形就转停了你一眼能看出来。水泵故障时颜色抖动提醒比看文字消息直观得多。按钮控制方面每个启停按钮都要绑定变量并且建议做成弹窗确认模式。操作员点“启动冷冻泵”按钮后先弹出一个确认对话框显示“确认启动冷冻泵1”确定后才执行这样能减少误操作。3.4 报警配置与历史数据记录报警功能是这套系统里值班人员依赖最高的模块。我在组态王中为温度、压力等关键模拟量都配置了四层报警低低、低、高、高高。以冷冻水供水温度为例正常范围是7~12℃低于3℃触发低温报警高于15℃触发高温报警高于18℃触发高高报警并联锁停机。报警窗口放在独立画面里连接报警组变量值班人员看到报警后需要在界面上确认。确认后报警条从闪烁状态变为稳定状态但会一直保留到后续处理完毕方便追溯。历史数据的价值在运行后才会体现出来。我用组态王的历史数据记录功能把关键测点全部做了存储配合内置的趋势曲线控件可以在画面上选择时间范围回看温度变化。数据报表部分通过数据词典的存储配置每天生成日报表每月汇总一次用于分析设备运行时长和能耗趋势。提示报警报警值设置要有依据不要拍脑袋填。最好拿系统夏季满负荷运行几个小时的温度数据作为参考再结合设备参数去设置报警阈值否则误报太多值班人员会产生“报警疲劳”。4. 控制逻辑设计与实现4.1 PLC底层控制逻辑与联锁保护这套系统的核心逻辑全部写在PLC里组态王只负责显示和下发指令。这样设计的最大好处是可靠性即使上位机死机或者通信中断现场设备的控制逻辑照样能独立运行。很多新手做项目喜欢把控制逻辑写在上位机脚本里这是非常危险的做法。PLC程序按功能划分几个模块主程序流程是上电初始化、运行模式判断、采集输入信号、执行控制逻辑、刷新输出。运行模式分为自动和手动通过PLC内部的一个保持寄存器或者旋钮切换。自动模式下PLC根据温度和压力信号自动控制设备启停手动模式下操作员可以单独启停每台设备用于检修和调试。制冷机组启动的顺序是非常典型的三段式逻辑先启动对应冷冻水泵延时等待水流开关建立信号。水流稳定后启动冷却水泵和冷却塔风机。确认冷却水循环正常后才允许启动制冷主机。停机顺序则完全相反先停制冷主机延时几分钟让主机压缩机充分回油再停冷却水泵、冷却塔风机最后停冷冻水泵。这个顺序不能省否则容易出现高压报警和压缩机液击。保护逻辑方面冷冻水供水温度低于3℃的时候PLC切断制冷主机并报警同时保持冷冻水泵继续运行防止水管结冰。这个逻辑在冬季过渡季节特别有用机房没人盯着的时候能防大事故。4.2 变频水泵PID控制与参数整定节能的核心在于冷冻水泵变频调节。系统的控制目标是最常见的温差控制保持冷冻水供水温度与回水温度之间的温差恒定在设定值附近典型值是5℃。负荷大了温差变大变频器输出频率升高水泵加速加大冷冻水循环量负荷小了温差变小频率降低水泵减速节约电能。PID在PLC里实现方式很标准过程变量PV冷冻水回水温度给定值SP回水温度设定由组态王画面上设定默认按7℃或根据系统需求设定输出值MV变频器频率给定0~100%对应0~50HzPID整定过程我分享一下实际操作先把积分和微分全部关掉只加比例P从1.0开始逐步增加。观察回水温度的响应曲线如果温度围绕设定值来回振荡、周期很短说明P太大往回减如果温度偏离设定值回不来说明P太小往上加。等温度在设定值附近呈现等幅振荡时再稍微回调一点然后加积分消除静态偏差。积分时间从300秒左右开始温度响应慢的系统积分时间短了容易发散。微分我这次没有用。温度信号本身惯性大现场电磁干扰又多微分项容易放大噪声对控制质量的贡献非常有限。除非是控制流量、压力这类快速响应信号我一般不建议在温度控制中使用微分。经过现场整定系统稳定后回水温度基本控制在设定值上下0.5℃以内效果算是不错。能耗方面的改善也很明显原本冷冻水泵恒定50Hz运行现在自动模式下平均频率根据负荷浮动实测一个完整运行周期下来水泵电耗相比之前降低了百分之十几。4.3 组态王与PLC控制交互与防错设计组态王下发的数据集中在几类变量上系统运行模式、温度设定值、设备远程启停命令、报警复位信号。这些变量全部对应PLC程序中的保持寄存器PLC每个扫描周期读取并执行。组态王画面上的“自动/手动”切换实际上是往PLC的某个寄存器写0或1。PLC内部对模式切换做了互锁自动模式下组态王下发的单设备启停指令会被忽略手动模式下自动逻辑强制被旁路。这样防止了两种模式同时生效导致逻辑冲突。这里有一个我实测过很有价值的设计组态王下发指令后PLC侧设置一个“命令确认”寄存器。组态王写指令的同时清掉确认标志PLC执行完指令后重新置位。组态王画面检测到确认标志没有在规定时间恢复就弹出提示“指令可能未执行”这样能把通信断线造成的假执行风险降到最低。后来有两次通信瞬时抖动就是这个机制先发现了问题。注意绝对不能把变频器启动和频率给定的每个控制位都用上位机变量直接操作。上位机一旦卡顿或者通信中断输出会停留在错误状态现场会出现不可预料的后果。正确的做法是PLC内做所有逻辑判断上位机只给目标值和使能信号。5. 联调测试与实际运行体验5.1 模拟调试与画面联调PLC程序写完以后先在电脑上用仿真软件把逻辑跑一遍。这一步成本最低能查出来大部分逻辑先后顺序的问题。我会故意设置一些异常条件比如水流开关一直不闭合、冷却塔风机故障等看程序是否按预期联锁停机。组态王和PLC建立通信后先不开任何真实设备让系统处于“画面联调”状态。用PLC编程软件的强制功能把每个数字量输入逐点置ON/OFF逐个核对组态王画面上对应状态显示是否一致。模拟量方面给每个通道加一个固定电量值检查画面数值是否和通道值一致、量程换算是否正确。这个过程看似繁琐却是最值得做的。画面上一个显示顺序错误到了真实运行时候就可能造成误判宁可花一天时间点对点核对也不要带着错漏进现场。5.2 现场通信联调与总线问题处理真实设备送电测试阶段第一个容易出问题的是RS485通信。我这次第一次上电通信时通时断组态王设备变量频繁变“#”。排查过程供参考先用万用表测量RS485的AB两端电压正常静止状态应该在2.5V以上并保持稳定。实测发现电压偏低而且波动明显。检查接线后发现线缆屏蔽层没有接入接地端子两个设备之间又没有共地导致通信电平被干扰。现场整改手段是把屏蔽层在PLC那一端单点接地同时在总线两端各并联一个120Ω终端电阻。接好以后再次测量总线电压稳定在接近5V通信重试恢复正常。总线问题解决后再测通信报文。用电脑串口调试工具接在RS485总线上向PLC发送Modbus功能码报文例如读保持寄存器的报文格式类似“01 03 00 00 00 02 C4 0B”然后看PLC是否返回正常数据帧。这样可以不依赖组态王单独验证PLC侧Modbus从站功能是否工作正常。5.3 实际运行效果与使用体验系统调试完成正式投入运行后最大的变化是值班人员不再需要跑机房了。以前每天早晚两次巡检现在坐在中控室一个画面就能看到所有泵组、阀门、温度和运行状态。哪台水泵变频器报警、哪个阀门反馈丢失画面上第一时间弹出来处理效率提高了一个量级。控制效果最直观的体现是冷冻水回水温度曲线。改造前温度靠人工手动开关调节波动范围很大改造后PID自动调节温度曲线基本是一条很稳定的直线换热效果明显变好。对末端用户来说环境的舒适度提升了温度波动带来的抱怨也少了。值班人员的使用反馈让我印象很深他们从最开始不信任自动控制到后来基本放心交给系统跑靠的是系统稳定运行一个多月没有误动作。关于这一点我的体会是组态画面做得花哨远不如控制逻辑可靠重要上位机界面的价值首先是真实反映现场其次才是好看。6. 常见问题与排查技巧实录6.1 组态王连接不上PLC这类问题在初装阶段发生频率最高。排查顺序按优先级排列确认串口号是否选对。USB转RS485连接的设备有时候会变串口号组态王里选错了自然连不上。确认串口参数是否一致。波特率9600、数据位8、停止位1、无校验是最常见的组合PLC和组态王两边必须完全一样。确认485两线是否接反。A接AB接B一旦接反部分设备也会有收发但不稳定。确认从站地址是否正确。组态王里设置的设备地址要和PLC里设置的Modbus从站号一致。排查通信问题的时候别在组态王里反复试先用串口调试工具发Modbus报文测试确认物理链路和PLC应答正常以后再回到组态王里排查驱动和变量配置这样能快速定位问题在哪一层。6.2 变量显示成“#”号或者数值乱跳组态王画面上变量显示成“#”表示读取失败数值乱跳一般不是设备问题而是配置问题。最常见的两种情况第一个是寄存器地址偏移。PLC侧Modbus地址编号和组态王侧寄存器编号存在映射差我前面强调过这个问题实际上凡是第一次接PLC的项目几乎都会遇到。判断方法很简单建一个变量读一个已知固定值的寄存器如果数值和实际不符合试着把地址加1或者减1再读确认正确关系后批量填变量。第二个是数据类型不匹配。读过来的温度变成65000多这样的大数十有八九是整型被当成了无符号数或者浮点数的字节序不对。Modbus协议只规定了寄存器的16位传输没有规定多个寄存器组成浮点数时的排列顺序PLC和组态王两边默认不一致就会出现这种问题。6.3 画面卡顿与响应迟滞组态王在上位机运行一段时间后画面操作开始卡顿常见原因有三个。第一个是工程里变量数量过多且全部高频采集组态王会持续消耗CPU和通信带宽去刷新状态。解决办法是降低缓变信号的采集频率把温度、压力这些测点从100毫秒改成1秒基本不影响监控效果但资源占用大幅下降。第二个是画面里用了大量动态效果和动画属性。旋转风扇、闪烁状态、流动管道这些效果做得太多运行版的图形引擎会越来越吃力。简化策略是关键状态做动画一般显示用静态文字把动画集中到总览画面上详情页不重复添加动态效果。第三个是历史数据文件越来越大磁盘空间被占满后组态王读写数据库会产生明显延迟。我给工控机设置数据存储分区定期清理无效历史文件并对数据目录做了磁盘空间告警。6.4 指令下发后设备没反应设备不动作先区分是PLC没收到指令还是收到指令没执行。用一个示教案例说明排查路径操作员在组态王画面点“启动冷冻泵2”设备没反应。我在PLC程序里加了一个调试寄存器专门记录最近一次上位机指令的来源和值。通过组态王读这个调试寄存器发现指令值已经到达PLC说明通信和变量都正常。继续往下查发现PLC程序处于手动模式手动模式下上位机的自动控制指令本身就会被逻辑旁路掉所以设备不动作完全正常。切换为自动模式后指令正常生效。还有一种容易被忽略的情况组态王里定义的变量是“只读”属性画面上下发的按钮操作自然无效。建变量的时注意区分读写属性凡是用于控制的变量必须选读写不能只选读。这套系统做完以后我个人的体会有两点。第一组态王加PLC这种组合看上去是“老技术”但在中小型控制项目里依然是最适合快速落地的方案之一关键是选型合理、逻辑清晰、通信可靠。第二真正花时间的不是画面做得多好看而是把控制逻辑捋清楚、把通信链路搞稳定这两块做好了项目就等于成功了八成。最后再分享一个小技巧开工前先画一张I/O清单和通信拓扑图贴在工位旁边后续所有配置工作都围绕这张图展开能帮你避开一大半的坑。
阅读完成 · 觉得有帮助?