1. 项目概述:造纸厂卷筒分切机PLC控制系统
去年帮朋友改造老式分切机时,突然想起十年前在造纸厂调试的第一个PLC项目。那台FX3U控制的卷筒分切机,现在看代码可能略显稚嫩,但包含的脉冲定位、人机交互、故障处理等核心要素,至今仍是工业控制的经典范式。这个总步数不足500步的程序,后来成了我带新人必讲的"启蒙教材"。
程序采用三菱FX3U-32MT PLC搭配GT1155触摸屏,控制两相混合式步进电机驱动分切刀架。核心功能包括:
- 基于PLSY指令的脉冲定位控制
- 触摸屏参数在线修改
- 六类故障状态监测与联锁
- 手动/自动模式切换
- 设备运行时长统计
特别适合初学者的点在于:所有功能都采用最基础的指令实现(MOV、AND、CMP等),但组合方式体现了真实的工程思维。比如用T37定时器实现长按点动转连续运行,这个设计后来被我复用在五六个项目里。
2. 硬件架构解析
2.1 核心器件选型
选择FX3U-32MT主要考虑三点:
- 内置3轴脉冲输出(Y0/Y1/Y2),满足未来可能增加的伺服轴
- 晶体管输出型可直接驱动步进驱动器脉冲口
- 32点I/O对于分切机这类单机设备足够用
步进电机选用雷赛DM542驱动器+57HS22电机组合,关键参数:
- 保持扭矩1.2N·m(满足最大分切阻力0.8N·m)
- 步距角1.8°(对应每转200脉冲)
- 设置16细分(实际每转3200脉冲)
调试中发现:当脉冲频率超过50kHz时电机易丢步,最终将触摸屏速度上限设为30kHz(对应机械速度9.375m/min)
2.2 电气接线要点
脉冲控制回路有个易错点:驱动器PUL+接PLC的Y0,PUL-接COM0,方向信号DIR+接Y4。曾因COM0误接24V+导致脉冲无法触发,这是新手常踩的坑。
输入回路设计了两重滤波:
- 硬件层面:在限位传感器X3前并联104电容+10K电阻(RC时间常数约10ms)
- 软件层面:用T5定时器做20ms延时滤波
这种"硬软结合"的抗干扰方案,使设备在造纸厂高粉尘环境下稳定运行三年无故障。
3. PLC程序深度剖析
3.1 脉冲定位控制模块
核心代码段解析:
assembly复制PLSY D210 D200 Y0 Y4 ; 频率寄存器D210,脉冲数寄存器D200
相比直接写PLSY K5000 K1000 Y0 Y4的优势:
- 参数可在线修改(通过触摸屏改变D200/D210值)
- 便于做速度曲线规划(如启动阶段分段赋值D210)
原点回归程序暗藏玄机:
assembly复制ZRN D100 D110 Y0 ; D100=爬行速度,D110=近点信号
调试发现金属传感器(X3)在检测到挡铁时会抖动3-5次,解决方案:
- 将爬行速度D100设为500Hz(原1000Hz)
- 在近点信号后插入T6定时器50ms延时
3.2 报警处理逻辑
故障监测采用位映射方案:
assembly复制MOV K2X0 D100 ; X0-X5状态存入D100
AND D100 K63 ; 取低6位(X0-X5)
CMP D100 K0 ; 非零时触发报警
虽然BMOV指令更简洁,但当前方案的调试优势:
- 在线监控时D100的二进制位直接对应故障灯(如bit0=过载)
- 不需要额外维护故障代码对照表
报警历史记录采用移位寄存器实现:
assembly复制MOV D100 D101 ; 当前故障
ROL D102 K1 ; 历史记录左移
OR D102 D101 ; 更新记录
4. 触摸屏程序设计要点
4.1 人机交互布局
GT Designer3的界面规划遵循"功能分区"原则:
- 左上角:运行状态显示区(当前速度/产量)
- 中部:参数设置区(数值输入框绑定D200-D210)
- 右下角:手动操作区(仿游戏手柄布局)
数值输入元件的关键设置:
- 数据格式:32位无符号十进制
- 上限值:脉冲数D200≤30000,速度D210≤30000
- 写入模式:设定完成后需点击"确认"按钮(M10触发)
4.2 参数保护机制
为防止操作工误改参数,设计了三重防护:
- 关键参数界面需要输入密码(固定密码1234)
- 速度修改后延迟3秒生效(用T10计时)
- 急停信号(X24)触发时锁定输入元件
5. 调试与优化实录
5.1 步进电机异常处理
曾出现的"电机乱跑"问题排查过程:
- 现象:自动运行时刀架突然反向运动
- 排查:
- 监控Y4方向信号发现异常跳变
- 检查程序发现ZRN指令执行后未复位Y4
- 解决方案:
assembly复制ZRN D100 D110 Y0 RST Y4 ; 新增复位指令
5.2 皮带寿命预测算法
运行时长统计模块的工业价值:
assembly复制LD M8000 ; 运行监控
OUT T250 K3600 ; 1小时定时器
LD T250
INC D502 ; 总小时数+1
维护人员根据D502值预判更换皮带:
- 普通V带:D502≥2000小时建议更换
- 聚氨酯同步带:D502≥5000小时检测
6. 工程经验总结
这个项目给我最深的启示是:优秀的工业程序不在于用了多高级的指令,而在于对细节的把控。比如:
-
所有定时器编号按功能分组:
- T0-T49:工艺定时(分切时长等)
- T50-T99:设备保护(电机冷却等)
- T100以上:界面交互
-
注释规范值得借鉴:
- 每个网络段首注明功能
- 关键参数标注物理含义(如";D200=脉冲数(1脉冲=0.1mm)")
- 修改记录用特殊标记(如"//MOD2024-03: 增加T6滤波")
建议初学者拿到程序后,按这个顺序研究:
- 先理清I/O分配表(哪个点接什么设备)
- 再分析主流程框架(自动/手动模式切换)
- 最后啃透特殊功能(如报警联锁)
这套代码虽然简单,但完整呈现了从需求分析到调试优化的全过程。现在看或许会笑当年青涩的编程风格,但正是这些"踩坑"经历,让我悟出了工业控制的核心——稳定胜过一切花哨的技巧
