1. 项目概述
这个三菱PLC控制松下伺服的案例,是我在去年一个自动化设备改造项目中实际应用的方案。当时客户需要将老旧的继电器控制系统升级为PLC+伺服的精确定位系统,经过方案对比,最终选择了三菱FX3U PLC搭配1PG定位模块控制4台松下A5系列伺服电机的架构。
整套系统从硬件选型到程序编写耗时两周,其中最大的挑战在于如何让不同品牌的设备实现完美配合。现在回想起来,这个案例非常具有代表性——它涵盖了多轴联动控制、跨品牌设备通讯、运动曲线优化等工业自动化领域的核心知识点。下面我就把整个项目的实施细节和踩过的坑完整分享给大家。
2. 硬件配置详解
2.1 核心设备选型
PLC主机:三菱FX3U-48MT/ES-A
- 48点I/O(24入/24出)
- 内置3轴脉冲输出(但实际使用1PG模块扩展)
- 支持RS485通讯(用于HMI连接)
定位模块:FX3U-1PG
- 单轴脉冲输出模块
- 最高500kHz脉冲频率
- 支持S型加减速曲线
- 通过扩展电缆与PLC连接
伺服系统:松下MINAS A5系列
- 型号MHMF082L1U2M(750W)
- 17位绝对值编码器
- 支持脉冲+方向控制模式
- 内置电子齿轮比功能
关键提示:虽然三菱伺服与PLC兼容性更好,但客户现场已有松下伺服库存。经过测试,1PG模块的差分输出(5V)可以直接驱动松下伺服的OPC1接口,省去了信号转换器。
2.2 电气接线要点
-
脉冲信号连接:
- 1PG模块的FP/RP(正/反脉冲)接伺服PULS1/PULS2
- 模块的CLR信号接伺服RESET
- 所有信号线采用双绞屏蔽线(BELDEN 8761)
-
伺服使能控制:
- 通过PLC的Y输出点控制伺服SON信号
- 每个轴独立控制,方便单轴调试
-
急停回路:
- 硬线连接所有伺服的EMG信号
- 与PLC急停输入形成双重保护
ladder复制// 典型伺服使能控制梯形图
LD M8000 // RUN监控
OUT Y000 // 轴1使能
OUT Y001 // 轴2使能
OUT Y002 // 轴3使能
OUT Y003 // 轴4使能
3. 软件编程实战
3.1 定位模块参数设置
每个1PG模块需要配置以下核心参数(通过TO指令写入):
| 参数地址 | 功能说明 | 典型值 |
|---|---|---|
| D0 | 最高速度(Hz) | 200000 |
| D1 | 基底速度(Hz) | 500 |
| D2 | 加速时间(ms) | 300 |
| D3 | 减速时间(ms) | 300 |
| D4 | S曲线时间(ms) | 50 |
| D10 | 手动速度(Hz) | 10000 |
gxworks2复制// 示例参数写入程序
MOV K200000 D0
TO K0 K0 D0 K6 // 写入D0-D5参数
3.2 多轴联动控制逻辑
项目需要实现4轴同步插补运动,关键点在于:
-
启动同步:
- 使用PLS指令同时触发多个1PG模块
- 各模块的启动信号间隔控制在1ms内
-
位置同步:
- 通过FROM指令读取各轴当前值(D8140等)
- 比较位置偏差进行动态调整
-
异常处理:
- 监控各模块的M代码完成信号
- 设置超时判断(通常为理论时间的1.5倍)
ladder复制// 多轴启动控制示例
LD X000 // 启动按钮
PLS M0 // 产生启动脉冲
OUT M1000 // 轴1启动
OUT M1001 // 轴2启动
OUT M1002 // 轴3启动
OUT M1003 // 轴4启动
4. 伺服参数调试技巧
4.1 基本参数设置
在松下伺服调试软件MECHATROLINK-II中,这些参数需要特别注意:
-
控制模式:
- Pr0.01=3(位置控制模式)
- Pr0.02=1(脉冲+方向输入)
-
电子齿轮比:
- Pr0.08=10000(分子)
- Pr0.09=3600(分母)
- 对应1脉冲=0.1度
-
增益调整:
- 先设置Pr2.31=1(自动调谐模式)
- 运行后记录Pr2.04/Pr2.05的推荐值
4.2 现场调试经验
-
共振问题处理:
- 遇到特定速度区间振动时
- 在Pr2.23设置陷波滤波器中心频率
- 适当降低速度环增益(Pr2.04)
-
定位抖动优化:
- 增加加减速时间(1PG模块D2/D3)
- 调整伺服的前馈增益(Pr2.17)
-
原点回归技巧:
- 使用DOG搜索模式(Z相+近点信号)
- 回归速度建议设为最高速度的10%
实测发现:当负载惯量比超过30倍时,需要启用Pr2.33的双模自适应控制功能,否则会出现跟随误差过大的问题。
5. 典型问题排查实录
5.1 脉冲丢失问题
现象:轴3偶尔会少走几个脉冲,导致累计误差。
排查过程:
- 用示波器抓取脉冲信号 - 波形完整
- 检查接地 - 发现屏蔽层未单端接地
- 测量电源 - 24V电源有0.5V波动
解决方案:
- 重新处理所有信号线的接地
- 给开关电源增加稳压模块
- 在PLC程序中加入位置校验逻辑
5.2 同步偏差问题
现象:4轴同时启动时,轴2总是慢100ms左右。
原因分析:
- 1PG模块的响应时间差异
- 伺服使能信号不同步
- 机械传动间隙
最终解决:
ladder复制// 修改后的同步控制程序
LD X000
SET M1000 // 提前使能所有轴
SET M1001
SET M1002
SET M1003
TMR T0 K50 // 50ms延时
PLS M0 // 统一启动脉冲
6. 程序注释规范建议
好的注释应该包含以下要素:
-
功能块说明:
- 在每个子程序开头注明功能、作者、修改记录
- 示例:
gxworks2复制// [功能] 轴1原点回归 // [作者] Wang工 // [版本] V1.2 2023-05-20
-
关键参数注释:
- 在TO/FROM指令后注明地址含义
- 示例:
gxworks2复制TO K1 K0 D100 K5 // 写入轴2参数:D100=速度, D101=位置...
-
安全提示:
- 对涉及安全的逻辑特别标注
- 示例:
ladder复制LD X005 // 急停信号!勿修改! OUT M100
这套系统已经稳定运行超过2000小时,期间只因为电源波动导致过一次伺服报警。对于需要跨品牌控制伺服的场合,我的建议是:一定要做好信号隔离,脉冲线最好用双绞屏蔽线,并且每个轴的参数要单独微调。