1. 项目背景与核心需求
去年接手的一个自动化产线改造项目让我有机会深入使用三菱Q系列PLC配合QD77MS16运动控制模块。这个项目需要同时控制8台伺服电机完成物料精准输送和定位,传统的脉冲控制方式在布线复杂度和抗干扰能力上已经无法满足需求。经过方案对比,最终选择了基于SSCNET III/H总线通讯的解决方案,这也是目前工业现场多轴控制的主流选择。
三菱的QD77MS16模块最大支持16轴控制,通过光纤总线连接伺服驱动器,不仅节省了90%的布线工作量,更将通讯周期缩短到0.88ms。这种架构特别适合需要高同步精度的多轴协同作业场景。项目交付后,设备定位精度稳定在±0.02mm,完全达到设计要求。
2. 硬件系统架构设计
2.1 核心组件选型
主控单元采用Q03UDVCPU,这是三菱Q系列中支持结构化编程的中端型号。运动控制模块选择QD77MS16而非MS4/MS8型号,主要考虑两点:一是预留50%的轴数余量便于后期扩展;二是16轴模块的背板电流消耗(850mA)比使用两个MS8模块(2×550mA)更优。
伺服系统选用MR-J4系列驱动器配套HG-KR系列电机,关键参数匹配如下表:
| 组件 | 型号 | 关键参数 |
|---|---|---|
| 伺服驱动器 | MR-J4-40B-RJ | 400W,SSCNET III/H接口 |
| 伺服电机 | HG-KR43BJ-S100 | 400W,17bit绝对值编码器 |
| 总线电缆 | MR-J3BUS05M-A | 5米光纤,弯曲半径>30mm |
2.2 电气设计要点
使用EPLAN设计电气图纸时特别注意了以下几点:
- 动力电源与控制电源严格分离,伺服驱动器的主电路采用3相200V独立回路
- 每个驱动器DC24V控制电源增加0.5A保险丝保护
- 紧急停止回路采用双回路硬线连接,不经过PLC直接切断伺服使能
- 总线终端电阻设置在最后一个驱动器的COP2接口
重要提示:SSCNET III/H光纤接头插入时需听到"咔嗒"声确认锁紧,现场出现过因接头虚接导致的偶发通讯中断。
3. 运动控制参数配置
3.1 模块基础设置
在GX Works2中新建工程时,需要正确设置QD77MS16模块的安装位置和参数:
- 在I/O分配设置中确认模块起始地址(本例为0x100)
- 设置SSCNET III/H通讯速度为150Mbps
- 配置各轴对应的驱动器站号(1-8)
3.2 电子齿轮比计算实战
以输送带定位轴为例,机械参数如下:
- 减速机减速比:10:1
- 滚轮直径:100mm
- 要求定位精度:0.01mm
计算过程:
- 电机每转滚轮移动量 = π×100mm / 10 = 31.4mm
- 指令单位选择0.01mm
- 编码器分辨率131072(17bit)
- 电子齿轮比 = (0.01/31.4) × 131072 ≈ 41.74
在参数设置界面填入:
code复制CMX: 4174
CDV: 1000
经验值:实际调试时建议先设置CDV=10000,通过JOG运行观察实际移动距离,再微调CMX值。
4. PLC程序架构解析
4.1 结构化编程设计
采用FB(功能块)封装轴控制逻辑,每个轴对应一个FB实例。以轴1为例,接口参数定义如下:
st复制// 轴控制功能块接口定义
VAR_INPUT
bEnable : BOOL; // 使能信号
bHomeCmd : BOOL; // 回原点命令
bJogPlus : BOOL; // 正转点动
bJogMinus : BOOL; // 反转点动
rTargetPos : REAL; // 目标位置(mm)
END_VAR
VAR_OUTPUT
bBusy : BOOL; // 运行中状态
bDone : BOOL; // 定位完成
rCurPos : REAL; // 当前位置
END_VAR
4.2 运动指令编程要点
使用DSFRP指令实现绝对定位控制:
st复制// 绝对定位运动示例
LD M100 // 启动条件
AND X0 // 前限位正常
SFRP D100 // 写入目标位置到D100
DSFRP K1 // 触发轴1运动
OUT Y10 // 运动状态输出
注意事项:
- 执行DSFRP前需确保UDINT型目标位置已写入缓冲地址
- 相邻两条运动指令需间隔至少5ms
- 使用DSPD指令读取当前位置时需注意32bit数据的处理
5. 触摸屏人机界面开发
5.1 通讯参数配置
在GT Designer3中设置与PLC的通讯:
- 接口类型选择"Q系列以太网"
- PLC IP地址设置为192.168.1.10
- 端口号设置5007(默认)
- 站号设置255(广播站号)
5.2 关键画面元素设计
-
轴状态监控画面:
- 使用数值显示元件绑定D200-D207(各轴当前位置)
- 用柱状图显示D300-D307(各轴电流百分比)
- 添加8个LED指示灯显示M0-M7(轴使能状态)
-
参数设置画面:
- 创建密码保护界面(等级2)
- 设置数值输入元件限制范围(如速度限制在10-1000mm/s)
- 添加"参数保存"按钮触发PLC的EEPROM写入指令
6. 调试问题排查实录
6.1 典型故障处理
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 轴位置偏移 | 电子齿轮比错误 | 重新计算并核对CMX/CDV |
| 运动过程中抖动 | 刚性设置过低 | 调整Pn100参数(逐步+5) |
| 总线通讯中断 | 光纤接头污染 | 用无尘布清洁光纤端面 |
6.2 伺服增益调整技巧
- 先设置Pn170=0001(自动调谐模式)
- 让轴以50%速度运行完整行程
- 观察Servo Guide软件中的跟随误差曲线
- 手动微调Pn102(速度环增益)直到误差稳定在±3个脉冲内
调试中发现的一个关键点:当多个轴存在机械耦合时,建议将主轴的Pn102值设为从轴的80%,可减少协同运动时的振荡。
7. 项目文档管理建议
完整的项目文档应包括:
- 电气图纸:EPLAN源文件+PDF版本(含修订记录)
- 程序备份:
- GX Works2工程文件(.gxw)
- GT Designer3工程文件(.prj)
- 伺服参数文件(.mss)
- 操作手册:
- 包含紧急停止流程
- 日常维护检查表
- 故障代码速查表
建议在PLC程序中保留完整的注释块,例如:
st复制// ============================================
// 功能:轴1回原点程序
// 创建:2023-05-10
// 修改记录:
// 2023-05-15 增加近点信号防抖处理
// ============================================
这个项目从硬件选型到最终调试历时两个月,最大的收获是认识到良好的架构设计能大幅降低后期维护成本。特别是在处理多轴同步时,通过合理设置虚拟主轴和电子凸轮参数,实现了复杂的相位控制需求。