ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

西门子200Smart与昆仑通态MCGS实现换热站自动控制完整方案

西门子200Smart与昆仑通态MCGS实现换热站自动控制完整方案 做锅炉换热站控制这块的工程师大概率都碰过这类需求一套锅炉加换热站系统既要根据温度自动调节运行又得让操作工能在现场手动干预温度、压力、液位这些模拟量信号得实时读回来还得按时间段自动加热。我去年刚做完的一个项目正好用的就是西门子200Smart配昆仑通态MCGS触摸屏这套组合把模拟量读取、自动/手动切换、时间加热控制全部做进去了。今天把整个程序设计思路和关键实现步骤整理出来从IO分配、量程转换到模式切换、定时控制再到触摸屏组态和现场调试的坑一条线讲清楚。想用200Smart做小型供热控制项目的朋友这篇可以直接当参考模板用。1. 项目需求与控制方案设计思路1.1 这个换热站项目到底要解决什么问题先交代一下项目背景。这个现场是一套小型燃气锅炉配套的换热站工艺上并不复杂锅炉产出高温热水通过板式换热器把热量传递给二次侧采暖水二次侧由循环泵驱动送到用户端。整个系统需要监控的温度点有锅炉出水温度、一次侧回水温度、二次侧供水温度、二次侧回水温度压力点有一次侧供回水压力和二次侧供回水压力另外还有一个膨胀水箱液位信号。用户提出的控制需求归纳起来是三条第一二次侧供水温度必须稳定在设定范围偏低时自动启动加热流程第二系统必须具备自动和手动两种工作模式检修或者调试时能脱离自动逻辑单独操作每一台设备第三考虑到夜间用热需求下降白天用热高峰前需要提前蓄热所以加热动作要按照时间段来控制比如凌晨04:30开始预热白天高峰时段满负荷运行夜间低谷自动转入保温运行。从控制规模看输入输出点并不多模拟量有7个温度点、4个压力点、1个液位信号数字量大概十几点属于非常典型的小型换热站控制系统。这种规模的项目如果上DCS或者高端PLC成本完全没必要选一款小型PLC加触摸屏的方案最合适这也是200Smart在这个场景下最常见的使用方式。1.2 为什么选200Smart与昆仑通态这对组合选200Smart的理由很直接。第一是成本优势整个控制系统硬件费用控制在万元级比同档次进口小型PLC低不少第二是指令系统和服务器的兼容性好200Smart虽然是西门子家族里入门级的产品但它的指令集沿用了200系列的习惯像我这种以前用过老200/200CN的工程师上手基本零成本写梯形图的速度比看手册还快第三是模拟量扩展能力强通过EM AM06这类扩展模块8路模拟量输入完全够用而且模块自带的隔离通道在抗干扰方面表现不错不用额外加隔离器。昆仑通态MCGS触摸屏则是国内小型HMI里市场份额很高的产品选它主要看中几点组态软件免费下载和调试不受授权限制驱动库齐全走PPI协议和200Smart通信非常成熟稳定基本是即插即用画面组态灵活用户窗口、设备窗口、实时数据库这套体系学起来很快后期改画面不用重新编译下装在触摸屏上直接做修改就行。而且MCGS的配方功能和报表功能对于换热站这种需要定期设置运行参数的场景来说非常实用。这种“200SmartMCGS”的组合在中小型锅炉房、换热站、空调机房项目里几乎成了标配。有一个重要因素在于后期维护现场的电工和水暖工经过简单培训就能掌握触摸屏修改参数的操作而PLC程序只要不涉及逻辑变动就不需要厂家反复派人进场用户自己就能调整时间计划和温度设定值。1.3 系统架构与IO地址规划整套系统架构分三层底层是传感器和执行器中间是200Smart PLC上层是MCGS触摸屏。传感器信号进PLCPLC做逻辑运算和温度判断输出控制继电器接触器去驱动循环泵、补水泵、电动调节阀等设备触摸屏通过PPI协议和PLC交换数据实现参数设定、状态监控和手动操作。IO地址规划是整个程序设计里最容易被新手忽略、却最影响后面编程效率的一步。我的习惯是先列一张完整表格再动手写程序。信号类型地址范围说明模拟量输入AIW16~AIW38EM AM06模块占用的模拟量输入通道依次接温度、压力、液位信号数字量输入I0.0~I1.3泵的启停反馈、故障信号、手自动转换开关、急停按钮数字量输出Q0.0~Q1.1循环泵、补水泵启停控制电动阀开关控制报警输出V存储区VB100~VB999实时时钟缓存、模拟量转换结果、时间设定参数、运行状态标志这里有个经验要分享地址规划时模拟量通道要集中使用连续地址这样后期写量程转换子程序时可以用循环指令批量处理数字量输入里务必预留两个急停和复位按钮的位置这个细节在后面的模式切换逻辑里非常重要V存储区要在程序里专门划出一片作为触摸屏可读写参数区并且做好注释和分割线以后改程序找地址能省大量时间。2. 模拟量读取与工程量换算2.1 模拟量信号采集的接线方式这个项目里模拟量信号有两种类型温度信号用得最多的是PT100热电阻压力信号选用4-20mA两线制变送器液位用投入式液位计同样是4-20mA输出。在选模拟量扩展模块时如果温度点多且分散最好用专门的热电阻模块EM AR02它可以直接接入PT100并内部完成线性化输出数值就是温度值的10倍省去大量运算。但我这个项目只有7个温度点考虑到后期可能增加模拟量通道最终选了EM AM064个AI通道和2个AO通道。PT100信号通过温度变送器转成4-20mA再进AM06虽然多了一道变送器但信号统一为4-20mA后程序里所有模拟量通道的量程转换公式完全一致简化了程序结构。接线时需要注意几点EM AM06的模拟量输入通道分两组每组有独立的公共端两线制变送器的正极接模块的电源正负极接信号输入正端公共端把变送器负极和模块的COM连起来。实际接线最常犯的错误是两线制变送器接线时把电源负极接到模块信号负端导致回路电流不经过测量电阻读数要么是满量程要么完全没信号。遇到读数异常先拿出万用表串入信号回路量一下电流是否为4-20mA只要电流正常从模块侧查问题和线路问题基本都能定位。2.2 200Smart的模拟量数据格式与量程转换200Smart的模拟量输入通道经过A/D转换后数值范围是0~27648对应0-20mA或0-10V的信号。如果接的是4-20mA变送器下限4mA对应5530这个数值上限20mA对应27648所以量程转换公式为工程值 (原始值 - 5530) × 满量程范围 / (27648 - 5530)以一路0-100℃的4-20mA温度变送器为例如果PLC读到的原始模拟量数字是13500那么实际温度的换算过程是(13500 - 5530) × 100 / (27648 - 5530) 7970 × 100 / 22118 ≈ 36.03℃这个公式要理解清楚不能简单套用0-27648直接除以满量程。用错公式最常见的表征是温度显示比实际值偏高起始温度总是差十几度就是因为没减去5530对应的下限偏置。在200Smart里实现这个转换推荐用整数转浮点数再运算的方式。程序可以用比较指令判断原始值是否小于5530如果小于直接清零避免信号断线时出现很大的负值被误认为正常低温。断线保护这个逻辑太重要了换热站这种场合一旦变送器断线导致温度误判断为超低自动逻辑就会把加热设备全开起来现场就会过热甚至出安全事故。我习惯把量程转换写成一个子程序参数包括原始值地址、量程下限、量程上限、转换结果地址每个模拟量通道调用一次。这样虽然程序看起来多几行但后期增加模拟量通道或者修改量程范围时只需要改调用参数不用动子程序内部逻辑。2.3 模拟量滤波与干扰处理换热站现场的干扰源主要有两个一个是变频器另一个是泵类设备的启停冲击。变频器本身输出侧的高频谐波会通过电源线辐射干扰模拟量信号泵启停时大电流冲击也会造成地电位波动。处理手段是软件和硬件双管齐下。硬件上所有模拟量信号线必须用屏蔽双绞线屏蔽层单端接地严禁两端接地否则会形成地环流反而引入更大的干扰。屏蔽线要全程穿金属管敷设不能和动力线在同一根线槽里走。变送器供电尽量用开关电源的独立一路输出不要和PLC的数字量输出传感器电源共用。软件上我的做法是在每个模拟量采集周期做多次采样再取平均值。200Smart的程序扫描周期一般在10ms以内如果每个扫描周期读一次模拟量并且立刻用于控制数值波动会比较明显。比较稳妥的做法是用一个定时器每隔200ms执行一次采样子程序连续采样5次去掉最大值和最小值后取中间3次平均值再赋值给用于控制的变量。这样处理后即便有轻微的电磁干扰实际显示值和用于控制的温度值都能保持稳定。需要注意的是滤波的时间常数不能取得过大。如果每隔几秒钟才采一次样做平均虽然显示很稳但温度快速变化时控制响应会迟钝加热滞后严重。我曾经把滤波时间调到1.5秒现场温度波动范围反而扩大了就是因为控制动作跟不上真实温度变化。3. 自动/手动模式切换的程序实现3.1 模式切换控制原则与程序骨架模式切换是整个控制程序里最容易出逻辑问题的地方。换热站要求每个设备都具备自动和手动两种控制方式但这里的“手动”不是指完全脱离PLC的物理硬接线手动控制而是在PLC程序里将某一台设备从自动逻辑中剥离出来由操作员在触摸屏上用按钮直接控制启停。这种区分非常重要因为在自动模式下手动运行某一台泵如果自动逻辑恰好在某个条件下也输出该泵的启动指令两个信号就会互相冲突。所以必须在每个设备的控制输出前加上模式选择逻辑。控制原则可以总结为一句话输出优先级从高到低依次是急停、联锁保护、手动控制、自动控制。急停必须直接切断输出点不能用软件逻辑替代。联锁保护是指液位过低、压力超限等危险工况下即使手动状态也要强制停泵。程序骨架分为三层。主程序OB1调用模式管理子程序、系统运行状态判断子程序、手动控制子程序、自动控制子程序、报警处理子程序。每个设备最终输出到Q点的逻辑在独立的输出映射子程序中完成比如循环泵的Q0.0输出值等于急停取反后与联锁条件取反后再与手自动选择结果相与。这样把控制逻辑和输出物理点分离调试时查看程序逻辑非常清晰。3.2 自动模式控制逻辑详解自动模式的核心逻辑是温控加联锁。以二次侧循环泵为例自动模式下只要二次侧系统没有故障循环泵应保持连续运行这是为了保证用户端采暖持续不断。二次侧供水温度的控制则通过调节一次侧电动调节阀的开度来实现。温度偏低时电动阀开大让更多一次侧高温水进入板换温度偏高时关小电动阀。为了避免电动阀频繁动作程序设计了两级控制方式。温度偏差在死区范围内时电动阀保持当前开度不变偏差超过死区上限时电动阀以每秒一个步长的速度开大偏差低于死区下限时电动阀以同样速度关小。死区范围通常设为±2℃。实际运行时二次侧供水温度可以稳定在设定值±1.5℃以内基本满足供热要求。补水泵的自动控制则完全由压力信号决定。二次侧回水压力低于补泵启动压力设定值时补水泵启动补水压力达到停泵压力设定值时停泵。启动压力和停泵压力之间要设置1.5米水柱左右的回差否则补水泵启停过于频繁机械寿命会大幅缩短。自动模式下还有一个必须考虑的条件设备故障联锁。比如循环泵在自动运行中发生热继电器跳闸PLC接到故障信号后应停止该泵的输出并切换备用水泵投入运行同时生成报警信息推送到触摸屏。如果只有一台循环泵故障时要立即停止加热控制逻辑防止无水循环状态下继续通入一次侧加热介质造成板换汽化损坏。3.3 手动模式与安全保护切断手动模式用于设备检修、调试和自动控制失效时的应急操作。在触摸屏上切换进入手动模式后每台泵和电动阀的画面都会显示独立的启动、停止按钮。为了保护设备手动操作也设置了基本联锁。比如手动启动补水泵如果液位过低由于膨胀水箱液位联锁仍然生效补水泵不允许启动。手动模式的逻辑程序相对简单每个设备对应一个置位/复位按钮映像但因为安全要求高我特别强调几个细节。按钮在触摸屏上应设置操作权限一般操作员只能操作泵的启停修改温度设定值、PID参数等高级功能需要工程师权限才能操作。急停只有物理硬按钮不做触摸屏软急停原因很简单触摸屏死机或通信断开时软急停完全失效物理急停才是最后的保命手段。模式之间相互切换时还有时序要求。自动切手动时设备当前输出状态要保持防止切换瞬间设备突然停机这在现场会引起很大冲击尤其循环泵切换后停机再启动对泵的机械密封是很大的损伤。手动切自动时设备状态由自动逻辑重新接管切换前必须将手动模式下的输出全部清零避免从手动输出的状态直接进入自动判断发生状态竞争。我在程序里用了一个切换瞬间标志位切换动作发生的那个扫描周期将所有设备的手动输出标志置零从下一个扫描周期开始进入正常控制流程这样处理下来切换过程没有任何一次误动作。4. 时间加热控制功能设计与实现4.1 时间加热控制要解决的现场痛点换热站的时间加热控制需求来自于供热负荷随时间段变化的客观规律。白天用户在家、室外温度高时热需求小清晨和傍晚室外温度低热需求急剧上升。如果完全按照固定温度偏差控制加热设备有两种矛盾情况一是负荷上升后再加热温度爬升滞后用户会感觉暖气不热二是在负荷低谷时温度达标设备频繁启停浪费能源。时间加热控制的核心思路是用时间曲线预判负荷趋势在负荷到来之前提前蓄热在负荷低谷时转入保温运行。具体到本项目用户要求的工作模式是每天凌晨04:30自动启动一次侧加热循环通过板换向二次侧系统预充热量到06:00用户起床时二次侧供水温度已经达到设定值白天09:00~16:00时段按正常温度控制运行夜间22:00后进入保温模式只维持系统不冻降低运行能耗。这种需求用PLC实现其实不复杂难点在于要把时间判断和温度判断结合起来并且要考虑日期切换时的边界问题。4.2 读取实时时钟与时段判断逻辑200Smart读取实时时钟使用READ_RTC指令功能是将系统时钟读取到以VB起始地址的8个字节缓存中。读取到的数据格式是BCD码字节顺序为年、月、日、时、分、秒、保留、星期。比如当前时间是2025年1月15日下午14时30分25秒缓存里的数值是16#25、16#01、16#15、16#14、16#30、16#25、16#00、16#03。做时间判断时最简单的办法是直接比较BCD码不要转换成十进制。因为小时的BCD码16#04就是十进制的0416#14就是14大小关系完全一致直接用整数比较指令就能判断。下面是一段判断当前时间是否进入加热时段的梯形图逻辑思路// 假设VB100起存放READ_RTC读取的时钟缓存 // VB103为小时VB104为分钟 // VW210存放加热开始时间设定值高字节为小时低字节为分钟 // 判断: 当前小时设定小时 且 当前分钟设定分钟 LDW VB103, VB210 AW VB104, 0 OLD LDW VB103, VB210 OLD M10.0 // 加热时段允许标志这里有一个平时容易踩的坑READ_RTC读取的时钟如果需要手动校准需要在触摸屏或者初始化子程序里先写入系统时间。200Smart掉电后如果没有超级电容或者扩展电池模块时钟会恢复到默认值导致时间控制全部失效。我们做项目时专门在初始化子程序里加了一段逻辑判断年份字节如果小于2020年就自动将时钟设置为2020年1月1日并触发触摸屏弹出窗口提示操作员校时。4.3 时间与温度复合控制程序示例单纯到时间就启动加热显然不够安全还要考虑温度情况。我把时间加热控制定义成一个状态机包含四个状态等待状态、预热状态、正常控制状态、保温状态。等待状态系统未到预热开始时间或者用户手动关闭时间加热功能此时只做防冻保护二次侧供水温度低于5℃时强制启动循环泵防止管道冻裂。预热状态到达预热开始时间且二次侧供水温度低于预热目标温度时开启一次侧加热泵或打开电动阀使系统快速升温。预热结束条件有两个达到预热目标温度或者预热持续最长时间到。两个条件任一满足就退出预热状态没必要继续烧下去能耗是最重要的制约。正常控制状态白天时段温度控制由前面说的电动阀调节逻辑完成控制目标是维持二次侧供水温度在用户设定值附近。保温状态到达夜间保温时段后关闭一次侧加热设备循环泵保持运行只在二次侧供水温度低于保温下限温度时才短暂启动加热。这个状态机的程序实现用一个字节变量加比较指令就可以完成不需要复杂的跳转。每个扫描周期先判断当前时间落在哪个时段再根据时段设置不同的目标温度和加热允许标志。程序里的时间设定参数全部放在V存储区由触摸屏写入用户可以根据季节变化调整各时段的时间点不用改PLC程序。还有一个操作细节状态切换时要复位相关定时器和累计计时器。比如从预热状态切到正常控制状态预热累计时间必须清零否则下次再进入预热状态计时起点是上一次残留值会导致此轮预热时间判断错误。这个坑我调试时碰到过当时预热状态只进入一次就一切正常但如果下午临时停炉后再次启动预热预热时长被缩短了将近一半排查了半天才发现是切换时没有清理累计定时器。5. 昆仑通态MCGS组态与联调5.1 通信连接配置MCGS触摸屏通过串口和200Smart通信协议选PPI。组态时在设备窗口里添加“西门子S7-200”驱动设置对应的COM口、波特率、站号。200Smart的PPI端口缺省站号是2MCGS这边一定要把设备地址改成2这个站号对应的是200Smart CPU上的站号设置如果通信不上首先要查的就是站号是不是对的。还有一个通信要点是波特率。200Smart出厂默认PPI波特率是9.6kbpsMCGS设备配置要同步设置成9.6k位数8无校验1停止位。我在现场遇到过一次通信经常掉线的情况排查到最后发现是PLC侧PPI端口波特率被之前调试人员改成了187.5kbps而触摸屏侧的配置还是9.6k通信能连上但极不稳定而且出错后无法自动恢复需要断电重启触摸屏才能重新通信。改回一致的波特率后问题彻底消失。通信正常后设备窗口里需要添加需要读写的PLC变量。MCGS的变量体系和PLC地址是一一对应的但要注意数据类型匹配200Smart的V存储区分字节、字、双字一个32位浮点数在MCGS里定义成Float类型的变量通道地址要对应到V区的起始字地址。如果定义错了数据类型读回来的数据会完全乱掉这是组态调试中常遇到的问题。5.2 画面布局与变量监控MCGS的画面组态我分成四个主要窗口系统总览、自动控制、手动控制、参数设置。系统总览画面上用图库里的管道阀门图片做一个简单的工艺流程图把各温度测点、压力测点的实时数值以文本框的方式动态显示运行状态用指示灯指示。这个画面主要用于日常巡检值班员扫一眼就能判断系统是否正常运行。自动控制画面放二次供水温度设定值、一次侧电动阀开度给定值、PID参数、各加热时段的时间设定。这些参数全部关联到PLC的V存储区修改后需点击保存按钮通过脚本将参数写入PLC的保持性存储区。这里要特别说明200Smart的V区只有一部分是断电保持的默认是V区最后512个字节根据系统块设置决定我们在系统块里把部分V区设置为断电保持区域把时间设定参数全部放进去。否则用户修改好时间断电重启后参数丢失会认为是程序故障这是必须提前规避的。手动操作画面则是每一个泵和电动阀的启停按钮、状态指示、故障复位按钮。按钮关联的变量是PLC里定义的手动启动标志和手动停止标志在程序中用置位复位指令锁定状态而不是靠按钮的瞬时按下状态直接驱动输出。这样即使通信瞬间刷新有延迟按钮操作也不会丢失。5.3 屏保设置、配方下发与变频器监控有一类需求经常被问到昆仑通态触摸屏的屏保画面怎么设置。MCGS里实现屏保功能是通过系统设置的“窗口切换”功能。在运行策略里新建一个用户策略策略中设置一个窗口切换动作当系统无操作持续时间达到设定时长后自动切换到指定的初始窗口。实际操作中我把系统总览画面设为初始窗口超时60秒无触摸操作就自动切回总览避免长时间停留在参数设置画面忘记退出带来的误操作风险。配方功能是实现参数批量下发的一个非常实用的功能尤其适合换热站这种季节转换时参数需要整组调整的场景。MCGS的配方是把一组与PLC地址关联的变量值记录在触摸屏内部调用配方时通过脚本将配方值写入对应的PLC地址。比如冬季配方、夏季配方、春秋季配方每种配方包含所有时间设定参数、目标温度、回差设定。切换季节时操作工只需要在配方面板选择相应配方一键下发所有参数瞬间更新。关键点在于配方变量的地址定义必须和PLC参数地址严格对应而且配方向PLC写入的脚本要在数据处理完成后给出一个“写入完成”标志PLC收到标志后立即执行一次参数校验子程序核对参数范围是否合理不合理则拒绝执行并报警。说到变频器监控有些项目里的循环泵或补水泵配置了变频器需要在触摸屏上监视变频器的输出电压、电流、频率。实现方式取决于变频器是否支持Modbus协议。如果变频器支持Modbus RTU可以直接通过PLC或者触摸屏的通信口按Modbus协议读取变频器寄存器。在200Smart里做Modbus主站读取调用MBUS_CTRL和MBUS_MSG指令即可将读回来的频率、电流、电压数据放到V区MCGS再读出显示。在MCGS画面上做一个简单的文字显示框关联电压、电流、频率变量加上数据刷新功能就实现了监视变频器输出电压的画面。这里要提醒一个寄存器映射的问题不同品牌的变频器寄存器地址差异极大即便是同一个品牌不同系列的型号地址表也可能不同。组态前一定要到变频器手册里查对应参数的Modbus寄存器地址和数据格式有些是16位无符号整数有些是32位浮点数还有些要乘以系数才是实际工程值。三相输出电压如果直接读寄存器值是当前实际输出电压数值除以10的倍数不处理直接显示就会差一个数量级。5.4 与200Smart的通信调试心得最后聊聊通信联调时的一些经验。200Smart和MCGS之间如果通信不稳定除了前面说的站号和波特率问题还有一个经常被忽略的点是通信线。PPI通信是RS485半双工需要A、B两条线正确连接。触摸屏端通常标注A和B-PLC端PPI口的3号脚为RS4858号脚为RS485-接线时A接3脚B-接8脚。如果A、B接反通信表现为时断时续触摸屏上有的变量能读取有的变量读数为0。在项目现场要养成用万用表确认接线极性的习惯别指望靠软件的通信诊断功能来反推接线错误效率低得多。通信参数全部调通后建议做一次连续48小时的稳定性测试期间不要操作触摸屏让它自动运行并记录数据变化。如果48小时内通信没有中断说明通信链路可靠可以交付用户如果有过中断检查通信线屏蔽层接地是不是单端良好以及通信线是否和动力线穿在同一根管子里。6. 调试中的常见问题与排查技巧6.1 模拟量读数异常问题速查模拟量问题是换热站调试中最多的一类问题我把常见现象和排查思路整理成表格现场对照处理效率最高。故障现象可能原因处理办法读数为0无变化信号回路断线、变送器未供电万用表量变送器输出端电流确认是否在4-20mA范围读数始终是27648上限信号接线极性接反、信号线短路检查A、B-极性检查屏蔽层是否碰到信号线读数偏大同时温变不准量程转换公式未减去4mA下限偏置确认按(原始值-5530)/(27648-5530)计算读数上下跳动大变频器干扰、电源纹波大加模拟量滤波检查屏蔽接地电源加滤波电容读数到最大量程后不再变化变送器量程选择不对确认变送器量程和PLC程序里量程上下限一致某一通道读数固定值对应通道损坏、组态地址配错用编程软件在线监视AIW地址确认地址是否有冲突这里特别说明一下地址冲突的问题。200Smart的AIW地址是由模块安装位置决定的如果CPU上有两个模拟量扩展模块第一个模块的通道地址通常是AIW16~AIW22第二个模块的通道地址依次往后排。但有些情况下硬件组态和实际安装顺序不一致比如触摸屏组态里将第二个模块的通道地址分配给了第一个模块的物理通道读数就会出现张冠李戴的现象把温度信号显示在压力位。排查时用在线监视功能看每个AIW的实时变化确认信号对应的通道是否正确。6.2 模式切换与输出紊乱问题模式切换时输出紊乱是最危险的问题可能造成设备误动作。典型的故障场景是自动切手动后操作员在触摸屏上启动一台泵按下启动按钮时泵不转松开按钮时泵反而转了几秒。原因通常是程序里使用了瞬时按钮信号直接驱动输出而没有做置位/复位自保持按钮信号消失后输出点跟随断开但因为触摸屏刷新延迟出现输出抖动。解决办法就是前面说的手动按钮必须通过置位指令保持状态再通过停止按钮复位。另一个常见问题是自动模式切换到手动模式后设备自动启动。原因是在自动逻辑里输出条件满足时把输出点一直置1切换到手动模式后自动逻辑清0但手动逻辑中还没有启动标志输出点被其它联锁条件误触发。排查时先检查切换前自动逻辑输出的状态再检查设备输出物理点是否有中间继电器接点粘连。如果中间继电器外壳烧黑果断更换继电器不要只修改程序硬件问题不改的话会反复出现。6.3 时间加热控制不生效的处理时间控制不生效第一反应查PLC实时时钟是否准确。现场经常遇到的情况是PLC时钟比实际时间慢了几分钟甚至几个小时操作工前一天设定好时间第二天发现该启动没启动误以为是程序逻辑坏了。解决办法是让触摸屏在一开机时自动从系统时间同步到PLC时钟。MCGS里可以通过脚本在校时窗口写入当前系统时间到PLC的V区PLC执行校时子程序更新系统时钟。还有一种容易忽略的情况是时间段定义的边界条件。比如预热时段定义为04:30到06:00如果程序判断当前时间大于等于04:30且小于等于06:00才允许动作那么正好在04:30这个整点时刻由于PLC扫描周期和READ_RTC的最小时间分辨率是1秒会出现某个扫描周期正好读到04:29分59秒而不满足条件下一个扫描周期读到04:30分00秒就满足条件中间有一个周期的延迟。这个影响不大但如果边界条件是04:59分59秒这种非整点时刻判断语句就更容易出错调试时务必把边界设成整分并且预留一两分钟的缓冲不要在用户设定的临界时间点卡得太死。6.4 下载程序与在线监控注意点200Smart使用Micro/WIN SMART软件编写和下载程序下载时如果把CPU切换到RUN状态下载程序会暂时停止运行这在换热站运行期间是绝对禁止的操作。下载前必须让现场设备全部处于停止状态尤其是循环泵不能运行否则下载瞬间数字量输出全部清零泵突然停机可能引发水击或者设备损坏。在线监控时如果要修改正在运行的定时器、比较器的设定值尽量通过触摸屏修改V存储区的参数实现而不要在线强制修改程序中的常数值。因为一旦程序重新编译下载常数值会恢复初始状态而V存储区的修改不受程序下载影响操作更安全。7. 一点个人总结这套系统从设计到交付大概用了一个月时间其中程序编写和触摸屏组态加起来一周左右剩余时间基本都花在现场调试和参数整定上。做下来最深的体会是换热站这类项目逻辑上并不复杂真正考验程序的往往是一些细节模拟量断线保护、模式切换时序、时间边界判断、参数断电保持。这些细节只要有一个没考虑到到了现场就会变成一次让人头大的故障排查。对于准备用200Smart和昆仑通态做类似项目的朋友我的建议是先在办公室把工艺流程图捋清楚把所有传感器和设备的地址表做出来再动笔写程序。程序结构上尽量把模拟量处理、模式管理、时间控制分开做成独立子程序将来不管是改控制参数还是扩展测点都方便。调试阶段耐心做48小时连续运行测试同时观察触摸屏上各个变量的实时刷新情况很多通信问题和地址错误都会在这段时间里暴露出来。最后分享一个小技巧我在每个模拟量通道的量程转换子程序里都加了一段“断线跟踪”逻辑一旦某些关键温度信号断线超过5秒程序会自动将对应测点的显示值置成故障值并且给出声光报警。这个操作在实际运行中救过我们好几次很大程度避免因传感器故障导致误加热或误停机。做法很简单比较AIW原始值是否低于5500持续累计一定时间后置位断线标志即可。这个小功能成本极低但对系统安全运行的价值非常大值得在今后的同类项目里坚持用下去。
返回列表