1. 定长切纸机PLC控制系统概述
在包装印刷行业中,定长切纸机是最基础的加工设备之一。我最近拆解了一台基于西门子S7-200 PLC的切纸机控制系统,这套系统已经稳定运行了8年多。定长切纸的核心需求是通过PLC精确控制送料辊的转动距离,确保每次切割的纸张长度误差不超过±0.5mm。
这套系统采用了典型的"PLC+变频器+编码器"架构。PLC通过高速计数器接收编码器脉冲,实时计算当前送料长度,当达到设定值时立即触发切割动作。触摸屏(HMI)作为人机界面,操作工可以方便地设置切割长度、生产数量等参数。这种控制方式比传统的机械挡板定位更灵活,精度也更高。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件配置与信号连接
2.1 主要硬件组成
这台切纸机的核心控制部件包括:
- 西门子S7-226 CPU:自带24DI/16DO,支持6个高速计数器
- EM235模拟量模块:4AI/1AO,用于变频器速度控制
- 威纶通MT6070iH触摸屏:7寸彩色屏,通过PPI协议与PLC通信
- 台达VFD-M变频器:驱动送料辊电机
- OMRON E6B2-CWZ6C编码器:600P/R,安装在送料辊主轴
2.2 I/O分配与接线要点
PLC的I/O分配需要特别注意信号类型匹配:
- 高速计数器HSC0接编码器A/B相(I0.0/I0.1)
- 切割气缸控制接Q0.0(晶体管输出)
- 急停信号接I0.2(常闭触点)
- 变频器模拟量输出接AQW0(0-10V对应0-50Hz)
编码器接线最容易出错。增量式编码器的A/B相必须接入PLC的高速计数器专用输入点(S7-200的I0.0-I0.5),普通输入点无法准确捕获高速脉冲。我曾遇到因误接普通输入点导致计数丢失的问题,后来改用屏蔽双绞线并确保A/B相极性正确才解决。
3. 高速计数器应用详解
3.1 高速计数器配置
在S7-200中配置高速计数器需要以下几个步骤:
- 定义计数器模式:选择模式9(A/B相正交计数,4倍频)
- 设置初始值和预设值:通过SMB37-SMB67特殊寄存器
- 编写中断程序:在CV=PV时触发中断
关键配置代码如下:
code复制MOVB 16#FC, SMB37 // 允许HSC,正交模式4x
MOVD +0, SMD38 // 初始值清零
MOVD VD100, SMD42 // 预设值=设定长度
ATCH INT_0, 12 // 连接中断
HSC 0 // 启动HSC0
3.2 长度计算与误差补偿
编码器每转600个脉冲,送料辊周长188mm,因此脉冲当量为:
188mm ÷ (600×4) = 0.0783mm/脉冲
在程序中需要做以下补偿:
- 机械传动间隙补偿:每次换向时额外计入5个脉冲
- 温度补偿:根据环境温度调整脉冲当量(系数存于VD200)
- 末端减速:在距离目标值100mm时降低送料速度
实测发现,不进行温度补偿时,连续运行2小时后累计误差可达1.2mm。通过添加温度传感器(AIW0)和补偿算法后,误差控制在±0.3mm以内。
4. 切割控制逻辑实现
4.1 基本控制流程
完整的切割周期包括:
- 启动送料(变频器加速至35Hz)
- 高速计数器累计长度
- 达到预设值前100mm减速至15Hz
- 到达预设值立即停止并触发切割(Q0.0置1)
- 切割气缸保持50ms后复位
- 延时200ms后开始下一周期
4.2 关键安全逻辑
安全设计是切纸机程序的重点:
- 急停信号(I0.2)直接切断输出和变频器使能
- 两次切割间隔小于300ms时触发报警
- 编码器信号丢失超过100ms自动停机
- 切割超时(气缸未回位)保护
一个实际案例:操作工快速连续修改切割长度导致预设值被意外清零。我们在程序中增加了"长度修改锁定"功能,必须在停止状态下才能修改长度参数,避免了运行中误操作的风险。
5. 触摸屏界面设计要点
威纶通触摸屏的程序包含以下几个关键画面:
5.1 主操作界面
- 实时显示:当前长度、设定长度、累计数量
- 控制按钮:启动/停止/急停
- 参数设置入口(密码保护)
5.2 参数设置界面
- 长度设置:0.1mm分辨率
- 生产数量设定
- 速度调节(30-45Hz可调)
- 补偿参数设置(工程师权限)
5.3 报警历史界面
- 记录最近50条报警信息
- 包含时间戳和报警详情
- 报警确认功能
界面设计要特别注意操作逻辑的一致性。例如所有"确认"按钮放在右下角,"返回"按钮统一在左上角。我们曾因按钮位置不统一导致操作工误按,后来遵循FMI设计规范后操作失误率降低了70%。
6. 调试与优化经验
6.1 调试步骤建议
- 先单独测试编码器信号(用示波器观察波形)
- 离线测试高速计数器功能
- 空载测试送料控制
- 带载调试切割时序
- 长时间运行测试稳定性
6.2 常见问题排查
- 计数不准确:检查编码器电源(需稳定12VDC)、屏蔽层接地
- 切割位置偏移:检查机械联轴器是否打滑
- 触摸屏通信中断:检查PPI电缆(最好用原装电缆)
- 变频器过载:调整加减速时间(建议2-3s)
一个值得分享的调试技巧:在PLC中建立一个"虚拟长度"变量,可以绕过实际编码器信号进行软件仿真。这大大缩短了初期的调试时间,等逻辑验证完成后再接入实际硬件。
7. 程序结构优化建议
7.1 模块化编程
将功能分解为独立子程序:
- HSC初始化(SBR0)
- 长度计算(SBR1)
- 切割控制(SBR2)
- 报警处理(SBR3)
7.2 数据块组织
合理规划V存储区:
- VD0-VD99:系统参数
- VD100-VD199:工艺参数
- VD200-VD299:补偿参数
- VD300以上:临时变量
7.3 注释规范
每个网络添加功能注释,关键变量注明单位和范围。例如:
code复制// VD100 - 设定长度 (mm)
// 范围: 100.0-999.9
这套程序经过多次优化后,扫描周期从最初的15ms降低到8ms,为后续功能扩展留出了余量。我建议每2-3年对长期运行的PLC程序进行一次重构优化,删除废弃的逻辑,整理变量命名,这对系统长期稳定运行很有帮助。
