去年接了一个动力电池产线涂布机改造的活,甲方点名要把原来的浆料输送控制系统换成西门子S7-1200。说实话,做过不少设备电气项目,但涂布机浆料这块第一次上手时还是踩了一些坑。后来项目交付完回头看,这套系统的技术含量不在写梯形图,而在对工艺的把握——浆料送不稳,涂布出来就是整卷废品。这篇就当是自己经验的整理,把S7-1200在电池涂布机浆料输送系统里的硬件配置、学习要点和现场调试心得都捋一遍,给正准备做同类项目的朋友做个参考。
1. 这个项目到底在做什么
1.1 浆料输送系统在涂布机里的角色
锂电池电芯生产流程中,涂布工序排在配料之后:搅拌好的正极浆料或负极浆料,通过输送系统稳定送往涂布头,均匀涂覆在铝箔或铜箔表面。浆料的输送量看似简单,实际上直接决定涂布面密度一致性。面密度波动大了,同一卷极片两头的容量就有差异,后面做成电池,性能自然参差不齐。
浆料输送系统本身不复杂:供料泵从浆料桶抽料,经过过滤器、稳压罐、管路送到涂布头,多余部分通过回流管路循环回桶。但浆料这东西跟水不一样,粘度高、密度大、还容易沉淀,输送过程既要克服管路阻力,又得保持流量和压力平稳。正极浆料和负极浆料的流变特性差别很大,换配方时如果不调整输送参数,涂布断断续续,废品率直接飙升。
所以这个控制系统要解决的真正问题,是“怎么把高粘度流体稳定、按需、可重复地送到涂布头”。这也是为什么甲方会专门上一套PLC控制来管这件事,而不是简单用一台泵开到固定转速。
1.2 为什么选S7-1200而不是更大的系统
涂布机整机控制可能是一套大型控制系统,但浆料输送作为一个独立功能站,规模不算大,十几路开关量加几路模拟量就能覆盖。用更大更强的PLC属于浪费,用智能仪表又凑不出完整的联锁逻辑,S7-1200正好卡在这个区间。
S7-1200有几个特点对这个项目特别合适:一是集成以太网接口,PROFINET天生支持,和触摸屏或者上位机通信非常顺;二是模拟量扩展模块比较丰富,AI/AO都有现成型号;三是自带PID_Compact工艺指令,闭环控制不用自己写复杂算法;四是体积小,可以装进不占地方的独立控制柜。相比之下,国产小型PLC在某些场景价格更低,但PID和配方管理用起来没那么顺手;老一代中型PLC虽然稳定,但新项目里已经不太划算。
1.3 系统拓扑和基本IO框架
我们这套系统最后做到了独立电控柜:柜内是S7-1200 CPU、扩展模块、开关电源和继电器;柜面装了触摸屏;柜外是变频器、供料泵、各类传感器和阀门。PLC通过模拟量输出给变频器送一个4-20mA的频率给定,变频器驱动螺杆泵电机;流量计和压力变送器把实测值送回PLC的AI通道;泵的启停、阀门开关、急停和报警灯则走DI/DO。
IO点数最后是这样规划的,可以给后来人做个参考:
| 信号类型 | 点位数量 | 主要用途 |
|---|---|---|
| DI | 约12点 | 急停状态、泵反馈、液位开关、阀门开到位、过滤器压差开关 |
| DO | 约10点 | 泵启停、清洗阀、回流阀、报警灯、蜂鸣器 |
| AI | 4-6路 | 流量计、压力变送器、压差变送器、温度 |
| AO | 1-2路 | 变频器频率给定(4-20mA) |
我特意预留了备用点。这是现场经验:任何新设备一开始总会冒出几个现场才发现的信号需求,没有备用通道的时候,改硬件能让人跑断腿。
2. S7-1200硬件配置与选型细节
2.1 CPU选型怎么定
S7-1200的CPU选项里,1214C和1215C是这一类项目最常见的两个选择。拿1214C DC/DC/DC说,本体带14点数字量输入、10点数字量输出,还集成2路模拟量输入,但集成的AI只有0-10V,没有4-20mA电流信号。而浆料输送系统里的传感器绝大多数都是4-20mA两线制,所以本体自带的AI基本用不上,要么加SM1231模拟量输入模块,要么直接用1215C再配模块。
1215C相比1214C多出的主要资源是2路集成模拟量输出、更大的存储区和更快的处理速度。因为我们要用模拟量输出给变频器,选1215C可以省一个SM1232,但实际选型时我把AI和AO统一走扩展模块,这样通道类型更规范,维修更换也方便。最终方案用了1214C加SM1231 AI 8x13位和SM1232 AQ 2x16位,IO容量富裕,备用通道充足。
| CPU型号 | 集成DI/DO | 集成AI/AO | 程序存储 | 适用场景 |
|---|---|---|---|---|
| 1212C | 8DI/6DO | 2AI/0AO | 50KB | IO较少的小装置 |
| 1214C | 14DI/10DO | 2AI/0AO | 100KB | 中小型设备,本案例就是这种 |
| 1215C | 14DI/10DO | 2AI/2AO | 125KB | 需要本体AO的小系统 |
如果现场有大量伺服轴控制需求,那就得考虑1215C加更多通信模块,甚至用更高级别控制器。但浆料输送只有一个变频器,1214C足够,剩下的预算花在好的滤波和供电上更值。
2.2 模拟量扩展模块选择的几个细节
SM1231模拟量输入模块要留一个心眼:8通道的版本有13位分辨率,也有16位的。浆料流量计和压力变送器对精度要求不算苛刻,13位分辨率大概在0.05%左右,够用;但16位的信号稳定性会好一些,价格差距也不大。从实际使用感受来说,16位模块在信号跳变抑制上确实更明显,推荐一步到位。
模块量程要选4-20mA。很多人拿到模块默认是0-10V或正负10V,传感器信号进来后数值对不上,只需把量程配置改掉就好。接线时负端要共地,屏蔽层单端接地。还有一个常被忽略的点:两线制变送器需要外部提供24V电源,模块本身不供电。这个电源最好与PLC的IO电源分开,或者做好隔离,不然仪表多了容易串干扰。
2.3 泵、变频器与仪表的配合
浆料泵我们用了偏心螺杆泵。它跟离心泵不同,转速和流量基本线性,很适合变频调速,而且脉动小。泵的流量通过变频器来控制,频率信号从PLC的AO通道过来。变频器这里有两个选择:PROFINET通信给定,或者模拟量给定。我这次两种都做了,正常用模拟量,通信留着做参数和状态采集。现场测试时发现有些变频器模拟量端子漂移明显,把给定信号改用电流4-20mA而不是0-10V电压后,问题小很多,远距离传输尤其如此。
流量计选的是电磁流量计,要求浆料有一定电导率,正负极浆料基本满足。它输出的4-20mA接AI通道,精度0.5%,响应速度也够。如果预算和精度要求都高,可以考虑科氏质量流量计,直接测质量流量,抗气泡能力更强,但价格是电磁的数倍。压力变送器装在稳压罐前后,用来监测输送压力;过滤器前后建议加压差检测,差值大了说明滤芯堵塞,需要切换或清理。
2.4 供电和电气设计不容忽视
S7-1200本体和模块电源都来自开关电源,整柜24V负载包括PLC、触摸屏、传感器、中间继电器。核算总电流时别卡太死,留20%到30%余量。模拟量环节最忌讳和频繁动作的继电器共用一路电源,建议至少分两路:一路给PLC和HMI,一路给传感器,两路电源负极在配电柜内单点汇接。
急停回路不经过PLC,必须用硬接线切接触器,切断泵电机电源。这个原理不能省,PLC只能上报急停状态,不能依赖它去执行安全停车。动力线、变频器输出线和模拟量信号线要分开走线槽,屏蔽层按仪表规范在靠近柜内接地点做单端接地。这一点做不好,后面模拟量信号飘到你怀疑人生。
3. 浆料输送的工艺控制与PLC学习要点
3.1 恒流量控制方式更适合涂布
先结合工艺逻辑说一句:狭缝涂布过程中,真正影响涂布量的核心就是挤出流量,所以主控目标是保持流量恒定。压力只作为过程监测,比如稳压罐压力偏高说明管路堵塞或回流不畅,偏低可能供料不足。整套系统基本按“流量为主、压力为辅”的思路来处理。
流量闭环控制在PLC上就是:流量计实测值作为反馈,目标流量来自触摸屏或配方,PLC输出频率给定送给变频器。如果只用恒压力控制,涂布头流量可能受背压影响而波动,反而不稳。但要注意,有些系统在改涂布速度时希望流量跟随变化,这时要引入跟随系数或串级结构,让流量设定值跟随线速度变化,这属于进阶玩法,第一次做的话先把恒流量做好就已经解决了大部分问题。
3.2 手自动切换必须保证无扰
操作员在涂布机现场经常要手动干预输送系统。刚开始走料排气的时候,自动PID没法正常工作,必须先手动开泵把管路排空;清洗管路时,也要手动调节频率让溶剂在整个管路里循环;标定流量计时,还需要手动给定固定频率来对比流量。因此HMI上必须提供一个手动频率设定,PLC程序里要做一个“手动模式优先”的结构。
切换过程最容易出现的问题是手动切自动时PID输出直接跳变,泵突然提速或减速,把涂布头压力冲垮。解决办法是让PID在手动模式下持续跟踪当前AO输出值,也就是“手动跟踪”。在TIA的PID_Compact里,这个功能是现成的:ManualEnable置位后,内部ManualValue作为输出;切回自动时,积分项从当前输出值续起,基本无扰。如果自己写PID块,一定要做抗积分饱和和积分跟踪,这是新手最容易漏的。
3.3 PID参数整定:先从手动开环开始
很多人在闭环PID上一来就把比例积分参数按教科书给个大值,然后系统震荡得没法看。我的习惯是先用开环手动方式,固定一个频率跑起来,观察流量稳态值和响应延迟,把系统的静态特性摸清楚。比如手动给定20Hz,流量稳定在11.8L/min;给定22Hz,流量跑到13.5L/min,说明泵和管路在低转速区线性度还不错。
然后切到闭环,先把积分关掉,仅用比例逐步加大,观察流量有没有等幅振荡。出现振荡说明比例增益过大,回退30%左右;再逐步加积分,直到稳态误差被消除、调节时间在可接受范围。涂布浆料输送这种系统时间常数不大,采样周期用200到500毫秒足够。微分项我基本不开,浆料流量信号本身有一定噪声,开了微分反而容易放大抖动。
3.4 配方和参数存储别当小事
一台涂布机要做的产品不是单一的。正极浆料和负极浆料的粘度、固含量差异很大,涂布速度不同,输送流量设定也不同。如果每次换产品都靠操作员手输参数,既慢又容易错。我们的方案是在PLC里建一个数据块,用数组保存多组配方,每组包含流量设定、压力上限、清洗时长、PID参数等;HMI上做下拉选择配方号,按“加载”把配方值写入运行变量。
更关键的是掉电保持。S7-1200的数据块可以在属性里把特定变量设置成“保持”,掉电后保存在非易失区。配方号、累计产量、PID整定参数这些必须保持,否则断电重启后PID参数回到初始值,二次开车流量全乱了。我在现场试过,用TIA工程设置保持区时,注意要把数据块的“仅非保持”改成“保持”,并且只有在做“完全下载”时保持区改动才生效,下载时选错了模式会把你配方清掉。
3.5 报警联锁和安全逻辑
浆料输送看起来只是泵和阀门,但联锁条件其实不少:浆料桶液位过低不能启泵,防止泵空转损坏;管路出口压力超过上限立即降频或停泵,防止爆管;过滤器压差过高报警提示清洗;涂布头阀门未开启时泵不能启动。这些联锁要全部放在PLC里,而且每条联锁要有对应的报警文本,方便现场判断。
报警等级建议分两层:普通报警,蜂鸣灯亮但不停机;联锁报警,直接停泵或切安全阀。急停由硬回路实现,PLC只负责上报状态;但是安全停止类的软联锁,比如堵料、超压,PLC要能在100毫秒级别内关断输出。S7-1200扫描周期很快,塞一个循环中断来读关键DI和输出安全信号,效果不错。
3.6 清洗与置换逻辑别低估
涂布机每次停机换配方或者下班清洗,都要用溶剂把管路里的残料置换出来,再吹扫干净。这套逻辑看起来就是几个阀门的时序动作,但实际调试时最容易出麻烦:清洗时流量计读数不准,因为溶剂和浆料密度差太多;压力变化剧烈;泵容易出现气蚀。我们后来把清洗模式单独做了个状态机,按“置换-冲洗-吹扫-待机”顺序执行,每步有超时保护,清洗泵频率也单独可调。
3.7 与上位机的数据接口
这套系统在整条产线上还要向上汇报数据:累计供浆量、泵运行时间、报警记录、当前配方。如果产线上位机需要,可以用PROFINET的S7通信协议直接读写DB区,也可以让S7-1200做Modbus TCP服务器,上位机轮询读数据。对于老线改造,Modbus TCP更通用;新线如果全是同一套生态,直接用S7通信更简单。
4. 从组态到调试的实操细节
4.1 工程环境和版本匹配
S7-1200的程序在TIA Portal里做,我用的是V16,CPU固件版本V4.4。这里提醒一句,TIA版本和固件版本必须匹配,低版本TIA打开高版本固件的PLC会很痛苦。下载前先检查版本属性,必要时升级固件。项目建好之后,第一步加设备,第二步设IP地址。我一直习惯用固定的内网网段,比如192.168.0.100给PLC,192.168.0.110给HMI,IP规划写在调试手册第一页,后期谁都会感谢这个好习惯。
4.2 模拟量输入工程量换算
S7-1200的AI原始值是0到27648,对应0到20mA;配置成4-20mA后,低端值不是0,但很多模块在NORM_X归一化时仍然用0到27648整段,最后显示流量不准,校准半天才发现是这里出了问题。换算工程量时推荐用NORM_X和SCALE_X组合,先把原始值归一化,再映射到工程量范围。
我在FC里是这样写的:
#raw := "AI_流量计".Value; #norm := NORM_X(MIN := 0.0, VALUE := #raw, MAX := 27648.0); #flow := SCALE_X(MIN := 0.0, VALUE := #norm, MAX := 30.0); // 量程按30 L/min这里MIN和MAX的数值要与模块通道实际配置的量程对应。如果模块通道配置成了4-20mA,原始值下限就不是0,但很多人没用过就容易想当然。这一条值得记住。
4.3 连线与上电检查
硬件安装时,我先做一件事:把柜内所有端子用笔标记好编号,再拍照存档。上电前检查清单包括:24V正负极有没有接反;模拟量线屏蔽层是否接了柜内接地排;变频器输出线有没有和信号线同槽走;急停回路能否切断接触器;PLC网线有没有插错。这套检查花不了20分钟,但能省下后面一整天的排查时间。
我记得有一次调试,AI通道一直显示一个异常值,查半天发现是现场传感器供电的正负极接反了,变送器输出不了4-20mA。这种低级错误非常普遍,排查顺序永远是先查硬件再查程序,别一看AI值不对就怀疑PID逻辑。
4.4 单动、联动与带料调试顺序
我的调试顺序固定是:单动、联动、空载、带料。
- 单动:HMI上逐个测试泵启停、阀门开关、报警灯,确认每个DO对应的现场设备动作正确。
- 联动:不启动泵,先把联锁条件模拟触发一遍,看PLC输出是不是按逻辑动作,报警文本能不能正常显示。
- 空载:管路里没有浆料,只跑溶剂或水,验证流量计、压力表数值是否合理,PID能不能在小流量下稳定控制。
- 带料:用真实浆料跑,确认流量、压力与配方设定匹配,再测试连续运行稳定性。
空载这步很重要,但很多项目为了赶进度跳过,直接带料调PID。结果是料浆一旦灌进管路,粘度一变,之前设的参数全都不对,还得停机清洗重新来。我宁可空载多花半天,也不带料做试验。
4.5 一次实际的PID参数整定记录
这个系统的实际参数记录如下,方便有同样设备的同行对照。泵额定流量30L/min,管路总长约15米,稳压罐2L,电磁流量计量程0到30L/min,变频器通过4-20mA给定。
| 阶段 | 操作 | 现象 | 结论 |
|---|---|---|---|
| 开环20Hz | 流量稳定在11.8L/min | 响应平滑 | 泵线性度可接受 |
| 闭环P=2.0,无积分 | 设定15L/min,流量上下振荡约1.8L/min | 等幅振荡明显 | 比例增益过大 |
| 闭环P=1.0,无积分 | 振荡减弱但稳态偏差约0.6L/min | 有余差 | 需要加积分 |
| 闭环P=1.0,Ti=20s | 稳态偏差0.1L/min,调节时间约15秒 | 基本满足工艺 | 保留该组参数 |
最后我把PID参数分正负极浆料各存了一组:正极浆料粘度高,比例增益稍大;负极浆料密度高,比例增益稍小。直接存在配方表里,切换产品时一键调用,效果不错。
5. 常见问题与排查技巧实录
5.1 AI值乱跳或者固定在某一个值
模拟量问题是这类项目最常见故障。AI值固定在某个异常值,通常表示断线或模块通道故障,先检查接线和传感器供电。AI值跳变很大,先看信号线和动力线是否近距离平行,再看屏蔽层是否单端可靠接地,最后通过更换模块通道做交叉验证。电流信号比电压信号抗干扰强,新项目建议一律用4-20mA。
5.2 PID输出看着正常但流量实际不稳定
有时候PLC内PID数值看起来正常,实际流量还是波动,原因可能不在PID,而在机械和管路。比如泵入口管路漏气,泵抽空导致流量计读数脉动;过滤器和回流阀配合不佳,背压波动。先做机械检查,再用软件诊断。PID输出频繁加减速对螺杆泵寿命也不好,可以加输出限幅和变化率限制,让频率平缓变化。
5.3 触摸屏时不时通信中断
S7-1200和触摸屏走PROFINET时出现断连,多数时候不是PLC死机,而是网络问题:现场不止一台设备,IP地址冲突或交换机配置问题很容易发生。排查法:检查PLC在线诊断里的通信状态,给PLC和HMI设独立静态IP,防止柜内变频器的高频干扰影响网线。如果PLC长期高频刷新大量HMI数据,可以改成周期事件,避免每个扫描周期都刷新大量画面数据。
5.4 断电重启后配方参数丢失
遇到过好几次重启后流量设定恢复初始值的案例。S7-1200的数据块默认可能不保持,要在数据块属性里勾选“保持”,并且做一次“完全下载”让保持区设置生效。还要注意,在线修改值的时候要确认写入的是保持性变量,否则只改了RAM,掉电后没写回保持区域。这个坑比较隐蔽,我吃过亏。
5.5 故障排查速查表
| 现象 | 大概率原因 | 处理手段 |
|---|---|---|
| AI通道显示断线值 | 断线或模块掉站 | 检查接线、传感器供电、模块诊断 |
| 流量波动超过2% | 管路气锁或泵空吸 | 排气、检查泵入口过滤网 |
| PID输出震荡不停 | 比例增益过大或反馈含噪声 | 减小比例增益、增大采样周期、关闭微分 |
| 触摸屏间歇通信失败 | IP冲突或网线质量问题 | 固定IP、换工业网线、检查交换机 |
| 断电后配方丢失 | 数据块保持性未设 | 设置保持属性并完全下载 |
| 泵启动后过载跳停 | 变频器加速时间太短或憋泵 | 延长加速时间、检查出口阀开度 |
除了上面这些,调试中还有一个值得养成的习惯:把关键中间变量,比如PID手动跟踪值、联锁状态,全部放到HMI监控画面里。这样可以减少反复改程序下载的时间,现场排障时也直观得多。
做完这个项目再回头看,这套S7-1200浆料输送系统的技术门槛其实不算特别高,真正的门槛在于对涂布工艺和浆料特性的理解。硬件配置只要按IO清单一个个落实就不会差太多,程序框架搭好之后更多是参数的打磨。我个人最大的体会是:一定要把手动模式的优先级和无扰切换设计好,现场操作员用得不顺手,逻辑编得再漂亮也没用;另外配方和保持区这些细节,测试阶段就要验证到位,别等到产线开机了才发现断电丢参数。后面如果再碰到浆料输送自动清洗或者与MES对接的扩展需求,拿这套逻辑当起点去改,会省不少事。