首页 / 资讯中心 / 文章详情

三菱FX3U分切机程序模板:锥度控制与恒张力PID整定实战

三菱FX3U分切机程序模板:锥度控制与恒张力PID整定实战 ★ FEATURED ARTICLE
简介这份资源是三菱FX3U分切机程序模板面向锂电行业分切机电气调试与PLC编程人员重点解决收料过程中锥度控制与恒张力模式的通用程序实现问题。资源包为单个PDF文件大小约55KB内容围绕三菱伺服速度与力矩模式、锥度张力线性计算、模拟量输入输出、张力检测及PID调节等核心模块展开并附有MOV、DRVI、FROM、TO、PID等指令的代码片段与寄存器分配示例。读者可从中获取一套可直接参考的程序框架理解锥度张力随收卷半径变化的计算逻辑掌握速度模式与力矩模式在分切机中的切换思路以及模拟量采集与PID闭环调节的编程要点。目前已有38人学习适合具备一定PLC基础、希望快速搭建分切机控制模板的工程师参考。1. 三菱FX3U分切机程序锥度控制与恒张力模式的通用程序模板分切机在锂电、薄膜、胶带这些卷材行业里是绕不开的设备而收卷环节的张力控制直接决定成品卷的松紧度和端面平整度。很多做电气控制的朋友拿到一台旧分切机想改造或者新项目要写程序最头疼的不是逻辑多复杂而是锥度曲线怎么算、恒张力PID怎么调、伺服速度模式和力矩模式怎么切换。这份三菱FX3U分切机程序模板就是冲着这几个痛点来的它把锥度控制和恒张力控制做成了可复用的程序块覆盖了从模拟量采集到伺服执行的全链路。如果你手头正好有FX3U的PLC、三菱伺服驱动器和张力传感器这套模板能让你少走不少弯路。它适合做锂电分切、薄膜分切这类对收卷要求比较高的场景也适合刚接触张力控制的新手拿来拆解学习。2. 锥度控制与恒张力控制的程序架构拆解2.1 锥度控制的核心算法与寄存器分配锥度控制的本质是让收卷张力随着卷径增大而按一定斜率递减。为什么要递减因为卷径变大后同样的张力会在材料层间产生更大的径向压力如果不降张力内层材料会被压皱外层又会因为张力不足而松垮。模板里用的线性锥度公式是T T0 - (T0 - T1) * (R - R0) / (R1 - R0)其中T0是初始张力T1是终止张力R0是初始卷径R1是终止卷径R是当前卷径。这个公式在PLC里落地时需要把浮点运算拆成整数运算因为FX3U的浮点指令虽然能用但扫描周期会拉长。模板里用的是先乘后除的策略把(T0-T1)和(R-R0)分别算出来再相乘最后除以(R1-R0)这样中间结果不会溢出16位寄存器。寄存器分配上模板把D10固定为当前卷径值D20和D21作为中间运算缓存D30存放最终锥度张力设定值。卷径的获取一般有两种方式一种是直接用超声波测距传感器实时测卷径另一种是通过线速度除以角速度间接计算。模板里预留了D10的赋值入口你可以根据实际传感器类型选择接入方式。# 锥度张力计算梯形图对应的指令表逻辑 LD X0 # 锥度计算触发信号 MOV D10 D100 # 当前卷径存入D100 MOV K100 D101 # 初始张力T0100 MOV K50 D102 # 终止张力T150 MOV K0 D103 # 初始卷径R00 MOV K50 D104 # 终止卷径R150 SUB D101 D102 D105 # T0-T1 结果存入D105 SUB D100 D103 D106 # R-R0 结果存入D106 MUL D105 D106 D107 # (T0-T1)*(R-R0) 结果存入D107 SUB D104 D103 D108 # R1-R0 结果存入D108 DIV D107 D108 D109 # 除法结果存入D109 SUB D101 D109 D30 # T0减去结果得到锥度张力T存入D30这段指令表里D105到D109都是临时寄存器实际编程时要注意这些寄存器不要被其他程序块复用。D30作为锥度张力输出后续会送到模拟量输出模块或者直接作为PID的设定值。参数调整时T0和T1的差值决定了锥度斜率差值越大张力衰减越快一般锂电分切场景下T0取80到120T1取T0的40%到60%比较常见。2.2 恒张力模式的PID参数整定与执行链路恒张力模式和锥度模式的区别在于恒张力要求整个收卷过程中张力设定值不变靠PID实时调节伺服输出力矩来抵消卷径变化带来的张力波动。模板里PID指令用的是FX3U内置的PID运算设定值来自D30锥度模式下或者直接给定一个固定值恒张力模式下反馈值来自模拟量输入模块采集的张力传感器信号。PID的三个参数里比例增益P决定响应速度积分时间I消除稳态误差微分时间D抑制超调。在分切机收卷场景下我一般会先把I和D设为零只调P让系统先能稳定运行然后逐步减小I直到稳态误差在可接受范围内最后加一点D来抑制卷径突变时的振荡。模板里D200存放PID输出值这个值经过标定后送到模拟量输出模块控制伺服驱动器的力矩限幅或者速度给定。# PID调节与模拟量输出链路 LD M0 # PID使能信号 PID D30 D100 D200 # 设定值D30反馈值D100输出D200 TO K1 K0 D200 K1 # 将D200输出到模拟量模块K1的通道0 FROM K0 K0 D100 K1 # 从模拟量模块K0的通道0读取张力反馈到D100这里有个细节要注意FROM和TO指令里的模块号K0、K1是PLC扩展总线上模块的物理位置编号不是随便写的。第一个扩展模块是K0第二个是K1以此类推。模拟量输入模块读上来的值是0到4000对应0到10V或者4到20mA需要根据传感器量程做线性缩放模板里默认用的是0到4000对应0到100%张力如果你的传感器量程不同要在D100之前加一段缩放程序。2.3 伺服速度模式与力矩模式的切换逻辑三菱伺服在分切机上有两个典型用法牵引辊用速度模式保证线速度恒定收卷轴用力矩模式保证张力恒定。速度模式下PLC发脉冲给伺服驱动器脉冲频率决定转速脉冲数量决定位置。模板里用DRVI指令做相对定位Y0发脉冲Y4控方向。力矩模式下伺服驱动器接收模拟量信号作为力矩限幅PLC通过模拟量输出模块给驱动器一个0到10V的信号对应0到额定力矩。切换逻辑上模板用M10作为模式选择位M10为ON时走力矩模式OFF时走速度模式。实际调试时速度模式的脉冲频率要根据机械减速比和辊径换算比如牵引辊直径100mm减速比1:5要求线速度50m/min那电机转速就是50/(0.1*3.14)*5≈796rpm对应脉冲频率要根据驱动器电子齿轮比再算。力矩模式的模拟量标定更直接给10V对应额定力矩实际需要多少张力就按比例给电压。3. 从零搭建硬件选型、接线与程序下载3.1 硬件清单与模块地址分配这套模板跑起来需要以下硬件FX3U-32MR或者FX3U-48MR主机一台至少带两个扩展模块位FX2N-2AD或者FX3U-4AD模拟量输入模块一块用来接张力传感器FX2N-2DA或者FX3U-4DA模拟量输出模块一块用来给伺服驱动器发力矩指令三菱MR-JE或者MR-J4系列伺服驱动器一套配对应的伺服电机张力传感器一套量程根据实际最大张力选一般分切机收卷张力在50到300N之间。模块地址分配上假设主机右边依次插了模拟量输入模块和模拟量输出模块那输入模块就是K0输出模块就是K1。如果中间还插了其他模块地址要顺延。这个地址在FROM和TO指令里直接体现写错了就读不到数据或者输出不了。我见过有人把模块号写成K2结果程序跑起来模拟量输出一直是零查了半天才发现是模块地址搞错了。3.2 接线要点与传感器信号调理张力传感器的接线要看类型应变片式的一般输出毫伏级信号需要配变送器放大到0到10V或者4到20mA再进模拟量模块。如果是张力辊式传感器输出信号可能直接就是0到10V那就可以直接接。接线时注意屏蔽层单端接地接在控制柜的接地排上不要两端都接否则容易引入干扰。模拟量输入模块的通道配置要通过TO指令写配置字比如FX3U-4AD要设置通道为电压输入还是电流输入平均次数设多少。模板里默认用的是电压输入模式平均次数设了4次这样读上来的值波动小一些。如果现场干扰大可以把平均次数加到8或者16但响应会变慢。模拟量输出模块同理要设置输出范围是0到10V还是4到20mA模板里默认0到10V。# 模拟量模块初始化配置 TO K0 K0 H3300 K1 # 设置输入模块K0通道0为电压输入平均4次 TO K1 K0 H0000 K1 # 设置输出模块K1通道0为0-10V输出H3300这个配置字里高字节的33表示通道0和通道1都启用低字节的00表示电压模式和平均次数。具体配置字含义要查对应模块的手册不同型号的模块配置字不一样不能照抄。3.3 程序下载与在线监控要点程序写完后用GX Works2或者GX Developer下载到PLC下载前先把PLC打到STOP状态下载完再打到RUN。在线监控时重点看几个寄存器D10当前卷径、D30张力设定值、D100张力反馈值、D200 PID输出值。如果D100一直是零先查模拟量模块的FROM指令有没有执行再查传感器接线和变送器供电。如果D200有输出但伺服没反应查模拟量输出模块的TO指令和驱动器侧的模拟量输入端子接线。调试锥度模式时可以先手动改D10的值模拟卷径从0变到50观察D30是否按预期从100降到50。调试恒张力模式时先把PID的I和D设为零P设一个较小的值比如10看D100能不能跟上D30。如果D100振荡减小P如果D100始终低于D30增大P或者减小I。这个过程需要耐心我一般会花半小时到一小时来整定PID参数整定好了之后基本不用再动。4. 避坑与排查张力控制里最容易翻车的五个点4.1 卷径计算跳变导致张力突变现象收卷过程中张力突然变大或变小材料出现褶皱或者松卷。原因卷径信号来自超声波传感器时材料表面不平整或者传感器安装角度偏了会导致卷径读数跳变锥度公式算出来的张力跟着跳。解决在卷径信号进入锥度计算之前加一个一阶滤波或者用线速度除以角速度的方式间接算卷径后者更平滑但需要编码器信号。模板里预留了滤波程序的入口在D10赋值之前加一段移动平均就行。4.2 PID输出限幅没设导致积分饱和现象系统启动时张力冲得很高然后慢慢降下来或者停车后再启动响应很慢。原因PID输出没有限幅积分项在启动阶段累积到了很大的值等反馈跟上来了输出还在上限要等积分项慢慢退出来。解决在PID指令后面加一段限幅程序把D200限制在0到4000之间同时给PID的积分分离功能设一个阈值偏差大的时候先不积分。模板里D200后面直接接TO指令中间没有限幅实际用时建议加上。4.3 模拟量模块和传感器量程不匹配现象张力显示值始终偏大或者偏小怎么调PID都不对。原因传感器的量程是0到200N但程序里按0到100N标定的读上来的值放大了一倍。解决先确认传感器铭牌上的量程和输出信号范围再确认变送器的输出范围最后确认模拟量模块的输入范围三者要一致。模板里默认0到4000对应0到100%如果你的传感器是0到200N那D100读上来4000的时候实际张力是200NPID设定值D30也要按200N满量程来给。4.4 伺服力矩模式使能时序不对现象伺服驱动器报过载或者力矩输出不受控。原因PLC在伺服使能之前就给了力矩指令或者使能信号和力矩指令的时序反了。解决先给伺服使能信号SON等驱动器READY信号回来之后再给力矩指令。模板里M0是PID使能但伺服使能是另一个信号实际接线时要把驱动器的READY输出接回PLC输入点程序里做互锁。4.5 扩展模块地址和FROM/TO指令不匹配现象模拟量读不到值或者输出没反应但模块指示灯正常。原因FROM和TO指令里的模块号写错了比如实际模块在K1位置程序里写的K0。解决在GX Works2的PLC参数里查看扩展模块的分配情况确认每个模块的起始I/O地址和模块号。模块号是从0开始按物理顺序编号的不是按I/O地址编号的这一点容易搞混。5. 进阶技巧用卷径前馈补偿把张力波动压到最低PID调节有个天生短板它是反馈控制必须等偏差出来了才动作。收卷过程中卷径一直在变等PID发现张力不对了再去调已经滞后了。进阶做法是在PID输出上叠加一个卷径前馈补偿根据当前卷径直接算出一个理论力矩值作为PID输出的基础值PID只负责修正这个小偏差。这样PID的负担轻了响应也快了。具体实现上前馈力矩 张力设定值 × 当前卷径 × 机械传动比系数。这个系数需要实测标定方法是在某个固定卷径下手动给一个力矩让张力稳定在设定值记录此时的力矩输出和卷径算出系数。模板里可以加一段程序把D30乘以D10再乘以一个系数寄存器D50结果存到D60然后PID输出D200和D60相加后送到模拟量输出。# 卷径前馈补偿叠加到PID输出 MUL D30 D10 D60 # 张力设定值乘以当前卷径 DIV D60 K1000 D61 # 除以标定系数1000结果存入D61 ADD D61 D200 D201 # 前馈值加上PID输出结果存入D201 TO K1 K0 D201 K1 # 将叠加后的值输出到模拟量模块标定系数D50的确定需要现场试我一般会先取一个理论值然后看实际张力是偏大还是偏小偏大就减小系数偏小就增大系数调两三次就能找到合适的值。加了前馈之后PID的P可以设得小一些系统更稳定卷径从空卷到满卷的整个过程中张力波动能控制在正负3%以内。从那以后我每次调张力控制都会先把前馈补偿加上再整定PID不然纯反馈调出来的系统在卷径变化快的时候根本压不住。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站