张力控制这个词,做卷绕类设备的朋友应该都不陌生。不管是分切机、复卷机、涂布机,还是线缆收线机、薄膜生产线,跑料过程中只要张力一不稳定,各种问题就跟着来:收卷端面不齐、材料褶皱、拉伸变形,严重的时候整卷料直接报废。我最近刚好调试完一套用三菱PLC做的放卷收卷张力系统,核心链路就是模拟量输入把张力传感器信号采进来,PLC跑PID运算,再通过模拟量输出把控制量送给执行机构。整套流程走下来,从接线、标定到PID参数整定,踩了不少坑,也攒了不少经验,今天就按实际调试的顺序把这套方法完整捋一遍。这篇文章适合正在做卷绕类设备电气设计或设备维护的朋友,也适合刚接触三菱PLC模拟量应用、想搞懂张力闭环是怎么一回事的工程师参考。
1. 张力控制系统:先搞清楚到底在控什么
1.1 恒张力为什么难控
所谓张力,就是材料在牵引方向上受到的拉力。恒张力控制,就是让材料在运行过程中受到的拉力基本维持在一个设定值,不管卷径怎么变化、速度怎么升降。
这里的难点在于,张力是多个物理量耦合的结果。比如收卷侧,卷轴的角速度如果恒定,卷径渐渐变大,材料线速度就会越来越快,张力自然越拉越紧,最后可能直接把料拉断。反过来,如果收卷力矩不够,材料又会在卷芯上打滑,卷出来松松垮垮。它们之间互相影响,不是一个简单的单变量控制问题。
打个比方,就像两个人拉一根绳子,想让绳子上的拉力保持恒定。对面的人忽快忽慢地走,而你手里的线轴半径还在一点点变大,你该用多大力气去拉?硬拉不行,松手更不行,你得根据绳子上的实时拉力去调整自己的出力。张力控制要做的,本质上就是这么件事。
1.2 三种常见张力方案的取舍
我在不同设备上见过几种张力控制方案,各有各的适用场合。
第一种是纯机械方案,比如浮动辊加配重。浮动辊压住材料,配重决定张力大小,材料拉过浮动辊时靠重力或弹簧建立张力。这种方案结构简单、成本低,但张力一旦设定就只能靠换配重或调弹簧来改,运行中速度变化时张力波动大,适合对精度要求不高的设备。
第二种是开环力矩控制。直接用收卷电机的电流来估算力矩,通过卷径计算和电流给定实现近似恒张力。这种方案省掉了张力传感器,但本质上仍然是开环,机械损耗、材料厚度误差、卷径计算偏差都会直接影响张力精度。
第三种就是这次要重点讲的闭环方案:用张力传感器实时测量材料张力,变送器把信号转成标准的4-20mA电流或0-10V电压,PLC模拟量模块采集,经过PID运算,再把控制量输出给收卷驱动器或放卷制动器。这个方案的优点很直接,控制精度高、响应快,参数可以随时在触摸屏上改,还能联合卷径计算做锥度张力控制,适应多规格多品种的生产需求。这也是目前大多数中高端卷绕设备的主流做法。
1.3 三菱PLC在张力控制系统里的角色定位
很多人一提到PLC就想到逻辑控制、气缸动作、电机启停,总觉得张力这种带动态响应要求的控制得靠专用控制器。实际上,三菱FX系列和L系列PLC在模拟量扩展能力上做得相当成熟,配合4AD/4DA这类模拟量模块,完全能胜任张力闭环控制。而且用PLC做还有一个好处,就是张力控制和整机的逻辑控制、故障报警、触摸屏通信可以放在同一个平台里,不需要额外去买专用张力控制器,维护起来也方便。
我用的是三菱FX系列PLC,加了一块模拟量输入模块和一块模拟量输出模块。如果设备还要求以太网通信、数据追溯,也可以考虑FX5U系列,内置以太网口,程序容量和扩展能力都更强。这套组合在中小型卷绕设备里非常有代表性。
2. 硬件选型与接线:模拟量系统搭不起来,一切都白搭
2.1 系统拓扑与器件清单
在做张力控制之前,先把整个系统的器件链路理清楚。
张力传感器是检测元件,安装在某个导辊的两端或材料路径中的检测辊上。材料包绕检测辊时,材料的合力会作用在传感器上,传感器内部的应变片把力学信号转成微弱的毫伏电压信号。这个信号太小,不能直接进PLC,需要经过变送器放大,转成标准的4-20mA电流或0-10V电压信号。我习惯统一用4-20mA两线制电流信号,原因后面再说。
信号进了PLC模拟量输入模块后,CPU通过特殊功能指令或直接映射的缓冲区把数字量读出来。然后程序里做量程标定,把数字量换算成实际张力值,再送进PID指令和设定张力值做比较。PID输出的是一个控制量,比如0-4000的数字量,经模拟量输出模块转成4-20mA信号,送给执行机构。
执行机构要看是放卷侧还是收卷侧。放卷侧常用磁粉制动器,通过电流控制制动力矩,建立反向张力;也可以用工频变频器加再生电阻,让放卷电机工作在发电状态,产生反向拉扯力。收卷侧一般用变频器或伺服驱动器,工作在转矩控制模式或速度控制模式,通过调整输出转矩来维持张力。
2.2 模拟量输入输出模块怎么选、怎么配
模拟量模块选型,第一看通道数,第二看分辨率,第三看输入信号类型。
三菱FX系列常用的模拟量输入模块,单模块一般是4通道或8通道,分辨率12位。12位分辨率对应数字量0-4000,如果传感器量程是0-1000N,理论上一个数字量对应约0.25N,对大多数卷绕应用已经够用。如果要求更高精度,可以选择带16位分辨率的模块,但价格也会上浮,而且信号干扰问题会更突出。
输入信号类型也是关键。有的模块支持电压输入和电流输入切换,靠模块上的接线端子或缓冲存储器参数来配置。我优先选24位或12位带4-20mA电流输入模式的模块,接线简单,抗干扰也好。
模拟量输出模块的选择思路类似,主要看输出通道数量和控制信号类型。如果执行机构是变频器,接收0-10V电压信号或4-20mA电流信号都行,但电流信号能传更远,且不受变频器内部电路压降影响。我是统一全系统用4-20mA,输入输出都是电流型,标定的时候心理负担会小很多。
2.3 4-20mA接线与屏蔽接地的关键细节
接线这块是最容易埋雷的地方,出了问题排查起来也最耗时间。
两线制变送器的接线是:电源正极接变送器的电源正端,变送器的信号输出端接到模拟量输入模块的电流输入端子(通常是AIN+),模块内部提供回路电流采样,AIN-接电源负极形成回路。四线制变送器则是电源线和信号线分开,信号线接模块对应的正负端子。不管哪种接法,接线前务必确认模块端子定义和变送器说明书,接反了轻则信号错误,重则烧坏模块。
屏蔽线的处理是个高频问题。张力传感器的信号线建议使用屏蔽双绞线,屏蔽层单端接地。所谓单端接地,就是屏蔽层只在PLC柜这一端接地,传感器那一端悬空。很多人图省事把屏蔽层两头都接地,结果形成接地环路,反而引入了共模干扰,张力信号在触摸屏上像心电图一样乱跳。另外,模拟量信号线要和动力线、变频器输出线分开走线,不要绑在一个线槽里,间隔至少20厘米,条件允许的话用金属线槽隔开。
电源侧也要注意。给传感器和变送器供电的24V电源,最好不要和给PLC输出点供电的24V电源共用同一个开关电源输出,因为继电器、接触器吸合瞬间产生的干扰会通过共用的电源母线串进模拟量信号里。系统里有变频器的话,变频器侧建议加装输入电抗器或滤波器,把谐波干扰挡在源头。
3. 模拟量信号标定与程序里的张力换算
3.1 从数字量到工程量的换算公式
模拟量模块读到的原始数据是数字量,比如12位分辨率下是0-4000。如果模块配置成4-20mA输入,则4mA对应数字量0(有的模块对应0,有的对应某个零点偏置值,以模块手册为准),20mA对应数字量4000。这时需要做一个线性标定,把数字量换算成实际张力值。
以量程0-1000N的张力传感器为例,对应关系是:4mA=0N,20mA=1000N,数字量0=0N,4000=1000N。程序里一个简单的乘除就搞定。假设读取到的原始数字量放在D100,换算后的张力值放在D110,梯形图里大致做这样一个计算:
LD M0 MOV D100 D102 SUB D102 K0 D102 MUL D102 K1000 D104 DIV D104 K4000 D110这里把数字量范围看成0-4000,所以直接乘以量程再除以4000。如果模块的零点偏置不是从0开始,比如4mA对应数字量400,那就得先把数字量减去400,再去除以(4000-400)这个范围。这一段换算很多人会在现场临时现算,容易算错,建议在程序注释里写清楚:传感器量程多少,4-20mA对应的数字量范围是多少,换算系数是多少,下次维护时一眼就能看懂。
实际项目里我还喜欢在触摸屏上做一个“张力标定”页面,手动施加一个已知力,比如用砝码挂传感器,记录此时PLC读到的数字量,和理论值对比,直接修正零点和增益系数。这样传感器安装偏心、机械预紧力带来的误差,可以在标定阶段一次性消掉。
3.2 信号抖动和平均值滤波
张力传感器信号本身就有高频纹波,加上机械振动、变频器干扰,PLC里看到的张力值不可能是一条光滑的直线。如果直接把这个带毛刺的信号送进PID,微分项会被放得很大,输出也跟着剧烈抖动,驱动器、机械结构都受不了。
现场常用的办法是平均值滤波。PLC里做滑动平均,比如连续采集8次或16次,取平均值作为当前张力反馈。这个滤波级数不是越大越好,级数太大信号滞后严重,PID本来想快速修正偏差,结果反馈还在慢吞吞地爬,系统容易振荡。我一般先做4次平均,如果触摸屏上显示还是有明显的周期性波动,再看波形分析是机械问题还是电气干扰,而不是一味加滤波深度。
平均值滤波在三菱PLC里可以用FOR循环和变址寄存器实现,也可以用移位寄存器配合加法器,采集一次数据就把最老的数据挤出去,始终保持一个固定长度的队列。如果程序空间紧张,也可以用一阶惯性滤波,公式是当前值 = 上次值 * a + 本次采样值 * (1-a),a取值0.7-0.9,算起来很快。但要注意一阶惯性滤波的相位滞后比滑动平均更明显,调试时要重新整定PID参数。
3.3 程序里必须做的限幅和异常判断
张力反馈信号进入PID之前,我建议先做两个保护:一是量程限幅,二是合理性判断。
量程限幅就是把读取的张力值强制限制在0到传感器量程上限,比如0-1000N,超过就钳位。这么做是防止传感器断线、变送器故障时出现一个离谱的负值或超大值,导致PID输出直接打满,收卷电机猛拉一下把材料拉断。
合理性判断更有意思。正常运行中,张力不会突变,比如正常是200N-300N之间缓慢变化,突然一下跳到800N,大概率是信号干扰或者机械卡阻。这种情况下程序应该先切换成上一次的正常值参与PID运算,同时触发报警,提示操作人员检查。很多张力控制系统出事故,不是因为PID没调好,而是故障信号进到PID里、输出瞬间饱和导致的。这点细节我建议所有做这类系统的人都要加上。
4. PID闭环:张力控制的执行核心与参数整定
4.1 张力PID的回路结构
张力PID的控制回路,画在脑子里是这样的:设定张力SV作为目标值,实际张力PV作为反馈值,两者相减得到偏差E。PID指令根据偏差的比例、积分、微分计算输出MV,MV经模拟量输出模块变成4-20mA电流,送到执行机构。执行机构改变收卷力矩或放卷制动力矩,材料张力随之变化,传感器再次检测到新的张力值,形成一个闭环。
这里的执行机构响应快慢很重要。收卷用伺服驱动器的转矩模式时,转矩指令刷新周期一般是毫秒级,系统整体响应快;用通用变频器时,如果工作在模拟量速度控制模式,速度环本身的滞后加上模拟量转换时间,张力的动态响应会明显拖沓。所以做高动态响应的张力控制系统,收卷执行机构优先选择转矩模式的伺服或变频器矢量控制。
采样周期也要想清楚。PID并不是每个扫描周期都要运算一次,三菱PLC的PID指令本身带采样时间参数。如果程序扫描周期是5-10毫秒,但张力机械系统的固有频率可能只有几赫兹,PID采样周期设在50-100毫秒比较合适。采样太快反而会把机械振动当成真实偏差,采样太慢又会漏掉加减速过程中的张力突变。
4.2 为什么我基本只用PI
张力控制里,我基本不启用微分项,除非遇到极特殊的机械结构。原因很简单:张力信号本身含有高频纹波,微分项对信号噪声极其敏感,稍微有点波动,微分输出就是大幅度的正负跳变,驱动机构跟着来回抖,机械磨损大幅增加,收卷端面也会变得粗糙。
比例项是主力,它决定回路的刚度。P太小,张力偏差消除慢,材料跑起来明显偏松或偏紧;P太大,回路增益过高,系统进入振荡状态,收卷轴忽快忽慢,张力波形出现发散的正弦振铃。
积分项用来消除静态偏差。如果只有比例控制,系统会因为执行机构死区、摩擦、材料弹性等原因出现残余偏差,张力始终和设定值差一口气。积分项把过去的偏差累积起来,持续修正输出,直到偏差归零。积分时间太大修正太慢,太小则容易超调,甚至引起低频振荡。在我调试的设备上,比较实用的整定结果是P在30%-60%之间,I在2-5秒之间。
有一种特殊情况可以加点微分,就是机械柔性特别大的设备,比如薄膜或纸张的放卷路径特别长,材料本身的弹性让张力呈现欠阻尼特性。此时加少量微分项(D的时间在0.1-0.5秒)可以抑制振荡,但微分滤波一定要打开,实际工程里还是谨慎优先。
4.3 手把手整定参数的现场步骤记录
参数整定这块,我按现场实际操作的顺序记录一遍,供参考。
第一步,先确认信号链路通畅。触摸屏上要能实时显示实际张力,稳定且数值合理。这一步都做不好就别急着调PID。
第二步,把积分时间设到最大,相当于纯比例控制,微分关闭。P值从很小的值开始往上加,比如从5%开始。给一个阶跃的张力设定值变化,观察张力反馈曲线。随着P增大,张力响应变得越来越快,直到出现明显振荡,把P回退到振荡点的60%-70%,作为初步P值。
第三步,投入积分。积分时间从大往小调,比如先从20秒开始,每次阶跃后观察曲线。积分太强时,张力会过冲后再回摆,甚至出现缓慢的等幅振荡。反复整定后,找到响应快、超调量小于5%、大概3-5秒内稳定的点。
第四步,记录不同运行速度、不同卷径下的张力波形。加减速过程中如果有大的张力跌落或突跳,说明仅有PID还不够,需要加卷径补偿和前馈,这个在第5章展开讲。
调试过程中我习惯用PLC的采样功能把张力数据和输出值记录下来,拉到触摸屏上画趋势图,而不是光看实时数值。趋势曲线直观,能看得出来振荡频率、响应时间、超调量,比盯着数字猜靠谱得多。
5. 三菱PLC的程序落地细节:PID指令、卷径与锥度张力
5.1 PID指令的写法与参数表配置
三菱FX系列的PID指令有固定的操作数格式:PID S1 S2 S3 D。S1是目标值SV所在的寄存器,S2是反馈值PV所在的寄存器,S3是参数表的起始地址,D是PID输出MV所在寄存器。
参数表里按顺序存放采样周期、动作方向、P、I、D等参数。程序启动前用MOV指令把这些参数写入对应的寄存器,PID指令在每个扫描周期(或设定采样周期)里自动读表运算。动作方向这个参数容易被忽略。张力控制里,PV增大(张力变大)时应该让输出减小,也就是执行机构反作用,这就得正确设置PID动作方向为反作用;一旦方向设反,系统会正反馈,张力直接发散到极限,这是现场调试时特别危险的一个点。
以语句表形式示意,程序框架大约是:
LD M0 SET M1 PID D100 D110 D150 D200D100是设定张力,D110是实际张力,D150及后面若干寄存器是PID参数表,D200是PID输出。如果需要自动/手动切换,手动模式下可以把D200直接赋一个固定值,比如百分比输出,方便单机测试执行机构。
5.2 程序框架和扫描周期的坑
张力控制程序整体上分这么几段:模拟量读取与标定、卷径计算、目标张力修正、PID运算、输出限幅、模拟量写出。每段之间数据流衔接要清楚,不要在一个扫描周期里既写又读同一个寄存器而导致数据错乱。
三菱PLC的模拟量模块数据读取,有专门的处理方式:通过FROM/TO指令读写模块缓冲区,或者直接用模块映射的特殊寄存器(具体看模块类型)。程序里要保证每个扫描周期都刷新模拟量数据,不要只在启动时读一次,不然张力反馈就是不动的死数。
关于PID的扫描周期问题,我再强调一下:PID指令有采样周期参数,当PLC扫描周期比采样周期短时,PID指令不会每次扫描都执行运算,而是到点才运算。但如果程序逻辑复杂导致扫描周期不稳定,PID的执行间隔就会忽长忽短,输出曲线出现毛刺。这种情况建议把PID运算放到定时中断程序里,中断周期设为固定值,比如10毫秒或50毫秒,保证控制周期的恒定性。中断程序和主程序里需要共享的数据,用全局寄存器传递,注意避免中断触发瞬间的数据读写竞争。
5.3 卷径计算与锥度张力修正
到这里,基础闭环已经能跑起来,但要让系统在不同卷径、不同速度下都有稳定表现,必须引入两个关键补偿:卷径计算和锥度张力。
卷径计算的基本思路是利用线速度和角速度的关系:卷径D = 线速度V / 角速度ω。线速度可以由材料的牵引辊编码器或测速辊得到,角速度可以由收卷轴的编码器或变频器的频率反馈换算得到。因为材料一层层卷上去,每卷一圈直径就增加两倍的材料厚度,所以也可以通过累计圈数和材料厚度来推算卷径,但编码器方案更直接。
得到实时的卷径D之后,可以推导当前的张力力矩需求。收卷力矩M = 张力F × 卷径D / 2(还要乘以机械传动比),卷径不断变大,同样的张力需要的力矩也在变大。如果我们不加卷径前馈,光靠PID用偏差去修正,加减速过程中偏差会一下子被拉大,张力波动很难看。加了前馈就相当于在PID输出里叠加一个随卷径变化的基准力矩,PID只需要修正偏差部分,压力小很多。
锥度张力是另一个实用技巧。对于大多数收卷成品,尤其是薄膜、纸张、铝箔这些材料,内层如果太松、外层太紧,成品卷芯压力不均匀,容易起皱或变形。锥度张力让张力设定值随着卷径增大而减小:T = T0 × (D0/D)^n。T0是初始张力设定,D0是初始卷径,n一般取0.3-0.7。这样外层拉力小一点,内层拉力大一点,卷材层与层之间的压力分布更均匀,收卷端面也更整齐。这个功能在触摸屏上做成一个可以调n值的页面,现场根据材料特性微调,比硬编码方便得多。
6. 现场调试常见问题速查与避坑心得
6.1 张力波动大的排查顺序
张力波动是最常见的故障现象,问题可能出在机械、电气、程序任何一个环节。我的排查顺序是先机械后电气再参数,避免上来就调PID。
首先看传感器安装是否牢固,检测辊转动是否灵活,有没有轴承卡滞或皮带打滑。机械间隙会让张力反馈出现周期性的尖峰,这是PID无论如何都补不回来的。
再查信号线屏蔽和接地。我曾经碰到过张力波形和变频器输出频率同步波动的情况,排查后确认是屏蔽层在传感器端和PLC端都接地了,形成地环路。改成单端接地后,波形立刻干净很多。
最后才是调PID参数。如果波形是低频等幅振荡,大概率是P或I过大;如果是高频抖动,先怀疑信号噪声,而不是盲目加大滤波。
实际操作中,我建议做一个“开环测试”来隔离问题:手动给执行机构一个固定输出,观察张力反馈是否稳定。开环下张力都不稳,那问题一定在机械或信号链路,跑闭环调试只会更加混乱。
6.2 模拟量信号跳动的现场处理
信号跳动有几个典型的诱因。传感器供电电源纹波大,特别是开关电源老化或者和强干扰设备共用母线时,纹波直接叠加在毫伏级传感器信号上。处理办法是给传感器单独供电,或者加一级线性稳压模块。
变送器输出回路和变频器输出电缆距离太近,也会感应出高频干扰。除了物理上拉开距离,还可以在PLC模拟量输入端子上并联一个电容或在程序里加滤波。如果现场变频器特别多,还可以考虑模拟量隔离器,把变送器信号做电气隔离后再进PLC模块。
还有一点容易被忽略:模拟量模块本身需要校准。模块出厂有基本精度,但长期使用后零点和增益会漂移。调试或维护时,可以用标准信号源给模块灌入4mA和20mA,检查PLC读到的数字量是否和理论值一致,不一致就用模块校准参数修正。
6.3 启动停机的冲击问题
启动瞬间的张力冲击,是很多系统调完稳定运行后才发现的问题。现象是启动时收卷轴突然猛拉一下,材料被绷直又弹回,严重时直接断料。原因主要是PID积分项在停机期间累积了大量残差,启动瞬间输出直接跳到饱和值。
解决办法是程序里增加一个“运行使能”信号。停机时把PID输出钳位到0,积分项清零;启动时给定张力目标不要一步到设定值,而是用斜坡从0逐渐爬升到目标值。斜坡时间一般设2-5秒,具体看材料特性,硬脆材料斜坡要更长一些。
加减速过程也可以用加速度前馈改善。程序里根据当前线速度变化率计算一个附加输出量,叠加到PID输出上。这样在加速瞬间,收卷力矩提前增加,张力就不会因为惯量滞后而突然跌落。这是高精度张力系统里必不可少的一环。
6.4 低速爬行和换卷过程中的张力失控
设备低速运行时,比如穿料、点动状态,张力反馈和控制输出都可能变得异常。低速时收卷驱动器的速度传感器反馈分辨率下降,矢量控制性能也会打折,材料张力容易出现爬行或脉动。这时PID参数如果还是按正常运行速度整定的,输出会和低速工况不匹配。解决办法是触摸屏提供“穿料模式”或“低速模式”,使用单独一套更保守的PID参数,穿料完成后切换到正常参数。
换卷过程也是事故高发区。收卷轴在换卷时需要瞬间切换到新卷芯,张力回路会被打断,PID输出需要重新建立。程序上要处理好换卷信号和辅助轴的切换逻辑,别让PID在换卷期间盲目输出。我见过有些设备换卷后第一圈张力还正常,第二圈突然猛拉,查下来是卷径计算在换卷瞬间除以了一个接近0的角速度,算出一个天文数字卷径,张力前馈瞬间饱和。这类问题归根结底是程序没有对卷径计算结果做合理性限幅,把卷径限制在最小值和最大值之间,能防掉绝大多数奇异工况。
写在最后的一点体会
连续调试过几套张力控制系统之后,我越来越觉得,这类项目真正考验人的并不是某个环节的单点技术,而是把机械传动、信号链路、PLC程序、执行机构响应综合考虑的系统能力。PID参数整定只是最后一步,它充其量是把前面积累下来的问题暴露出来。传感器安装不牢、屏蔽接地不规范、卷径计算有缺陷,这些问题不解决,你再花几天调P和I也白搭。
如果能把信号标定、卷径计算、锥度张力、启停时序这几个基本功做扎实,再配合一套合理的PID参数,一台普通的分切机或复卷机基本就能跑得稳当。遇到现场张力波动大的问题,也先别急着动PID,按先机械、再信号、后参数的顺序排查,往往比盲目调参高效得多。