1. 项目概述:FX3U+1PG模块控制松下伺服四轴系统
去年接手的一个自动化产线改造项目,需要实现四轴同步定位控制。经过方案对比,最终选用三菱FX3U PLC搭配1PG定位模块控制四台松下A6系列伺服电机。这个架构最大的优势在于性价比——FX3U本体通过扩展1PG模块即可实现4轴独立控制,相比运动控制器方案节省了60%硬件成本。
整套系统包含以下核心组件:
- 控制层:三菱FX3U-48MT/ES-A PLC(晶体管输出型)
- 定位模块:FX3U-1PG×4(每个模块控制1轴)
- 执行层:松下MINAS A6系列750W伺服电机及驱动器
- HMI:MCGS TPC7062KX触摸屏
- 辅助设备:限位开关、原点传感器、紧急停止回路等
实际运行效果超出预期,四轴联动时重复定位精度达到±0.02mm,完全满足产线对精密装配的要求。更关键的是,通过结构化编程将常用功能封装成标准功能块(FB),使得现场调试效率提升3倍以上——新设备导入时,工程师只需调用现成的功能块,无需重复编写底层逻辑。
2. 硬件配置与电气设计要点
2.1 模块选型与配置逻辑
选择FX3U-1PG模块而非更高级的20PG主要基于三点考量:
- 成本因素:1PG模块单价约为20PG的1/3,四轴方案可节省近万元
- 性能匹配:松下A6伺服最高响应频率500kHz,1PG的200kHz输出已足够
- 功能需求:本项目无需电子凸轮等高级功能,基础定位即可满足
硬件配置时需特别注意:
- PLC本体必须选择晶体管输出型(型号带"T"),继电器型无法输出高速脉冲
- 每个1PG模块占用8个I/O点,四模块需预留32点(实际使用FX3U-48MT剩余16点备用)
- 伺服驱动器型号选择MR-JE-40A(对应750W电机),支持三菱兼容的SSCNET协议
2.2 电气接线关键细节
伺服系统接线有三大要点需要特别注意:
脉冲信号传输:
- 使用双绞屏蔽线(型号:BELDEN 8761)
- 1PG模块侧:P+(Y0)、P-(COM0)接差分脉冲输出
- 伺服侧:PP(脉冲+)、NP(脉冲-)对应连接
- 屏蔽层单端接地(驱动器侧接地)
控制信号隔离:
- 限位信号:通过OMRON G3VM-401B光耦隔离后接入PLC
- 伺服报警:ALM信号经TLP281-4光耦隔离
- 紧急停止:独立硬线回路,不经过PLC直接切断伺服使能
电源配置:
- PLC与1PG模块:共用24V开关电源(明纬NES-350-24)
- 伺服驱动器:三相200VAC主电源+单相100VAC控制电源
- 接地系统:动力地(PE)与信号地(SG)在控制柜星型接地点汇接
特别注意:1PG模块的BFM(缓冲存储器)地址分配遵循特定规则。例如第一个模块的脉冲输出监控地址是BFM#13/#14,第二个模块则自动偏移32个地址(BFM#45/#46)。编程时建议使用宏定义管理这些地址。
3. 软件架构设计与核心功能实现
3.1 程序整体结构设计
采用结构化编程(ST语言)将系统分解为以下层次:
-
设备层:直接操作硬件的底层功能
- 1PG模块参数配置
- 伺服驱动参数读写
- 急停/报警处理
-
功能层:封装标准运动控制功能
- FB_JogControl:手动点动
- FB_Homing:回零操作
- FB_Positioning:绝对/相对定位
- FB_SpeedControl:速度模式控制
-
工艺层:产品专用逻辑
- 配方管理系统
- 生产节拍控制
- 质量检测联动
-
交互层:HMI通讯处理
- 数据地址映射
- 报警信息管理
- 配方上传下载
3.2 关键功能块代码解析
以最常用的JOG功能块为例,其内部实现包含以下核心技术点:
st复制FUNCTION_BLOCK FB_JogControl
VAR_INPUT
AxisNo: INT; // 轴号1-4
JogSpeed: REAL; // 手动速度 mm/s
PositiveDir: BOOL; // 正方向触发
Enable: BOOL; // 功能使能
END_VAR
VAR_OUTPUT
CurrentPos: REAL; // 当前位置反馈
Status: WORD; // 状态字
END_VAR
VAR
// 内部变量
AccTime: TIME := T#500ms;
DecTime: TIME := T#500ms;
ActualVel: REAL;
bPowerOn: BOOL := FALSE;
END_VAR
// 轴使能控制
IF Enable AND NOT bPowerOn THEN
MC_Power(
Axis:=AxisNo,
Enable:=TRUE,
Status=>Status);
bPowerOn := TRUE;
ELSIF NOT Enable AND bPowerOn THEN
MC_Power(
Axis:=AxisNo,
Enable:=FALSE,
Status=>Status);
bPowerOn := FALSE;
END_IF;
// JOG速度模式控制
IF Enable AND bPowerOn THEN
MC_JogVelocity(
Axis:=AxisNo,
Velocity:=JogSpeed,
Direction:=PositiveDir,
Acceleration:=AccTime,
Deceleration:=DecTime,
Status=>Status);
// 位置反馈更新
MC_ReadActualPosition(
Axis:=AxisNo,
Position=>CurrentPos);
END_IF;
该功能块的创新点在于:
- 使能状态自保持逻辑,避免频繁开关伺服
- 内置加速度/减速度时间参数,防止急启急停
- 实时位置反馈接口,方便HMI显示
- 状态字输出,便于上层故障诊断
3.3 多轴同步控制策略
实现四轴同步的关键在于:
- 硬件同步:所有1PG模块共用同一时钟源(FX3U内置)
- 软件同步:使用MC_SyncMove指令组
- 参数匹配:各轴电子齿轮比严格一致
典型的三轴插补移动实现代码:
st复制// 启动同步移动组
MC_GroupEnable(
Group:=1,
Enable:=TRUE);
// 设置目标位置
MC_MoveAbsolute(
Axis:=1,
Position:=100.0,
Velocity:=50.0);
MC_MoveAbsolute(
Axis:=2,
Position:=150.0,
Velocity:=75.0);
MC_MoveAbsolute(
Axis:=3,
Position:=80.0,
Velocity:=40.0);
// 同步启动
MC_SyncMove(
Group:=1,
Axes:=[1,2,3],
SyncMode:=MC_SYNC_START);
4. 触摸屏交互与配方管理
4.1 MCGS触摸屏界面设计
HMI界面架构分为四个主要区域:
- 状态监控区:实时显示四轴位置、速度、报警状态
- 手动操作区:JOG按钮、回零触发、速度设定
- 配方管理区:产品参数选择、编辑、保存
- 报警历史区:故障记录与处理建议
通讯优化技巧:
- 使用D8120设置通讯参数:9600bps,7,E,1
- 关键数据采用定时轮询(500ms周期)
- 非关键数据采用变化上传策略
4.2 配方系统实现方案
配方数据存储在PLC的D寄存器区(D1000-D1999),通过CSV文件与触摸屏交互:
-
HMI侧操作流程:
- 选择产品型号 -> 加载对应配方号
- 修改参数 -> 保存到当前配方
- 导出配方 -> 生成CSV备份文件
-
PLC侧处理逻辑:
st复制// 配方数据结构
TYPE Recipe_Data :
STRUCT
Axis1_Pos : REAL;
Axis2_Pos : REAL;
Axis3_Pos : REAL;
Axis4_Pos : REAL;
Speed : REAL;
AccTime : TIME;
END_STRUCT
END_TYPE
// 当前配方存储
VAR_GLOBAL
CurrentRecipe : Recipe_Data;
END_VAR
// 配方加载函数
FUNCTION LoadRecipe : BOOL
VAR_INPUT
RecipeNo : INT;
END_VAR
VAR
BaseAddr : INT := 1000 + (RecipeNo-1)*10;
END_VAR
CurrentRecipe.Axis1_Pos := D[BaseAddr];
CurrentRecipe.Axis2_Pos := D[BaseAddr+2];
CurrentRecipe.Axis3_Pos := D[BaseAddr+4];
CurrentRecipe.Axis4_Pos := D[BaseAddr+6];
CurrentRecipe.Speed := D[BaseAddr+8];
CurrentRecipe.AccTime := D[BaseAddr+10];
LoadRecipe := TRUE;
5. 调试经验与故障排查指南
5.1 典型问题解决方案
问题1:伺服电机出现位置偏差
- 检查步骤:
- 确认电子齿轮比设置(PLC侧与驱动器侧需一致)
- 测量实际脉冲频率(使用示波器检测1PG输出)
- 检查机械传动背隙(千分表测量反向间隙)
问题2:多轴同步时出现跟随误差
- 解决方案:
- 调整速度前馈参数(松下参数PA05)
- 增加加减速时间(避免超过伺服加速度能力)
- 检查机械耦合刚度(联轴器是否松动)
问题3:回零操作不准确
- 处理方法:
- 更换更高精度的原点传感器(推荐OMRON E3Z系列)
- 调整回零速度(分两段:高速接近+低速定位)
- 启用Z相脉冲补偿(需绝对值编码器支持)
5.2 参数优化经验值
经过数十次调试总结的关键参数:
| 参数类别 | 推荐值 | 说明 |
|---|---|---|
| 伺服刚性 | 15 | 刚性等级(PA01) |
| 速度前馈 | 85% | 提高跟踪精度(PA05) |
| 位置环增益 | 35rad/s | 响应性调节(PA07) |
| 1PG输出频率 | 100kHz | 平衡速度与精度 |
| 加减速时间 | 300-500ms | 避免机械冲击 |
6. 系统扩展与升级建议
现有架构可支持以下升级方向:
-
增加视觉引导:
- 通过FX3U-ENET模块连接工业相机
- 使用RS指令传输坐标数据
- 需扩展D寄存器区存储视觉参数
-
实现EtherCAT通讯:
- 更换PLC为FX5U系列
- 使用SSCNETⅢ协议直接驱动松下伺服
- 优点:可减少接线复杂度
-
加入力控功能:
- 增加力传感器(如FUTEK LCM300)
- 通过模拟量输入模块反馈力值
- 修改功能块实现力/位混合控制
这套系统经过半年连续运行验证,稳定性表现优异。最大的收获是标准化功能块带来的效率提升——新项目开发时,运动控制部分的程序复用率可达80%以上。建议同行在类似项目中,一定要重视基础功能的模块化封装,长期来看能大幅降低开发成本。