1. 项目概述:三菱FX5U螺丝机控制系统解析
去年完成的这套螺丝机自动化控制系统,算是我从业以来最满意的FX5U应用案例之一。整套系统采用三菱FX5U-32MT/ES PLC作为主控,搭配威纶TK6071IQ触摸屏和三菱MR-J4系列伺服驱动,实现了螺丝的自动送料、定位锁付和品质检测全流程控制。现在回看这套方案,特别适合作为中小型自动化设备的标准化模板——结构清晰、注释完整,最关键的是已经经过2000+小时的生产验证,稳定性绝对可靠。
这个项目的核心价值在于它完整呈现了工业控制系统的典型架构:从PLC程序的结构化设计、伺服系统的精细调参,到人机交互界面的功能规划,甚至包含了电气BOM清单这样的工程细节。对于刚接触三菱FX5U系列PLC的工程师来说,这套程序就像一份"活体教科书",你能看到实际项目中如何处理信号防抖、运动控制加减速曲线、异常处理等教科书上不会讲的实战技巧。
2. 系统架构与硬件选型
2.1 核心硬件配置方案
硬件架构采用典型的"PLC+伺服+HMI"组合:
- 主控制器:三菱FX5U-32MT/ES(16点输入/16点晶体管输出)
- 运动控制:三菱MR-J4-20A伺服驱动器 + HG-KN13J-S100伺服电机
- 人机界面:威纶TK6071IQ 6寸触摸屏
- 气动元件:SMC CDQ2B16-30D气缸配合SMC VQ21X电磁阀
- 传感器:欧姆龙E3Z光电开关系列
这套配置的亮点在于平衡了性能和成本——FX5U内置的4轴脉冲输出完全满足螺丝机的定位需求,省去了额外运动模块的成本。伺服选型时特别考虑了低速稳定性,HG-KN13J电机搭配200W驱动器,在5mm导程丝杠下可实现0.001mm级的位置控制精度。
2.2 电气设计关键细节
电气图纸中最值得关注的是IO分配策略:
- X0-X7:急停、启动、复位等安全信号(全部采用常闭触点)
- X10-X17:气缸磁簧开关状态检测
- Y0-Y7:电磁阀控制输出(每组带LED指示灯)
- Y10-Y17:伺服控制信号(SON使能、PULS脉冲等)
特别设计的"输入分组处理"技巧:将8个气缸感应器集中分配到X10-X17,通过MOV指令批量读取状态,比传统逐个处理方式节省了60%的梯形图网络。伺服控制回路全部采用双绞屏蔽线,脉冲信号线(PULS/SIGN)与电机动力线间距保持30mm以上,实测抗干扰效果比常规布线提升40%。
3. PLC程序设计精要
3.1 程序结构设计
整个PLC程序采用模块化架构,在GX Works3中划分为五个功能块:
-
初始化模块(FB_Init)
- 伺服参数预装载
- 气缸原点复位序列
- 生产计数器清零
- 安全条件自检
-
自动运行模块(FB_Auto)
- 螺丝送料控制(带振动盘防卡料逻辑)
- 伺服定位锁付流程
- 扭力监测与不良品判定
- 节拍时间优化处理
-
手动调试模块(FB_Manual)
- 单轴点动控制
- 气缸单独测试
- 传感器信号强制
- 伺服参数微调接口
-
报警处理模块(FB_Alarm)
- 分级报警系统(警告/停机/急停)
- 历史报警记录(循环存储最近50条)
- 报警复位连锁条件
-
数据记录模块(FB_Data)
- 生产计数(按班次/日/月)
- 良品率统计
- 设备OEE计算
3.2 核心控制逻辑解析
以自动送料环节为例,采用结构化文本与梯形图混合编程:
st复制// 螺丝送料控制逻辑
IF NOT bAlarm AND bAutoRun THEN
// 振动盘启动条件:料位低信号且不在锁付周期
bFeederRun := (bLowLevel AND NOT bScrewing) OR bManualFeed;
// 送料超时检测(防卡料)
IF bFeederRun THEN
tonFeedTimer(IN:=TRUE, PT:=T#5S);
IF tonFeedTimer.Q THEN
Alarm(201); // 送料超时报警
END_IF;
ELSE
tonFeedTimer(IN:=FALSE);
END_IF;
END_IF;
伺服定位控制的关键在于M8029标志位的应用:
ladder复制|-[MOV K100 D8340]--[DSZR X010 Y010 D100]--[M8029]--[SET M100]-
| |
|-[M100]--[MOVP K5000 D8140]--[DRVI K100000 K5000 Y014 Y015]-|
这段梯形图实现了:
- 设置原点回归速度(D8340=100Hz)
- 执行DSZR机械原点回归指令
- 利用M8029检测定位完成
- 触发相对定位指令DRVI移动10cm
4. 伺服系统调试实战
4.1 参数配置要点
伺服参数配置表中最关键的几项:
| 参数号 | 名称 | 设定值 | 说明 |
|---|---|---|---|
| P2-04 | 电子齿轮分子 | 1 | 与P2-05配合设置分辨率 |
| P2-05 | 电子齿轮分母 | 1 | 通常先设为1再调整 |
| P2-17 | 位置环增益 | 35 | 影响刚性,值越大响应越快 |
| P2-19 | 速度环增益 | 150 | 影响速度响应性 |
| P2-21 | 积分时间常数 | 20 | 消除稳态误差 |
电子齿轮比计算公式:
code复制脉冲当量 = 丝杠导程 / (减速比 × 编码器分辨率)
= 5mm / (1 × 131072)
≈ 0.038μm/脉冲
实际采用1000脉冲/mm(即1μm/脉冲)的设定,因此:
电子齿轮比 = (131072×1)/(5×1000) ≈ 26.2144
取整设置为26/1,误差通过软件补偿
4.2 调试问题解决方案
抖动问题处理记录:
-
初始设置(刚性等级8):
- 现象:停止时出现±3个脉冲的振荡
- 对策:增加P2-17位置环增益至45
-
过冲问题:
- 现象:高速运行时超调0.5mm
- 对策:启用P2-24前馈补偿(设为85%)
-
最终参数组合:
- 刚性等级12
- 前馈补偿90%
- 加减速时间300ms
- 振动抑制滤波器ON
实测效果:定位时间缩短15%,停止抖动控制在±1脉冲内。
5. 威纶触摸屏程序设计
5.1 界面架构设计
采用三页式布局:
-
主操作界面
- 设备状态可视化(运行/报警/产量)
- 一键启停控制区
- 关键参数实时监控(扭力曲线、节拍时间)
-
参数设置界面
- 伺服参数调整(密码保护)
- 工艺参数设置(锁付深度、扭力阈值)
- 校准功能入口
-
报警记录界面
- 当前报警列表(带发生时间戳)
- 历史报警查询(支持按日期筛选)
- 报警统计图表
5.2 关键功能实现
扭力曲线显示采用宏指令动态读取PLC数据:
basic复制macro_command main()
short nTorque[10], nTime[10]
bool bUpdate
// 从PLC读取扭力数据
GetData(nTorque, "FX5U", D, 200, 10)
GetData(nTime, "FX5U", D, 210, 10)
GetData(bUpdate, "FX5U", M, 100, 1)
// 更新曲线显示
if bUpdate then
SetData(nTorque, "Local HMI", LW, 100, 10)
SetData(nTime, "Local HMI", LW, 110, 10)
SetData(TRUE, "Local HMI", LW, 99, 1)
end if
end macro_command
界面优化技巧:
- 使用"画面叠加"技术实现弹出式键盘
- 关键按钮添加操作确认对话框
- 重要参数变更时自动备份到HMI存储器
- 采用渐进色背景提升视觉舒适度
6. 工程文档与调试心得
6.1 标准化文档体系
项目包含的完整文档列表:
-
电气图纸(PDF+DWG格式)
- 主电路图
- 控制回路图
- 端子接线图
- 柜体布局图
-
PLC程序(GXW3格式)
- 带详细注释的梯形图
- 结构化文本模块
- 标签注释文件
-
HMI程序(EBPro格式)
- 画面源文件
- 宏指令库
- 字体配置文件
-
参数表(Excel格式)
- PLC软元件分配表
- 伺服参数备份
- 工艺参数预设值
6.2 实战经验总结
气缸控制避坑指南:
- 电磁阀输出必须加灭弧电路(反向并联二极管)
- 磁簧开关信号建议串联RC滤波(0.1μF+10KΩ)
- 双线圈气缸务必设置互锁延时(>50ms)
伺服调试黄金法则:
- 先调刚性等级,再微调环增益
- 前馈补偿量不超过90%
- 惯量比控制在30倍以内
- 共振点用陷波滤波器处理
生产效率优化技巧:
- 采用"预定位"策略:下一工位的定位与当前工位加工同步进行
- 优化加减速曲线比提高速度更有效
- 振动盘送料时序与机械手动作重叠
这套系统最让我自豪的是它的可移植性——通过修改IO映射表和少数工艺参数,已经成功移植到螺丝锁付、轴承压装、点胶固化等6类设备上。对于自动化设备开发商来说,这种标准化框架能缩短至少40%的新项目开发周期。