简介面向锂电分切机电气自动化与PLC调试人员的程序模板围绕三菱FX3U平台梳理伺服速度/力矩模式、收料锥度控制与恒张力控制等通用逻辑适合需要搭建或优化分切机张力方案的工程师参考。压缩包仅1个PDF文件约55KB篇幅紧凑便于在电脑或移动端快速查阅。已有39人学习说明该主题在分切与卷绕控制场景中有一定关注度。文档结合代码片段讲解锥度张力线性计算、模拟量输入输出、张力检测及PID调节思路并给出速度指令、力矩切换、收卷半径参与运算等实现要点可作为程序框架搭建、参数整定和现场排错的对照材料。1. 从一卷端面不齐的料说起FX3U 分切机程序模板到底解决哪几个动作分切机收卷端最怕的不是跑不起来而是同一卷料从满卷收到纸芯张力一路往上飘端面像菊花。FX3U 分切机程序模板把这件事拆成几个可调的动作伺服速度模式负责送料力矩模式负责张力执行锥度控制按卷径修正张力给定恒张力闭环用模拟量采样和 PID 把偏差压住。它适合做设备改造、电气调试和 PLC 程序复核的从业者也适合刚接手分切机程序、想先弄明白寄存器怎么摆的新手。这份 PDF 不是单个指令的截图而是一套能从空载调试走到带料验证的通用程序模板后面我按“执行层怎么选、锥度怎么算、闭环怎么调、现场怎么排”四段拆能抄的指令表和参数地址直接给出来踩过的坑也一并标在对应位置。2. 伺服速度模式与力矩模式分切机执行层怎么选、指令怎么落2.1 速度模式不是“给个频率”就完事DRVI、PLSY 与方向位分切机的执行层通常分两类轴送料/牵引辊要跟线速度同步收卷轴要跟张力走。速度模式适合前者尤其是连续送料和定长分切。很多程序模板里会看到DRVI但DRVI是相对定位指令参数顺序是“相对脉冲数、脉冲频率、脉冲输出口、方向输出口”。原始 PDF 里有一段写法是把速度值先MOV到 D0再DRVI D0 K0 Y0 Y4这里的K0落在频率位实际发不出脉冲现场表现就是“伺服使能了但轴不动”。这不是指令坏是参数位放反了。连续送料我一般用PLSY频率给 D0脉冲数给 K0 表示无限脉冲方向用 Y4 单独控制。定长分切才用DRVI把定长换算成脉冲数放 D20频率放 D22。下面这段是指令表写法注释里标了每个操作数的含义; 连续送料PLSY 频率由 D0 给定K0 表示无限脉冲Y0 发脉冲 LD M8000 MOV K1000 D0 ; 速度给定单位 Hz按电子齿轮折算成实际线速度 PLSY D0 K0 Y0 ; S1频率S2脉冲数D脉冲输出口 ; 方向控制Y4 为方向位SET/RST 切换 LD X10 SET Y4 ; 正转方向 LD X11 RST Y4 ; 反转方向 ; 定长分切DRVI 相对定位S1脉冲数S2频率 LD X12 DRVI D20 D22 Y0 Y4 ; D20 定长脉冲数D22 运行频率这段的关键不在MOV而在“连续”和“定长”要分开。PLSY的 S2 给 K0 才是连续发脉冲DRVI的 S1 是脉冲数不是速度。现场改程序时先把伺服电子齿轮比算清楚机械走 1 mm 需要多少脉冲把结果写到 D20 的换算系数里别在指令里直接写裸脉冲数。方向位 Y4 的 ON/OFF 要和机械正方向一致否则锥度计算里的卷径方向会反张力曲线越算越离谱。速度模式还有一个常被忽略的点加减速斜坡。PLSY本身不负责斜坡伺服驱动器里要设加减速时间或者 PLC 里用定时器把 D0 从 0 爬到目标频率。分切机起步时如果频率阶跃材料会因为惯性冲一下张力传感器读到的就是尖峰。常见做法是起步 0.5 s 内把频率从 0 拉到 30%再切到正常给定这段斜坡不一定要写得很复杂一个定时器加ADD就能做。2.2 力矩模式接管张力转矩给定、使能与切换时序收卷轴进入恒张力段后速度模式就不合适了因为卷径一直在变同样的转速对应的线速度在变。这个时候执行层要切到力矩模式伺服驱动器接收转矩给定PLC 给的是“拉多少力”的信号而不是“转多快”。FX3U 侧通常通过模拟量输出模块给 0~10 V 或 4~20 mA 的转矩指令模块号按实际插槽顺序改别照抄 K1。切换时序是血泪经验先让伺服使能再切转矩控制模式先给零转矩再给张力给定最后放行运行。顺序反了收卷轴会在模式切换瞬间抖一下材料上就是一道横纹。下面这段是模拟量输出写 BFM 的写法用 1 s 时钟降低刷新频率避免每个扫描周期都刷总线; 伺服使能与模式切换 LD X20 SET Y5 ; Y5 伺服使能 LD X21 SET Y6 ; Y6 切转矩控制模式按驱动器参数映射 ; 转矩给定D500 为 PID 或锥度计算后的张力输出 ; 模拟量输出模块模块号 K1通道 0写 1 个字 LD M8013 ; 1 s 时钟按需改成 100 ms 定时 TO K1 K0 D500 K1 ; 将 D500 写入 BFM#0TO的四个操作数分别是模块号、BFM 通道号、源寄存器和写入字数。模块号 K1 表示紧邻 PLC 的第二个特殊模块实际接线时第一个模块可能是输入模块编号会变调试时先用手持监控读一下 BFM 有没有写进去。D500 的量程要和模拟量模块匹配如果模块输出 0~10 V 对应 BFM 0~4000而 PID 输出是 0~2000就要先MUL K2再写否则实际转矩只有一半。力矩模式不是“给了转矩就不管速度”。收卷轴在低速时转矩给定过大会把材料拉长高速时给定不足又会松卷。我一般会在程序里做三件事一是转矩给定限幅上限按机械允许最大张力折算二是加减速时给一个前馈补偿起步加 5%~10%停车减 5%三是换卷时先把转矩给定降到零等新卷卷径建立后再爬升。这三件事不写在 PDF 的公式里但现场少了任何一件端面都不会好看。2.3 把寄存器地图先画出来D、M、Y 的分配习惯程序模板能不能维护很大程度上看寄存器地图有没有提前画。分切机程序常见做法是按功能分块D0~D99 放速度与定长D100~D199 放张力采样与卷径D300~D399 放设定值D400~D499 放 PID 参数D500~D599 放输出与跟踪M0~M99 放使能与模式Y0~Y7 放脉冲、方向、使能和报警。地址一旦定下来后面加锥度表、加报警、加手自动切换都不会打架。地址用途单位/说明D0送料频率给定Hz按电子齿轮折算D20定长脉冲数脉冲按机械长度换算D22定长运行频率HzD100当前卷径0.1 mm放大 10 倍D110初始卷径 R00.1 mm纸芯半径D112最终卷径 R10.1 mm满卷半径D120初始张力 T00.01 N按传感器量程D122最终张力 T10.01 ND300张力设定0.01 ND400~D406PID 参数区采样周期、P、I、D、积分上限、输出上下限D500张力输出0~2000送模拟量前再换算M0PID 使能ON 自动OFF 手动M10锥度使能ON 按卷径修正Y0脉冲输出接伺服脉冲口Y4方向输出接伺服方向口Y5伺服使能接伺服 SONY6模式切换接伺服转矩/速度切换这张表不是让你照抄而是提醒一件事锥度计算、PID、模拟量输出会共用中间寄存器如果 D20 既放定长又放锥度中间值调试时监控窗口会跳得你怀疑人生。我一般把“计算中间值”单独放 D200~D299只读不写方便趋势记录。3. 锥度控制卷径、张力曲线与整数运算的三个边界3.1 锥度公式拆开T T0 - (T0-T1)×(R-R0)/(R1-R0)锥度控制的目的是让收卷张力随卷径增大而线性下降。纸芯处张力高满卷处张力低这样内层不会松外层不会勒。公式本身不复杂初始张力 T0、最终张力 T1、初始卷径 R0、最终卷径 R1当前卷径 R 对应的张力 T 就是一条直线。PDF 里给的公式是T T0 - (T0 - T1) * (R - R0) / (R1 - R0)这个写法没问题问题在 PLC 里怎么落地。先定端点。R0 不能设 0纸芯有实际半径设 0 会导致除法分母和曲线端点都失去意义。R1 必须大于 R0否则分母为负锥度方向反了。T1 不能小于 0负张力给定在收卷段没有意义程序里要做下限限幅。常见锥度百分比是 10%~30%也就是 T1 T0 × (1 - 锥度%)如果工艺给的是百分比先在触摸屏里换算成 T1 再进公式别在指令表里临时乘除容易把量纲搞乱。参数示例值说明T010000.01 N纸芯处张力T17000.01 N满卷处张力锥度 30%R08000.1 mm纸芯半径 80 mmR140000.1 mm满卷半径 400 mmR实时值由编码器或测距算出来这条直线在 R0 和 R1 之间有效R 小于 R0 时应该保持 T0R 大于 R1 时应该保持 T1。很多程序只写中间段结果换卷后卷径还没建立R 读到 0张力直接跳到 T0 以上材料就被拉一下。边界处理不复杂两个比较指令加赋值就能做但必须写。3.2 卷径从哪来线速度/角速度估算、编码器与超声测距锥度计算的前提是实时卷径。分切机现场常见三种做法一是收卷轴编码器测转速牵引辊编码器测线速度用 R V / (2πn) 估算二是超声或激光测距直接测卷径三是用收卷轴转一圈的脉冲数累积结合材料厚度反算。第一种成本低但低速时 n 很小除法容易溢出第二种直接但传感器安装位置和材料表面反光会影响读数第三种适合厚度稳定的材料换规格要改参数。我一般用第一种做主干加两个保护线速度低于 5% 额定值时冻结卷径计算用上一次有效值卷径计算结果做 8 点移动平均滤掉单圈跳动。公式里的 2π 不用真的写 6.283直接在系数寄存器里放折算好的常数比如R K × V / nK 里包含 2π 和单位换算。这样指令表里只有一次乘法和一次除法扫描周期压力小。超声测距的方案要注意安装距离。传感器量程要覆盖纸芯到满卷输出模拟量进 PLC 后先做零点标定空卷时读到的值对应 R0满卷时对应 R1中间线性换算。材料表面有反光或粉尘时读数会跳程序里要加“连续三次超范围就报警并保持上次值”的逻辑别让一个坏点把张力给定带飞。3.3 指令表落地32 位中间结果、限幅与死区FX3U 的 16 位乘除很容易截断锥度公式里(T0-T1)×(R-R0)可能超过 32767必须用 32 位指令。下面这段是定点写法卷径放大 10 倍张力放大 100 倍中间结果用DMUL和DDIV最后再做上下限。D212 是高字除法前要清零否则除数会变成一个很大的数商直接变 0现场表现就是“锥度不起作用”。; 锥度计算D100 当前卷径(0.1mm)D110 R0D112 R1 ; D120 T0(0.01N)D122 T1结果放 D216 LD M8000 MOV D100 D200 ; 当前卷径 SUB D200 D110 D202 ; R - R0 MOV D120 D204 SUB D204 D122 D206 ; T0 - T1 DMUL D206 D202 D208 ; 32 位乘积结果在 D208/D209 MOV D112 D210 SUB D210 D110 D212 ; R1 - R0 MOV K0 D213 ; 清零除数高字避免 32 位除法错位 DDIV D208 D212 D214 ; 32 位商结果在 D214/D215 SUB D120 D214 D216 ; T T0 - 商 ; 下限限幅T 不得低于 T1 CMP D216 D122 M10 LD M11 MOV D122 D216 ; 小于 T1 时钳到 T1 ; 上限限幅T 不得高于 T0 CMP D216 D120 M20 LD M21 MOV D120 D216 ; 大于 T0 时钳到 T0这段代码里DMUL的乘积是 32 位DDIV的被除数和除数都按 32 位处理所以 D212 的低字放R1-R0高字 D213 必须清零。CMP的比较结果 M10~M12 是连续的M11 表示“小于”M21 表示“大于”不同系列的特殊继电器编号可能不同按实际编程软件里的规则改。限幅之后再加死区R 小于 R0 时直接给 T0R 大于 R1 时直接给 T1中间段才走公式。整数除法的截断是锥度曲线呈阶梯的常见原因。把张力放大 100 倍、卷径放大 10 倍商的分辨率能到 0.01 N 左右肉眼基本看不出阶梯。如果只放大 1 倍收卷从满卷到空卷可能只有几十个台阶手感就是一段紧一段松。计算周期也不用每个扫描周期都跑100 ms 一次足够卷径变化没那么快周期太短反而把传感器噪声放大。4. 恒张力闭环模拟量采样、PID 参数与输出限幅4.1 张力传感器进 PLCFROM/TO、BFM 通道与量程换算张力传感器输出 0~10 V 或 4~20 mA进 FX3U 的模拟量输入模块PLC 用FROM读 BFM。模块号 K0 表示紧邻 PLC 的第一个特殊模块通道号 K0 表示第一个通道读取字数 K1。下面这段是读取和量程换算的写法先把 0~4000 的原始值换成 0~1000 的张力值再送 PID; 读模拟量输入模块号 K0通道 0读 1 个字到 D100 LD M8000 FROM K0 K0 D100 K1 ; 量程换算原始 0~4000 对应 0~10000.1N ; 先乘 1000再除 4000中间结果用 32 位 LD M8000 MUL D100 K1000 D102 ; 16 位乘法结果在 D102/D103 DIV D102 K4000 D104 ; 商放 D104余数在 D105FROM的四个操作数是模块号、BFM 通道号、目标寄存器和读取字数。模块号不是物理槽号是按特殊模块在 PLC 右侧的排列顺序自动编的调试时先读 BFM 看原始值是否随传感器变化再谈换算。MUL的结果是 32 位DIV只取低 16 位参与如果原始值接近 4000乘 1000 后是 4,000,000已经超出 16 位必须用DMUL/DDIV或者先除后乘。我一般先除后乘DIV D100 K4 D102得到 0~1000再乘量程系数避免溢出。采样值要滤波。传感器受机械振动影响原始值会有 ±10 个单位的跳动直接进 PID 会让输出抖。常见做法是 8 点移动平均用变址寄存器或者一个 8 字环形缓冲区每 20 ms 采一次取平均后送 D104。滤波太重伤响应太轻伤稳定分切机收卷段我一般用 5~8 点起步段可以切到 3 点等张力稳定再切回 8 点。4.2 PID 指令的三个寄存器组设定、测量、参数区FX3U 的PID指令不是只给三个寄存器就能跑。它需要设定值、测量值、参数区首地址和输出地址。PDF 里写的PID D100 D101 D102少了参数区实际编程软件会报操作数不足。正确的写法是PID D300 D104 D400 D500D300 是张力设定D104 是滤波后的测量值D400 开始是 7 个参数D500 是输出。参数地址含义示例值说明D400采样周期100ms按扫描周期和响应速度设D401比例 P200越大响应越快太大振荡D402积分 I50消除静差太大积分饱和D403微分 D10抑制超调噪声大时减小D404积分上限1000防止积分项无限累加D405输出上限2000对应最大转矩给定D406输出下限0不允许负转矩; PID 运算D300 设定D104 测量D400 参数区D500 输出 LD M0 ; M0 为 PID 使能 PID D300 D104 D400 D500PID指令每个扫描周期执行采样周期由 D400 控制不是靠定时器中断。D400 设 100 ms 时PLC 内部按 100 ms 计算一次但指令本身还是每个扫描周期都跑所以扫描周期不能太长否则采样周期不准。分切机程序里如果还有高速计数和模拟量刷新扫描周期容易到 10 ms 以上PID 参数要相应放缓P 不要一下给太大。PID 的正反作用要跟执行机构匹配。收卷张力低于设定时应该增加转矩给定这是正作用如果程序里做了减法或者模拟量模块反相就会变成负作用表现是张力越低输出越小最后松卷。调试时先切手动给一个固定输出看张力往哪边走确认方向后再切自动。4.3 输出到变频器或伺服转矩限幅、积分分离与手自动切换PID 输出不能直接送模拟量模块先限幅再换算。D500 是 0~2000模拟量模块 BFM 是 0~4000输出前乘 2。如果执行机构是变频器速度给定量程可能是 0~4000 对应 0~50 Hz换算系数又不一样。下面这段是限幅、换算和写 BFM 的写法; 输出限幅D500 钳在 D406~D405 之间 CMP D500 D405 M30 LD M31 MOV D405 D500 ; 大于上限时钳到上限 CMP D500 D406 M40 LD M41 MOV D406 D500 ; 小于下限时钳到下限 ; 换算到模拟量 BFM0~2000 - 0~4000 LD M8000 MUL D500 K2 D502 LD M8013 TO K1 K0 D502 K1 ; 模块号 K1通道 0积分分离是现场很实用的技巧偏差大于设定值的 20% 时把积分项清零或者把 I 设小等偏差进入带内再恢复。这样起步时不会因为积分快速累加导致超调换卷时也不会带着旧积分跑。FX3U 的 PID 指令没有直接提供积分分离参数常见做法是在使能前判断偏差偏差大时把 D402 临时改小或者切手动让输出跟踪等稳定后再切自动。手自动切换要做无扰。手动时把 PID 输出 D500 复制到跟踪寄存器 D600切自动前先把 D500 预置成 D600再置 M0。否则切换瞬间输出从 0 跳到当前计算值材料上就是一道横纹。换卷时我一般强制切手动输出降到零新卷卷径建立后再切自动这个动作看起来慢但比换卷后调半天张力划算。5. 避坑与排查四类张力异常的现象、原因和处置5.1 现象低速起步张力冲高端面出现“菊花纹”现象很典型机器一启动张力显示从设定值冲到 120% 以上低速段端面起皱速度上来后又慢慢恢复。原因通常不是 PID 参数单一问题而是几个动作叠在一起伺服使能瞬间转矩给定还没预置PID 积分从 0 开始快速累加卷径初始值用了 0 或者用了上一次的满卷值起步斜坡太陡。这几个因素任何一个都会让起步张力冲高叠在一起就压不住。处置顺序我一般这样走第一步启动前把张力输出预置到初始张力对应的转矩值别让 PID 从 0 爬第二步PID 使能延时 0.5 s等伺服使能和模式切换完成第三步卷径初始值强制写 R0等线速度超过 5% 再切到实时计算第四步起步斜坡从 0 到 30% 用 1 s别用阶跃。做完这四步起步张力一般能压在设定值的 ±5% 以内。如果还有冲高看力矩模式的零转矩预置。有些驱动器切转矩模式瞬间会按上一次转矩给定输出PLC 侧如果没先写零轴会抖一下。程序里在模式切换前先MOV K0 D500再TO写一次模拟量等 100 ms 再给张力给定。这个细节不写在公式里但现场很管用。5.2 现象锥度曲线算出来是阶梯收卷手感一段紧一段松现象是收卷过程中张力给定不是平滑下降监控 D216 能看到每隔一段跳一个值手感就是一段紧一段松。原因主要有三个整数除法截断、卷径量化太粗、计算周期太长。16 位除法只保留整数商张力放大倍数不够时卷径每变一点商就跳一格卷径如果只精确到 1 mm锥度曲线自然是一段一段的。处置方法把张力放大 100 倍、卷径放大 10 倍中间结果用 32 位卷径计算加移动平均滤掉单圈跳动计算周期固定 100 ms不要跟扫描周期绑死。还有一个容易忽略的点是卷径来源的线性度超声测距在卷径边缘可能非线性程序里做两点标定后中间段用线性插值别直接拿原始模拟量当卷径。如果阶梯出现在换卷后的前几米重点看卷径初始值。新卷的纸芯半径如果设得比实际大锥度曲线起点偏低张力会先松后紧设得小则相反。我一般会在换卷后手动测一次纸芯半径写进 D110等卷径超过 R050 再切实时值这一段用固定 T0 过渡。5.3 现象PID 输出长期顶在上限换卷后长时间不回落现象是 D500 长期停在 2000张力却达不到设定换卷后输出还是下不来要等很久才恢复。原因通常是积分饱和张力偏差一直存在积分项累加到上限输出被限幅卡住即使偏差反向积分也要花很长时间退出来。另一种可能是输出限幅值设得比执行机构实际能力大PID 以为还能加实际已经到顶。处置方法把积分上限 D404 设成输出上限的 50%~70%别让积分单独把输出顶死输出限幅 D405 按机械最大张力折算不要拍脑袋写 4000换卷时切手动把 D500 清零同时把 PID 积分项复位。FX3U 的 PID 指令没有单独的积分清零位常见做法是切手动时把 D400 参数区里的积分项写 0或者用PID使能断开一个扫描周期再接通。还有一个隐蔽原因正反作用接反。张力低于设定时输出应该增大如果程序里做了减法输出会往反方向走最后顶在下限或上限。排查时切手动给固定输出看张力变化方向确认后再看 PID 的正反作用设置。这个错误不常见但一旦出现调参数调一天也调不出来。5.4 现象模拟量读数漂移空载也有几十个单位现象是设备没带料张力显示也在 0 附近漂有时几十个单位有时上百。原因分电气和程序两类电气上是屏蔽层没单端接地、信号线和动力线走同一个线槽、传感器供电地和 PLC 地不是同一点程序上是滤波太轻、量程换算用了 16 位乘法溢出、零点没标定。先看原始 BFM 值如果原始值就在跳问题在接线和传感器如果原始值稳、换算后跳问题在程序。处置顺序第一步把屏蔽层在 PLC 侧单端接地信号线远离变频器输出线第二步模拟量输入加 RC 滤波程序里做 8 点移动平均第三步空载时记录原始值把零点偏移写到补偿寄存器测量值减掉偏移第四步检查MUL是否溢出原始值 4000 乘 1000 已经超 16 位改用DMUL或者先除后乘。检查点正常表现异常处置BFM 原始值空载稳定在 0±5查屏蔽、接地、供电换算后 D104空载 0±2零点补偿、滤波PID 输出 D500手动固定时稳定查限幅、正反作用模拟量输出 BFM随 D502 变化查模块号、通道号现场排查最怕一上来就改 PID 参数。先把信号链路查清楚原始值稳了再谈闭环。张力传感器的量程和 PLC 换算系数要对得上传感器标 0~1000 N、输出 0~10 VPLC 却按 0~500 N 换算PID 永远调不准。6. 调试与验证带料前先跑完这五步能省掉一半现场返工6.1 静态标定与空载走线静态标定先做三件事伺服电子齿轮比、模拟量输入零点、模拟量输出量程。电子齿轮比用机械走 100 mm 对应的脉冲数反算写进 D20 的换算系数模拟量输入空载时读 BFM把偏移写进补偿寄存器模拟量输出给 D500 固定 1000用万用表量模块输出确认对应 5 V 或 12 mA不对就改换算系数。这三步不做后面带料调张力就是黑匣子。空载走线看三个动作伺服使能是否正常、方向位是否和机械一致、模式切换时轴有没有抖。我一般会用手持监控盯着 D500 和 BFM 输出模式切换前先写零转矩切换后等 100 ms 再给给定。空载时还要验证锥度计算的端点强制 D100 等于 R0看 D216 是否等于 T0强制 D100 等于 R1看 D216 是否等于 T1中间取一点看是否落在直线上。6.2 低速带料与升速验证带料先跑 10% 线速度观察张力显示和实际手感。低速段重点看起步冲高和锥度起点PID 先用手动给固定输出等张力稳定再切自动。自动后先给一组保守参数P100、I30、D5输出限幅先设 50%等稳定后再逐步放开。升速按 10%、30%、50%、80% 分四段每段稳定 30 s记录张力偏差和输出波动。步骤观察项通过标准静态标定脉冲当量、零点、满量程误差小于 1%空载走线方向、使能、模式切换无抖动、无报警10% 带料起步张力、锥度起点偏差小于 ±5%50% 带料PID 输出波动波动小于 ±10%80% 带料满卷锥度、端面无菊花纹、无松卷升速过程中如果张力偏差随速度增大先看加减速前馈和卷径计算不要急着加 P。速度越高卷径计算周期和滤波延迟的影响越明显P 加太大只会让输出更抖。我一般会在 80% 速度段录一段趋势把 D104、D500、D100 三个量放在一起看张力偏差和卷径变化对不上时问题多半在卷径来源不在 PID。从那以后我每次接分切机程序都强制先把卷径、张力、PID 输出三组趋势录一遍再带料静态标定不过关绝不升速。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?