去年我在一条软包电池中试线上调试一套全自动二封机,控制器用的是欧姆龙NJ系列,配合EtherCAT总线伺服和远程IO,前后折腾了将近两个月。设备本身不算复杂,真正难的是把真空、温度、压力和运动控制塞进同一个工艺节拍里,还要保证每只电池的数据都能追溯。这篇文章我就从控制系统设计的角度,把这个项目里比较关键的东西捋一遍,包括工艺逻辑、硬件选型、运动程序怎么写、真空和温度怎么调、以及现场调试时踩过的几个坑。如果你正在做锂电设备,或者准备用NJ/NX系列做类似的定制单机,应该能少走不少弯路。
1. 二封到底在封什么——先把这个工序的逻辑吃透
1.1 整条产线里,二封机处在哪个环节
软包锂电池的生产流程大致是:配料涂布、卷绕或叠片、入壳封装(底封和侧封)、注液、静置、预封口、化成、二封、分容、出库。前几道工序里电池壳体并不是完全密封的,注液后要进行预封口,让电芯在化成时产生的气体有地方跑,同时防止电解液大量挥发。二封机就是在这个节点上接手:把预封口打开或者把气袋部分切开,在真空腔内把化成产生的气体抽走,再进行一次真正的热封,让电池彻底密封。
这道工序之所以叫“二封”而不是简单的“补封”,是因为它对环境的要求完全不同。普通热封在大气环境下做就可以,二封则必须在真空腔内完成。电池一旦失去真空环境,内部气体没有压差就排不干净,封出来的电池在后续循环使用中很容易鼓胀,严重的还会导致漏液甚至安全问题。所以二封机本质上是“真空工艺设备”加“热封机构”加“精密运动平台”的组合体。
这个工位在整个后段产线里属于关键质量控制点。后面分容、老化一旦发现电池鼓包或者封口强度不够,绝大部分问题都指向二封环节。这也决定了它必须搭载完整的数据追溯功能:什么时候抽真空、真空度多少、封头温度多少、封口压力多少、封口保压多长时间,全部要记录在案。
1.2 一次完整的二封动作包含哪几拍
从控制程序的角度看,二封机的一个完整循环大概是这样的:
- 上料移载把电池送入夹具,扫码枪读取电池条码,进行身份绑定。
- 夹具定位夹紧,极耳整形机构动作,把极耳位置校正到统一基准。
- 真空腔盖下降闭合,密封条压紧,腔体形成密闭空间。
- 真空系统开始抽气,先粗抽快速把腔内气压降下来,再细抽把真空度拉深。
- 真空度到达设定值并稳定保持一段时间。
- 上封头和下封头合拢,对电池气袋边缘施加设定的压力和温度,保压热封。
- 封头冷却,冷却到设定温度以下后开模。
- 真空腔破真空,腔盖升起,出料移载把电池送走。
参数方面,不同的电芯型号差异很大,但常见范围可以参考:
| 工序段 | 控制对象 | 典型参数范围 |
|---|---|---|
| 粗抽 | 真空泵/大通径电磁阀 | 抽至相对真空度-65kPa~-85kPa |
| 细抽 | 小通径电磁阀/比例阀 | 抽至相对真空度-93kPa~-98kPa |
| 保压 | 真空度传感器 | 保压时间3s~8s,真空度波动≤1kPa |
| 热封 | 加热块PID控制 | 封头温度180℃~220℃ |
| 合模加压 | 伺服压力闭环 | 封口压力1.5MPa~3MPa(视气缸/伺服面积换算) |
| 冷却 | 冷却水/风冷 | 封头降温至100℃以下再开模 |
1.3 这个工位“难”在哪,难度最终落在程序员头上
二封机难控制,主要有三个原因。第一是工艺耦合性强,真空度、温度、压力是互相关联的。比如真空度不够,封头贴合时残留空气会在封口处形成气隙,封出来容易虚焊;但真空度拉得太深、抽气时间太长,电解液可能被抽出来污染封头。温度高了,铝塑膜外层尼龙层会熔融发脆;温度低了,热封强度不够,拉力测试不过。
第二个难度在于真空腔内是不可视的。设备在什么工况下运行,主要靠传感器和伺服反馈来判断,程序里必须建立足够的报警和保护逻辑,不能靠人眼去盯。第三点是节拍要求,一条中试线的节拍可能只有几秒到十几秒一个循环,控制系统需要在很短时间内完成所有动作的协调,这已经不是普通继电器逻辑或者传统PLC梯形图能轻松搞定的范围了。
所以用欧姆龙NJ/NX这类带运动控制和逻辑控制一体化的控制器来做,是挺合理的选择。它能把伺服运动、真空阀门、温控、数据记录都放在同一个程序框架里,调试工具也统一,不用在多个软件之间来回倒腾。
2. 控制系统怎么搭骨架——NJ/NX与硬件选型
2.1 NJ还是NX:按轴数和项目规模来定
欧姆龙NJ和NX系列在逻辑上属于同一代平台,都用Sysmac Studio编程,都支持EtherCAT总线,运动控制指令集也是同一套PLCopen体系。区别主要体现在硬件架构和使用场景上。
NJ系列的定位是高性能运动控制器,CPU本体自带EtherCAT主站,适合轴数较多、同步要求较高的设备。以我这次用的NJ501为例,它支持最大几十个实轴(具体看固件和授权),程序容量和任务数量都很充裕,适合像二封机这种还有扩展空间的单机设备。
如果项目轴数在4~8轴、节拍要求没那么极限,NX102、NX1P2这类NX系列控制器性价比更高。NX系列同样支持EtherCAT和运动控制,而且体积更紧凑,适合做成小型机台。不过要注意,NX1P2的EtherCAT轴数和程序容量相对有限,轴数一旦接近上限,CPU负载会比较紧张。
我自己的选型建议是:8轴以下、现场空间紧凑、预算敏感,选NX102起步;8轴以上、后续可能要加视觉或机器人联动,直接上NJ501/NJ301,别在这个环节省成本。二封机的轴数通常在6~12个,加上远程IO和温控模块,用NJ501是比较稳妥的。
2.2 整机电气拓扑怎么搭
这套设备的电气拓扑大致如下:
- 主控制器:欧姆龙NJ501,负责逻辑、运动、通信。
- EtherCAT总线:连接伺服驱动器、远程IO从站、温度模块。
- 伺服驱动器:根据负载匹配,发热单元和移载单元用不同功率等级。
- 远程IO从站:负责电磁阀、真空传感器、气缸磁性开关、报警灯等信号采集。
- 温控模块:接封头热电偶和加热控制输出。
- EtherNet/IP:连接触摸屏(HMI)、扫码枪、MES系统。
这样组网的好处是高速逻辑信号走EtherCAT,数据交互走EtherNet/IP,两类通信互不干扰。NJ的EtherCAT刷新周期可以设在1ms或0.5ms,伺服的位置指令更新和IO刷新都在这个周期内完成,二封机的工艺动作完全跟得上。EtherNet/IP这边主要是人机交互和数据上传,负载小而且稳定。
2.3 安全联锁与IO分配的隐性学问
硬件选型里最容易被低估的是安全回路。二封机有真空腔盖、上下封头、移载机构,这几个部分都有夹手风险。我在设计时就做了几个硬性联锁:
- 真空腔盖升降必须配置安全门开关或安全光幕,门打开时切断伺服使能。
- 封头合模区域加防护罩,防护罩未到位时不允许合模动作。
- 急停回路要双触点冗余,同时断开伺服使能和真空泵接触器。
- 伺服驱动器使用STO功能,急停时不依赖PLC程序,直接硬件切断力矩输出。
IO分配上,强电和弱电要分开走线,远程IO从站的输出点接继电器驱动电磁阀,伺服脉冲/使能信号走专用线缆。真空泵这类大功率设备不要直接挂在PLC输出点上,必须通过接触器驱动,PLC输出只控制接触器线圈。
另外有一点容易被忽略:二封机封头附近温度高,IO线缆和传感器线缆需要选择耐高温型,或者走线时避开加热区。不然调试两三个月后,线皮老化破皮很容易引起信号误触发。
3. 把每个轴指挥好——NJ/NX运动控制实现
3.1 先理清整机有哪些轴,各自干什么
二封机的运动轴不一定每家都一样,大致可以分成几类:移载轴、腔盖升降轴、封头加压轴、极耳整形轴。以我做的这台设备为例,轴配置大概是:
| 轴名称 | 功能 | 控制模式 | 说明 |
|---|---|---|---|
| X1 进料推杆 | 把电池推入定位夹具 | 位置模式 | 需要软启动,避免推坏电池 |
| Z1 真空腔盖 | 控制腔盖升降 | 位置+速度限制 | 两端要加减速,落地不能太猛 |
| Z2 上封头 | 上下移动并施加封口压力 | 位置+压力闭环 | 核心轴,直接影响封口质量 |
| Y1/Y2 封头微调 | 左右位置对中 | 位置模式 | 换型时修正封口位置 |
| X2 出料拉杆 | 把封好的电池带走 | 位置模式 | 与进料推杆时序联动 |
实际设备可能还有极耳整形、切边等附加轴,但程序框架都是一样的。每个轴先定义好软限位、硬限位、原点方向、加减速时间,然后再进入工艺逻辑。
3.2 普通定位、电子凸轮与压力闭环怎么配合
二封机的大多数轴用普通定位指令就够了,比如MC_Power、MC_MoveAbsolute、MC_MoveVelocity,按状态机一步步来。但我建议不要在梯形图里做整个工艺状态机,最好用ST语言写一个CASE状态机,这样流程修改和排查都方便得多。
典型的流程代码大概是这样的:
CASE step OF 10: // 上料推杆前进 MC_Power(AxisX1, TRUE, 10000); MC_MoveAbsolute(AxisX1, 150, 200, 100, 100); step := 20; 20: // 等待夹具到位,真空腔盖下降 IF grip_in_place THEN MC_MoveAbsolute(AxisZ1, closed_pos, 100, 80, 80); step := 30; END_IF; 30: // 抽真空 Vac_Pump := TRUE; EV1_Coarse := TRUE; IF vacuum_pressure < -85.0 THEN EV1_Coarse := FALSE; EV2_Fine := TRUE; step := 40; END_IF; 40: // 保压 IF vacuum_pressure < -95.0 AND hold_timer >= 3000 THEN EV2_Fine := FALSE; step := 50; END_IF; 50: // 合盖加压 sealing_pressure_enable := TRUE; ...这段代码只是示意,真实工程里还要加上每条指令的完成标志位Done、Error检测、超时报警。NJ的运动指令是异步执行的,发出MC_MoveAbsolute后程序会继续往下走,所以不能默认“指令发完了动作就做完了”。要么用Done信号驱动状态切换,要么用Busy信号做等待。千万别把多个轴的移动指令堆在一起后直接延时,那样节拍是快了,但安全性和稳定度都会大打折扣。
电子凸轮在这个项目的用处主要在封头合模阶段。如果设备对封口压力轨迹要求严格——比如希望压力快速爬升、保压、再快速释放——可以用电子凸轮把“角度”(或者说节拍百分比)映射到“目标位置”或“目标压力”。但压力闭环比位置凸轮更直接,后面单独讲。
3.3 程序任务分配和编程规范
NJ/NX的程序任务分几种,常用的是周期性任务和事件任务。我的建议是:
- 主工艺状态机放在一个固定周期任务里,建议2ms~5ms,保证动作切换的实时性。
- IO刷新和报警处理放在另一个较慢的周期任务里,比如10ms。
- 急停、安全逻辑尽量用独立任务或者硬件回路处理,不要和工艺状态机耦合在一起。
ST语言用来写工艺逻辑,梯形图用来写按钮联锁、手动操作、急停复位,两者分工明确。Sysmac Studio里支持多语言混合编程,同一个工程里不同POU可以用不同语言写,这点在实际维护时特别好用。我见过有人整台设备全用梯形图,状态一多,交叉引用满天飞,换个工程师根本不敢改程序。
3.4 封口压力闭环的实现细节
封口压力是二封机最关键的控制量。如果只有位置控制,封头压到硬限位后,压力完全取决于机械公差和电池厚度波动,根本没法保证一致性。所以正确做法是:压力传感器实时反馈+闭环调节。
我用的方案是这样的:
- 封头快速下降,接近电池表面。
- 到达接触位置后,切换到压力模式,伺服以较小的速度继续下压。
- 压力传感器采集实时压力,PLC根据压力设定值和实际值做PID运算,输出速度指令给伺服。
- 压力到达设定值后进入保压阶段,保压时间由工艺决定。
- 保压结束,压力释放,封头退回。
这一步在程序里可以用一个相对于Z2轴位置的“力控”状态来实现:
sealing_error := pressure_set - pressure_real; force_speed := PID(sealing_error); MC_MoveVelocity(AxisZ2, force_speed, 0, 0);PID参数要单独整定,不能照抄温度PID。压力环的响应速度要求远高于温控,循环周期要快,一般建议把压力PID放在和EtherCAT刷新同步的任务里。现场调整时,先测一下空压时的阶跃响应,再逐步加比例项,积分项宁可小一点,避免压力过冲。
4. 真空与温度:两条工艺血脉的实时控制
4.1 真空抽气路径的工程化设计
二封机的真空系统一般由真空泵、真空储罐、电磁阀组、真空度传感器组成。理想的拓扑是真空泵持续运转,先给储罐抽真空,二封腔体需要抽气时,通过储罐与腔体之间的电磁阀直接对腔体抽气。这样好处是泵的抽气能力不直接受瞬态负载冲击,真空度响应更快,也减少了泵的频繁启停。
抽气管路按照“粗抽+细抽”双路设计。粗抽用大通径电磁阀,快速把腔体从大气压降到中间真空度;细抽用小通径电磁阀或比例阀,慢慢把真空度拉深,避免抽气太快把电解液带出来。控制逻辑上,程序根据真空度传感器的实时值分阶段切换电磁阀。
这里有个容易被忽略的点:真空度传感器最好装在腔体内部或者是离腔体最近的管路上,不要装在储罐上。我曾经遇到过传感器装在储罐上导致显示真空度很高、但腔体内实际真空度没到位的情况,封口出来全是虚焊,排查了很久。
4.2 封装温度的PID整定和补偿逻辑
封头温度控制有两个难点:一是温度滞后大、惯性大;二是上下封头在合模时互相接触,热传导会瞬间拉低温度,PID调节来不及的话,封口就冷掉了。
解决思路是把温控周期做短一点,PID输出直接控制SSR(固态继电器)给加热棒供电。热电偶采集要滤波,但滤波时间常数不能太大,否则温度反馈滞后太严重。我用的整定方法是手动阶跃法:先把积分和微分置零,只加比例,让温度输出振荡,然后逐步加积分把稳态误差消掉。这样整出来的参数虽然不如自整定“省事”,但对上下封头这种强耦合结构更稳。
另一个实用技巧是“预补偿”。在真空腔盖关闭、抽真空开始的时候,封头其实还没有接触电池,但很快就要合模了。这段抽真空时间大约几秒,温度会自然下降一点。我就在程序里加了一个判断:抽真空开始后,把温度设定值临时抬高3~5℃,等合模接触瞬间,实际温度正好落在工艺区间。这个东西不写程序也能调,但写进去以后一致性高很多。
4.3 封口温度均匀性的检查
封头加热棒布置不均匀会导致封口两边温度差好几度,表现出来的就是同一个电池,左边拉力合格,右边拉力不足。排查方法很简单:用多点热电偶贴在封头表面,做一次静态温度分布测试。测试时把温度升到工艺值,等稳定后记录各点温度。
通常温差控制在±3℃以内问题不大,超过就该检查加热棒是否局部老化、导热硅脂是否涂布均匀。程序里还可以把热电偶的温度值做成HMI上的一维趋势图,方便巡检。
5. 数据追溯和MES对接——让每片电池都有“户口”
5.1 追溯参数到底存什么
二封机需要记录的参数,至少包括:电池条码、设备编号、真空度到达时间、保压时间、封头温度设定值与实际值、封口压力峰值、封口时间、冷却时间、最终判定结果。这些数据直接关联到电池的“出生档案”,后面出问题要倒查,都靠它。
我的做法是在PLC里建一个结构体数组,每完成一个循环就填充一条记录。记录包含OK/NG判定结果,NG的时候要附带报警代码。这个结构体再通过通信传给上位机或者MES,本地也保留一份备份。
5.2 在NJ/NX上怎么和MES对话
NJ/NX和MES的对接主要有两种方式。一种是EtherNet/IP标签数据交换,MES作为扫描器读写PLC的标签变量;另一种是通过Sysmac Studio的数据库连接功能块,直接执行SQL语句写数据库。
我这次用了第二种方式。PLC里调用Sysmac标准库的SQL执行指令,把每一条追溯记录直接insert到数据库。这样做的优势是上位机不用专门开发采集程序,数据库里实时就能看到数据。劣势是如果MES服务器网络不稳定,SQL执行会超时,所以程序里必须做好重试和超时跳过逻辑。
断线缓冲是必须的。我设计了一个FIFO数据区,当MES连接异常时,PLC把记录暂存在本地,等网络恢复后再补传。这个逻辑虽然简单,但能让设备在MES故障时不至于停机,对产线连续运行太重要了。
5.3 配方和换型管理
电池型号一换,二封的工艺参数全变:温度、压力、真空度、保压时间,甚至封头位置都要动。NJ的配方功能可以直接存在PLC数据块里,每个配方包含所有工艺参数和轴位置参数。换型时操作员在HMI上选择型号,程序自动下载参数并校验范围。
我个人强烈建议在配方加载时做一次参数合法性检查,比如温度不能超过材料上限、压力不能超过机械上限。因为操作员手误输入一个离谱数值的教训,我见过太多次了。
6. 现场调试踩过的坑和最终效果
6.1 真空腔盖不同步,电池被带偏
第一个坑出现在刚上电联调的时候。真空腔盖由左右两个升降轴驱动,我一开始用的是两个独立的位置指令。结果腔盖下降过程中,左右位置偏差越来越大,合模封口时电池位置被带偏,封口线整体移到了边上。
排查后发现是机械结构刚性不够,左右两侧负载不均,两个轴即便指令相同,实际位移也不同步。解决办法是改成电子同步:把其中一个轴设为主轴,另一个轴用电子齿轮或电子凸轮跟随,跟随比例1:1,同时加上位置偏差报警。这样合盖动作稳定了,电池位置偏移的问题基本消失。
6.2 电解液被抽出来,封头结垢
第二个坑是运行几天后封头表面发黑、封口强度下降。拆开一看,封头工作面有一层结晶污垢。问题出在抽真空时抽气速度太快,电池预封口在负压下破裂,电解液被直接抽出来,残留在封头上。
解决方法是调整抽气策略:粗抽时间缩短,不要一直抽到很深的真空度,等腔体压力已经接近细抽范围时,改用小通径电磁阀慢抽。另外在封头表面增加了防护结构,减少电解液蒸汽直接接触加热面。同时把封头的清洁保养纳入日常点检,每班次擦拭一次。改动之后,封口外观和拉力都恢复稳定了。
6.3 MES通信超时,整机卡在等待
第三个坑是MES服务器偶尔网络抖动,导致SQL写入超时,整个设备就停在“等待数据返回”状态,后面电池全部积压。这个排查其实不复杂,问题在于我最初把SQL调用放在工艺主流程里了,它一超时,状态机就卡住。
后来把SQL调用全部移到后台任务,工艺主流程只负责把追溯记录放进FIFO,通信任务单独从FIFO取数据写入数据库。即便MES断了,产线照跑,数据缓存在本地,网络恢复后再补传。这个改动对节拍的提升非常明显。
6.4 容易被忽略的调试项
还有一些小问题值得提醒。比如冷却水温度和流量对封头冷却速度影响很大,如果冷却水温度夏天和冬天差异大,封头开模温度就会飘。最好把冷却水进出水温度也接入PLC监测,超过范围报警。
还有就是手自动切换。手动模式下,伺服和气缸动作不能跟自动模式抢控制权。手动操作结束后必须回到安全位置,自动模式才能启动。我在程序里加了一个“自动允许位置”检查,不在安全位就不让切自动,这能挡掉不少误操作。
这台设备最后跑下来的结果是:单次循环约10秒,真空度稳定在-95kPa以下,封口拉力测试合格率稳定在99.5%以上,追溯数据完整记录到数据库。二封机这个项目我最大的体会是,程序架构必须围绕“真空-温度-压力”这三个工艺要素来设计,而不是简单地按缸体动作来写逻辑。把每个工艺控制环拆开,再通过状态机整合起来,后面不管是调试还是维护,都会轻松很多。