前年我接了一个真空自耗炉(VAR炉)的电气控制系统改造项目,甲方在电话里说得很轻巧:“把那套老控制系统换掉,别让它再烧电极、别再乱报警。”等我到了现场看到那台“带病运行”的设备,才发现这活儿的难点根本不在编程,而在于怎么在几万安培的电弧、真空泵组、冷却水系统之间,找到一个真正稳得住的PLC控制方案。这篇文章记录的是我从工艺分析、硬件选型、PID整定到现场调试踩坑的完整过程。如果你正在做真空自耗炉、电弧炉或类似大电流热工设备的PLC项目,下面的内容应该有参考价值。
1. 真空自耗炉“难控”在哪里:先看工艺再谈控制
1.1 电极位置与熔炼电流的强耦合,不是普通单回路能搞定的
真空自耗炉的原理说起来很简单:在真空环境下,利用电弧把自耗电极熔化,金属液滴落入水冷铜结晶器里凝固成锭。但真正控制起来,麻烦就麻烦在“电极位置—弧长—熔炼电流”这三个量是强耦合的。
电弧的弧长决定了电弧电阻:电极离熔池液面越近,弧长越短,电流越大;反过来,电流变小说明弧长变长,需要电极下压。所以PLC必须实时采集实际熔炼电流,和设定值比较,然后控制电极升降机构动作。响应时间通常要求控制在几百毫秒量级,否则电极下插过深就会短路,或者上提太快直接断弧。
更麻烦的是,熔炼过程中熔池液面一直在上升,电极也要跟着缓慢下移。这个“慢速位置跟踪”和“快速电流调节”叠加在一起,就变成了一种复合控制。我见过不少项目直接用单个PID的输出去驱动电极升降,结果就是电极忽上忽下,电流曲线像锯齿一样。这里想说的是:真空自耗炉的控制难点首先是工艺理解,不光是PLC编程问题。
1.2 大电流和真空环境带来的测量干扰,远比想象中严重
实际运行时,炉子电流低的几千安培,高的能到两三万安培。这么强的电流经过电缆时,周围会产生很强的磁场。你如果把电流变送器的信号线和动力电缆走同一个桥架,那PLC模拟量模块读到的信号会抖得像心电图。
电弧本身也不是一个稳定的电阻性负载。熔炼过程中弧柱在波动,电压电流波形里充满谐波和尖峰。如果用瞬时值去控制,程序里看到的电流值可能一会大一会小,根本没法做平稳调节。正确的做法是让变送器输出“平均值”或者带滤波的电流信号,PLC侧再加一阶惯性滤波,把采样周期和滤波时间常数匹配好。
真空测量同样有坑。低真空段用热电偶规或皮拉尼规,高真空段用电离规或冷阴极规,不同真空计的量程和输出特性差别很大。现场安装位置如果离抽气口太近,气流扰动会让读数一直跳;如果离电弧区太近,又会受到电磁干扰和金属蒸气污染。很多报警误动作,根本原因不是PLC程序错,而是传感器信号本身就不干净。
1.3 工艺连续性和安全联锁,决定了系统不能只想着“自动”
真空自耗炉一个熔炼周期少则几个小时,多则十几个小时,中途不能随便停。但冷却水断了、真空突降、电极位置超出范围,都必须能快速进入保护状态。这里有一个行业共识:安全保护不能只靠PLC软逻辑,必须做“硬联锁+软联锁”分层。
硬联锁指的是不经过PLC的电气回路:冷却水流量开关、温度开关、急停按钮、热继电器这些直接串在主接触器或者电源合闸回路里。就算PLC死机了,硬回路也能把高压电源切断。软联锁是PLC内部的逻辑判断,负责更细化的分级报警、预报警和设备顺序停机。把两层分开,系统可靠性才会高。
我在调研阶段就把这些工艺特点一条条写进了需求清单,后面选硬件和写程序时,基本上都是在围绕这三点做文章。
2. 接手一台“带病运行”的炉子:先把问题定位到根上
2.1 现场症状清单:电流不稳、真空跳变、偶发假跳闸
改造前的老系统已经让操作班组怨声载道。我进现场蹲了三天,把症状记在笔记本上,汇总起来大概是这些:
- 熔炼电流实际值在设定值上下大幅波动,波动范围经常超过±15%,操作员只能手动频繁干预。
- 电极升降电机频繁正反转,减速箱发出“哐当哐当”的声音,伺服/变频报警时有发生。
- 真空度显示跳动,机械泵、罗茨泵靠人工启停,抽空时间忽长忽短。
- 冷却水压力偶尔报“低压”,但现场检查又没发现真正断水。
- 最诡异的是偶尔会“假跳闸”:控制系统无征兆地跳到停机状态,复位之后又能启动,厂家一直查不出原因。
2.2 排除法排查:从传感器一路查到执行机构
我习惯的做法是先不碰程序,把所有信号回路当电路来测。第一步,用万用表和手持记录仪在端子箱同时测电流变送器的输出,发现即使把PLC程序里的PID切到手动,变送器输出自身就有±5%左右的波动。这说明问题从源头就存在。
第二步查信号电缆走向。果然,4-20mA信号线和几根大电流电缆在同一条桥架里走了将近三十米,而且屏蔽层在PLC柜和设备端两端都接地了。这种“两端接地”在存在地电位差的地方,会形成地环路,屏蔽层里反而会感应出电流,把有效信号淹没掉。我把屏蔽层改成PLC柜单端接地,又给所有模拟量通道加了信号隔离器,跳变幅度立刻小了一半。
第三步查执行机构。老系统用的是变频器带普通三相异步电机,再通过蜗轮蜗杆减速箱驱动电极升降。这种组合的死区大、惯性大,变频器加减速时间又设成2秒,整个执行环节的纯滞后时间太长。原程序里的PID参数是按“理想执行机构”调出来的,现实根本跟不上。
第四步查电源和真空计。PLC电源模块和接触器线圈共用一个开关电源,接触器吸合瞬间电压跌落,导致PLC时不时重启或者程序跑飞,这就是“假跳闸”的根源。真空计跳动则是信号屏蔽问题和安装位置气流扰动叠加造成的。
2.3 根因结论:不是PID参数不行,而是闭环的三个环节都有短板
如果你看过热词“plc温度pid波动温差大如何调节”,大概会理解一个道理:PID参数只是在“传感器-控制器-执行器”这个闭环里的最后一个优化项。如果传感器信号脏、执行机构响应慢、控制周期长,那无论如何调PID都不可能稳。
这台炉子就是这样:采样环节有地环路干扰,执行环节有机械滞后,控制器扫描周期还偏慢,老PLC的模拟量滤波参数又被设成0.05秒,等于把噪声全部放进了调节回路。所以我的判断很明确:要做“更优控制方案”,不是把老程序拿过来改个PID就完事,而是要从传感器、执行机构、控制器三个层面同时动刀。
3. 更优控制方案的整体思路:硬件选型与分层控制设计
3.1 为什么选PLC加远程IO,而不是仪表单回路或大型DCS
改造前也有人提过方案:买几个高精度PID调节器,把电流、真空度、温差这几个回路分开控。这种仪表单回路方案价格不高,但有一个致命问题:它做不了阶段状态切换,也做不了复杂的联锁和顺序逻辑。真空自耗炉一个熔炼周期要经历抽空、起弧、熔炼、热封顶、冷却、破空这一整套状态,每个状态的设定值和调节策略都不一样,仪表单回路根本扛不住。
大型DCS也能做,但成本高、配置重,对于这种非标的热工设备有点杀鸡用牛刀。PLC做主站加远程IO是最合适的:主站放在电气室,远程IO站布置在炉体旁边,信号电缆缩短,抗干扰能力反而更强。通信方面,主站和远程IO之间用PROFINET或Modbus TCP都行,前提是选型时确认好通信周期,最好小于50毫秒。
这里放一张我当时做的选型对比表,仅供参考:
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 仪表单回路 | 价格低、维护简单 | 无逻辑联锁、无状态切换、数据记录弱 | 简单单点温度/压力控制 |
| 小型PLC+远程IO | 灵活性高、逻辑强、可与触摸屏/DCS联网 | 需要一定编程能力 | 非标设备、中小型热工设备 |
| 大型DCS | 可靠性高、扩展性好 | 成本高、组态复杂 | 全厂级大系统、连续化工流程 |
最终我选的是西门子S7-1200做主站,远程IO用ET200SP,触摸屏用两台国产以太网屏分别放在操作室和电气室。这里有个小经验:一个PLC完全可以接两个或者更多触摸屏,只要给每台屏分配不同IP,组态里连同一个PLC就行。后面“两屏不同步”的问题,多半出在屏的刷新周期设置太慢,而不是PLC不支持。
3.2 控制系统分层:逻辑层、调节层、保护层各干各的
整体架构我按四层设计,写程序时思路会清晰很多。
第一层是逻辑层,负责整个熔炼过程的状态机管理。我在PLC里用一个枚举型变量表示当前状态,比如“待机”“抽空”“起弧”“熔炼”“热封顶”“冷却”“破空”。状态之间的切换条件全部集中在一个函数块里,不赞成用一大堆置位复位M点去堆逻辑,那是老式梯形图最容易把自己绕晕的写法。
第二层是调节层,主要负责三个回路:熔炼电流PID调节、真空度自动控制、冷却水温差控制。每个回路独立成功能块,设置自动/手动无扰切换。这一层讲究的是响应快、稳态准,后面专门讲。
第三层是保护层,由PLC软保护和电气硬联锁共同组成。软保护负责分级报警和顺序停机,硬联锁负责紧急切断。编程时我坚持一条原则:保护逻辑用的是“故障触发”而不是“正常触点保持”,这样断线、掉电故障时系统会自动进入安全侧。
第四层是上位机层,包括触摸屏、WinCC/IPC和数据库。触摸屏负责现场操作和实时状态显示,上位机负责历史曲线、报表和和中控室DCS的通信。DCS那边需要的熔炼电流、真空度、水温差、报警状态,我用Modbus TCP和OPC UA各做了冗余转发通道。
3.3 供电、接地和信号隔离:这部分做好了,后面会省很多麻烦
这次改造我把供电彻底分开了:
- PLC、触摸屏、通信模块、变送器统一接到在线式UPS,保证电网晃动时控制系统不掉电。
- 伺服驱动器、变频器、接触器线圈的电源单独从动力母线取,不和PLC共用一个开关电源。
- 远程IO站的24V电源在炉旁单独做隔离供电,防止长距离压降带来不可预知的逻辑误判。
信号处理方面,所有4-20mA模拟量都经过隔离变送器再进PLC。信号线采用屏蔽双绞线,屏蔽层只在PLC柜侧单端接地。电缆桥架内,我把模拟量信号、通信网线、动力电缆分槽走,实在绕不开的地方也保证至少300mm的间距。
IO点表我当时粗算过:DI大概80点,DO约50点,AI约24点,AO约8点。这些点主要分布在炉体、真空泵组、冷却水系统、电气室四处,用3个远程IO站就能覆盖。远程IO站就地安装有一个额外好处:炉旁传感器到IO站的信号线很短,干扰源减少,排查故障时也容易定位。
4. 熔炼电流稳定性的硬骨头:PID整定与扰动补偿
4.1 为什么会出现“PID波动温差大”:几个常见成因拆解
很多做PLC的人都会搜“温度PID波动温差大如何调节”,其实这个问题和电流控制的逻辑完全一样。我把在现场遇到的波动现象拆开看,无非就几个原因。
第一个原因是比例带过窄。P太大,电极对电流偏差的反应过于敏感,偏差稍微大一点就猛升猛降,系统呈现等幅振荡。第二个原因是积分时间太短。积分作用太强,会在偏差消除之后继续“顶”一段,造成周期性过冲,宏观上就是温度或者电流在大范围内慢节拍摆动。第三个原因是微分用过头了。电弧电流信号噪声本来就大,微分项会把尖峰放大,让执行机构抖动得更厉害。第四个原因是采样周期和执行机构滞后不匹配。比如反馈滤波时间设成0.05秒,采样周期0.1秒,执行机构响应却要2秒,那系统就是在“用快速噪声驱动慢速机械”,不震荡才怪。
还有一个非常容易被忽略的原因:量程选太大。原来用的电流变送器量程是0-50kA,实际熔炼电流只有8kA,模拟量模块的分辨率被白白浪费,一个LSB的跳变就有几十安培。后来我把变送器量程改成0-15kA后,光这一个动作就明显感觉波动小了很多。
4.2 现场整定步骤:从临界比例度法开始,再按实际情况微调
在传感器和执行机构改造完成、炉子能稳定起弧之后,我开始做PID整定。步骤不需要很玄学,就是经典的“临界比例度法”加现场微调。
- 先把PID设成纯比例模式:积分关闭,微分关闭,P从比较小的值开始,比如2。
- 操作员把电流设定在一个常用熔炼值,比如8kA。手动工况下让电流稳定,然后切自动。
- 逐步加大P,观察电流趋势曲线。当电流刚好出现等幅振荡时,记下此时的比例增益Pc和振荡周期Tc。我这次记录到的Pc约为16,Tc约为6.8秒。
- 按PI参数的经验公式,P可取0.45倍的Pc,约7.2;积分时间Ti取0.83倍的Tc,约5.6秒。因为在炉子这样信号噪声大的场合,我选择不带微分。
- 现场微调:先试P=7.2, Ti=5.6,发现电流从8kA升到设定值的时间还是有点慢,后面把P适当加到8,把Ti缩短到4.5秒,同时给电流反馈加了一阶滤波,滤波时间常数0.3秒。
整定前后的关键参数对比:
| 参数 | 改造前 | 改造后 |
|---|---|---|
| 比例增益P | 12 | 8 |
| 积分时间Ti | 0.5分钟 | 0.45分钟(约4.5秒) |
| 电流反馈滤波时间 | 0.05秒 | 0.3秒 |
| 控制回路采样周期 | 100ms | 150ms |
| 电极执行机构响应时间 | 约2秒 | 约0.15秒 |
这里有一个经验要特别说:PID只是最后那1%的优化,真正让波形稳下来的是执行机构响应速度。我们把老变频器换成伺服系统之后,同样的P和I,电流波动就从±15%降到了±5%左右,剩下的5%才轮到PID去压。
4.3 电极升降执行机构改造与变频器通信
电极升降机构这次换成了交流伺服加滚珠丝杠。伺服驱动器选的汇川和台达各一台,一个做主驱动,一个做备件。伺服的最大好处是加减速时间可以设到0.1秒以内,位置重复精度高,还能直接给PLC回传位置和转矩。
如果项目预算有限,坚持用变频器加异步电机也完全可以,但建议选带矢量控制或者转矩控制功能的型号。比如现场有一台冷却泵用的ABB ACS580变频器,后来我也顺手做了和PLC的Modbus RTU通信。西门子S7-200 SMART作为子站,通过Modbus RTU控制ABB变频器的启停和频率给定。通信参数上,波特率9600,8个数据位,无校验,1个停止位,变频器末端并了120欧终端电阻。
需要注意的是,ABB变频器的Modbus寄存器和控制字映射在不同固件版本里略有差异,改程序前必须先读对应版本的“过程数据映射”手册。我记得当时控制命令寄存器地址是40006,状态字是40005,频率给定是40008,但同一台机器换固件升级后地址曾经偏移过,后来我们全部改用现场总线适配器才彻底省心。这一点给同行的建议是:如果项目周期紧,尽量避免直接用Modbus RTU控制变频器的转矩和高速响应,它的通信周期很难稳定在50ms以内,更适合水泵、风机这类慢对象。
电极升降的速度给定,我在PLC里的逻辑大致是这样:
- 电流偏差绝对值大于20kA(限制条件下)时,说明电弧状态异常,电极先快速退回安全位。
- 正常调节时,伺服速度给定 = 比例项 + 积分项,且限幅在额定速度的20%以内。
- 熔炼阶段进入中后期,熔池液面上升,程序叠加一个缓慢的位置跟踪速度。
这一段逻辑不算复杂,但因为没有用PID通用指令块代替人工状态判断,整个熔炼过程的曲线明显平滑了很多。
5. 真空系统与冷却水监控的细节:模拟量抗干扰与联锁设计
5.1 真空计信号处理和泵组自动顺序控制
真空度控制听起来简单,实际上泵组顺序、阀门互锁、信号换算都有讲究。这次项目用了三种真空计:低真空段用皮拉尼规,中真空段用热阴极电离规,高真空段用冷阴极规。它们的量程和输出特性完全不同,我在PLC里做了分段线性换算,不同真空计的数值先转成统一单位Pa,再做后续逻辑判断,避免直接在模拟量原始值上比较。
泵组顺序我设计成这样的状态链:先开机械泵抽低真空,当前级压力降到5Pa以下才允许开罗茨泵;罗茨泵运行一段时间,压力降到0.1Pa以下才能开扩散泵或者分子泵;分子泵达到正常工作转速且高真空数值进入熔炼允许范围,系统才允许进入起弧状态。
这个顺序逻辑里有几个容易被忽略的细节:开分子泵之前要确认前级阀已经打开,否则分子泵入口压力过高会过载报警;停泵顺序和开泵相反,先关高真空阀,再停分子泵,最后停前级泵;泵组故障信号要做半秒左右的延时确认,避免启动瞬间电流冲击引起的误报警。
5.2 冷却水“软硬结合”的温差联锁
冷却水系统包括结晶器、电极杆密封、炉体夹套、电缆水路好几路。每路都装了流量开关、压力变送器和进出水温度变送器。PLC侧我重点看的是“温差”,不是只看进水压力。因为如果某一路水路堵了,进水压力可能并没有明显下降,但回水温度和进水温度的差会迅速拉大。
我设了三档逻辑:
- 温差超过6℃时,画面弹黄色预报警,提醒操作员检查流量。
- 温差超过8℃时,PLC发出停机请求,进入正常的“升电极-降电流-停加热”顺序。
- 硬联锁方面,每路流量开关的常开触点串联进高压电源合闸回路,任何一路流量低于下限,高压电源直接断开,不经过PLC。
选型时我用的是三线制流量开关加4-20mA压力变送器,信号全部过隔离栅。这里有个经验:PLC模拟量模块要做断线检测。4-20mA回路一旦断线,输入信号会掉到0mA或者满量程,如果程序里没有断线检测,会把断线误判成温度过低或者压力过低,引发错误联锁。我在每个AI通道上都做了小于3mA或大于20.5mA的报警判断,并且这个报警会直接闭锁熔炼允许条件。
5.3 上位机组态、双屏操作与DCS通信
上位机这块,触摸屏我用了两台国产以太网屏,一台在操作室,一台在电气室,都通过以太网连到S7-1200。组态时最重要的一个坑是:博途里PLC默认启用“优化块访问”,老款或部分第三方触摸屏的S7驱动不支持优化块访问,结果就是屏幕永远显示“通信失败”或者“对方无响应”。解决方案是在PLC属性里取消“优化块访问”,或者显式勾选“允许来自远程对象的PUT/GET通信访问”。变量表里还要注意S7数据块的字节顺序,不少通信异常的根因只是高低字节写反了。
历史趋势和数据追溯方面,我们在上位机里建了一个本地SQL数据库,每2秒存一条熔炼数据,包括熔炼电流、弧压、真空度、电极位置、各路水温和流量。熔炼结束后自动生成一份批次报表,包含起弧时间、熔炼周期、电量累计、报警列表。这个功能对工艺人员特别有用,他们可以根据曲线判断下一炉的电极对中、冷却强度该怎么调,不再像以前靠“手感”。
中控室DCS要从炉子取数,我用了一块专用的Modbus TCP从站模块,把最重要的50个参数映射成一个连续寄存器区。之所以用单独模块,是不想占用PLC主CPU的通信资源,也方便DCS那边做点表隔离。后来调试DCS通信时发现,两边定义的寄存器地址偏移一位,导致电流和真空度对调,这种低级错误最好在联调前先打印一份点表,手把手核对。
6. 调试阶段踩过的坑:通信不上、找不到CPU、伺服不动
6.1 “博途PLC与模拟屏不兼容”的完整排查
项目后期遇到一个典型问题:博途V16组态的S7-1200,通过以太网连接一台老型号模拟屏,怎么都连不上。程序下载到PLC没问题,触摸屏IP也能ping通,但屏上状态一直显示“无响应”。
我把问题分成几步排查。第一步,确认触摸屏选的驱动类型是“S7-1200”而不是“S7-300/400”,老款模拟屏的内部驱动库不一定支持S7-1200。第二步,确认机架号和槽号设置是否为0和1,有的屏默认是0和0,会找不到CPU。第三步,在PLC侧,因为博途默认启用了“优化块访问”,第三方屏根本无法访问DB里的变量,必须把对应DB的“优化块访问”属性取消,并在CPU属性的连接机制里勾选“允许来自远程对象的PUT/GET通信访问”。
还有更稳妥的办法:如果模拟屏确实太老,干脆加一个以太网转Modbus RTU/TCP网关,让触摸屏直连网关,用Modbus方式读写PLC映射寄存器。虽然多一个设备,但通信兼容性问题基本能绝迹。这个方案后来我们留给了另一个分厂的小炉子用,效果很稳。
6.2 搜索找不到CPU、程序上下载失败的几类原因
调试时用STEP 7 Micro/WIN SMART连接S7-200 SMART,出现过“搜索找不到CPU,通过添加IP地址才能连接上”的现象。这不是PLC坏了,常见原因有三个:
- 电脑装了多块网卡,包括无线网卡、虚拟网卡,Micro/WIN SMART的搜索广播从错误的网卡发出去了。
- Windows防火墙拦截了PLC的发现协议。
- PLC和电脑不在同一网段,或者网线用了交叉线但交换机不支持自动翻转。
我的解决办法是:只保留有线网卡作为编程网卡,把其余网卡禁用;电脑IP手动设定成和PLC同一网段,比如PLC是192.168.0.10,电脑就设成192.168.0.5;防火墙临时关闭;实在不行再用“添加IP地址”直连。
台达PLC上传下载程序看起来简单,也踩过坑。老款DVP系列PLC在RUN状态下不一定能完整上传,需要先把运行开关拨到STOP再读取。电脑端要装原厂的编程电缆驱动,通信口的COM号要确认,波特率要和PLC的通信格式一致,DVP默认可能和软件默认值不同。最坑的是有人拿USB转串口线但没装驱动,现象就是“连接超时”,其实串口根本没被识别。
6.3 伺服电机不动作:使能、抱闸、急停回路逐一排查
电极升降伺服上电后,程序里已经给了速度给定,数字量输出点也有信号,但电机就是不动。这是现场调试最常见的故障之一。我一般按顺序查:先看伺服驱动器面板有没有报警代码;再看使能信号有没有送到伺服控制端子;再看抱闸;最后看急停回路。
这次的问题是使能信号没送到,因为使能继电器线圈串在了一个急停回路里,而其中一个放在炉旁的急停按钮被误碰过之后没有复位。急停按钮的常闭触点如果不复位,整个使能回路就一直断开。换上新的带有LED指示的急停按钮后,至少这类问题不会再让人拿着万用表满柜子乱捅。
抱闸是另一个隐蔽点。很多伺服电机带电磁抱闸,抱闸控制信号默认是“抱闸释放”需要单独给24V。如果程序里没有把抱闸输出和速度给定同步,可能出现“给定在上,抱闸没开”或者“停止后抱闸没关紧”的情况。我们在程序里做了联动:速度给定绝对值大于0.1%时,先延迟50ms开抱闸;速度降到0且伺服使能保持时,延迟100ms关闭抱闸。这个延时就是为了让电机先建立力矩再松闸,避免溜车。
还有一个容易被忽略的是伺服驱动器的“内部使能”参数。汇川、台达这类驱动器,如果参数设置了内部使能或者脉冲方向模式不对,外部端子即使给上信号也没有用。我习惯在调试前先把伺服参数导出一份备份,改乱了还能恢复。
6.4 备选方案观察:倍福PLC和第三方伺服驱动器的配合
备选方案里我曾经考虑过倍福CX系列加第三方伺服驱动器,因为Twincat3的软件功能很强,位置规划和电子凸轮做起来比传统PLC灵活。但最终没有用于主控,原因有两个:第一,真空自耗炉现场电磁干扰强,EtherCAT对屏蔽和拓扑的要求较高,一旦通信断帧,伺服会瞬间停止,这对电弧控制是致命的;第二,甲方维护团队对传统PLC更熟,用倍福意味着整个设备生命周期内的技术支持压力会转移到我们这边。
如果你一定要用Twincat3配第三方伺服,务必提前确认驱动器的XML设备描述文件是否和Twincat版本匹配,并且把EtherCAT从站的同步周期和分布时钟设置好。不然很容易出现“电机能动但跟随误差不断累积”的怪问题。这类方案更适合对柔性运动控制要求很高的设备,不太适合这种强干扰、高可靠性的热工环境。
7. 改造后的实测效果与三条值得保留的经验
改造完成后,我们又跟踪了两个完整的熔炼周期。效果比预想的还要好一些:
| 指标 | 改造前 | 改造后 |
|---|---|---|
| 熔炼电流稳态波动 | ±15%以上 | ±3%以内 |
| 电极升降机构报警次数/熔炼周期 | 10次以上 | 0次 |
| 真空泵组自动抽空时间波动 | 人工控制,波动很大 | 波动在±5分钟以内 |
| 误报警次数/熔炼周期 | 20次左右 | 2次以内 |
| 历史数据完整性 | 无 | 完整记录每2秒一组数据 |
这个结果说明:往PLC里写程序其实是项目里最简单的一步,真正决定成败的是有没有把传感器干扰、执行机构响应、供电可靠性这些“脏活累活”处理好。
如果说要留三条经验给后来的人,我会这样排:
第一,调试任何PID回路前,先用开环方式检查每一个信号和每一个执行机构。信号不干净就花时间清理信号,执行机构跟不上就换执行机构,千万不要一上来就在程序里调参数,那是用软件给硬件缺陷“擦屁股”,擦不干净的。
第二,安全联锁必须做硬线冗余。PLC程序可以写得再完美,也别让它单独承担设备安全责任。流量开关、急停按钮、热继电器该串进硬回路就串进去,这套东西是给PLC“兜底”的。
第三,程序结构一定要用“状态机”的思路。真空自耗炉这种设备,一个熔炼周期要切换好几种工艺阶段,如果逻辑层是用几十个M点置位复位拼出来的,后期维护人员根本看不懂,试错成本极高。把状态切换条件集中管理、给每个状态打时间戳,出了故障顺着状态列表一看就能定位。
其实这项目做完之后,我们还在考虑往后把熔炼电流的扰动前馈加进去,甚至尝试用电极位置、弧压、熔池液位这些间接信号做更精细的烧损补偿。方向是有的,但每次改动前我都提醒自己:先把现场的信号问题处理好,再来谈那些花哨的控制算法。