Mitsubishi FX5U伺服机器人程序:包括三菱PLC程序、威纶通触摸屏程序、IO表、材料清单及eplan和PDF电气图
Mitsubishi三菱PLC FX5U 伺服机器人程序 包括 三菱FX5U程序 威纶通触摸屏程序 IO表 材料清单 eplan和PDF电气图 4轴伺服程序,1个机器人,FX5U结构化编程。
凌晨三点的工控人电脑屏幕总是亮得刺眼,攥着FX5U手册的手有点抖——这已经是第三遍核对伺服轴参数了。突然发现结构化程序里的某个功能块返回值异常,这种时候真想摔了威纶通触摸屏。别慌,咱们先来杯咖啡,拆解下这个四轴伺服的机器人控制项目。
结构化编程里有个叫AxisCtrl的功能块特别有意思,看看这个伺服使能部分的ST代码:
IF NOT Axis1.bServoReady THEN
Axis1.diServoOK := FALSE;
Axis1.diServoOn := TRUE;
Axis1.doAlarmReset := TRUE;
TON(Axis1.tResetTimer, T#500ms);
IF Axis1.tResetTimer.Q THEN
Axis1.doAlarmReset := FALSE;
END_IF
END_IF
这段代码藏着三个关键点:上电先触发报警复位信号500ms(很多新手会忘记时序控制),伺服就绪信号取反逻辑处理(遇到过现场急停恢复后伺服无法启动的坑没?),最后用TON定时器实现脉冲信号(直接置位复位会出幺蛾子)。
触摸屏上的IO监控界面绝对是个宝藏,威纶通EBPro里的元件地址直接对应PLC的%U区域。比如机械手夹爪状态显示,地址填个U3.12,背后对应的是:
//IO映射程序段
Robot.GripperStatus := %IX1.4; //硬接线输入
%QX0.7 := Robot.GripperCmd; //输出到继电器
这里有个骚操作——把物理IO点和结构化变量分开映射,后期维护时改接线不用动核心逻辑。但要注意EBPro里的地址必须和PLC变量表严格同步,我有次版本更新忘了同步,现场调试时触摸屏按钮全变僵尸了。
四轴伺服参数设置表里藏着魔鬼细节,特别是电子齿轮比计算。拿X轴举例:
//每转脉冲数 = (电机侧齿轮齿数 / 负载侧齿数) * 编码器分辨率
//实际项目参数
MC_GearIn[0].numerator := 24; //电机齿轮
MC_GearIn[0].denominator := 120; //负载齿轮
MC_GearIn[0].EncoderResolution := 131072; //17位编码器
计算结果要填到伺服驱动器的Pn202和Pn203参数里,但三菱的J4系列伺服有个坑——参数默认单位是0.1μm,直接填整数值会移动十倍距离。去年在东莞有个项目就因为这个参数,机械臂直接撞到防护栏上,现场火星四溅跟放烟花似的。
Eplan电气图里最容易被忽视的是24V电源分配,看看这个典型的供电回路:
%F1.1 = SB1(急停按钮) → KA1(控制继电器线圈)
%F1.2 = SA1(模式选择) → PLC.X0
%F1.3 = 伺服驱动器使能回路
这里必须保证PLC、伺服驱动、传感器的0V基准点统一接地(别笑,真见过用不同相电源导致信号飘移的)。材料清单里的断路器容量要按峰值电流选,特别是伺服电机加速瞬间电流能达到额定值的3倍。
机器人程序与PLC的交互最考验设计功底,比如这个安全逻辑处理:
//机器人就绪信号与PLC互锁
Robot.Ready := %IX2.3 AND NOT EmergencyStop;
//发送给机器人的移动允许信号
%QX1.5 := SafeZoneClear AND (Axis[1].InPosition OR Axis[2].InPosition);
这里用了双重确认机制——既要各轴到达指定位置,又要安全光幕信号正常。但注意不要过度互锁,某次在汽车厂的项目因为安全信号检测过于敏感,导致产线每半小时就停机,甲方差点把我们工程师祭天了。
凌晨五点,伺服电机终于开始跳起机械之舞。看着示教器上的轨迹曲线,突然发现结构化编程里的面向对象思想无处不在——每个Axis对象封装了状态监测、控制命令、错误处理,这才是工业4.0时代该有的编程姿势。等等,报警灯怎么又闪了?靠,忘记喂料机的光电开关…这故事,下次酒桌上接着唠。
三菱FX5U这货在工控圈里算是挺能打的选手,尤其是玩四轴伺服带机械手的项目,结构化编程搞起来是真香。先甩张IO表镇楼——DI点接急停和原点,DO点直接怼到伺服驱动器的使能端,模拟量通道留给压力传感器,这布局看着就舒坦。
结构化编程这块得重点唠唠,直接上干货:
FUNCTION_BLOCK AxisControl
VAR_INPUT
i_Enable: BOOL;
i_Position: REAL;
END_VAR
VAR_OUTPUT
o_ActualPos: REAL;
o_Status: WORD;
END_VAR
// 伺服使能连锁必须做双重保护
IF i_Enable AND NOT g_Alarm THEN
MC_Power(Enable:=TRUE);
MC_MoveAbsolute(Position:=i_Position);
ELSE
MC_Reset(); //异常时直接锁轴
END_IF;
这代码块把单轴控制逻辑封装得明明白白,特别是那个异常复位机制,实测中能避免90%的撞机事故。注意看MC指令的用法,三菱这套运动控制库确实比之前FX3U那代强太多,特别是速度前瞻功能,做圆弧插补时机械手轨迹明显更丝滑。
电气图里藏着个骚操作:给伺服驱动器供电的24V回路单独加了EMI滤波器。别小看这个细节,现场调试时隔壁电焊机一开工,没这玩意伺服立马给你跳AL52报警。材料清单里的继电器选型也有讲究,OMRON MY4N-J带LED指示的型号,排查线路故障时能省不少事。
触摸屏这边,威纶通MT8071iE的配方功能跟FX5U的标签数据库简直天作之合。在HMI上搞了个示教界面,直接通过UDP把坐标参数灌进D2000开始的寄存器:
// 示教位置保存程序
MOVP K4X0 D2100 // 读取当前机械坐标
ZPUSH D2100 //压入堆栈
DSWWR D2000 UFEPROM //写入掉电保持区
调试时翻车最多的还是电子齿轮比设置,新手容易栽在这个公式上:
实际移动量 = (伺服编码器分辨率 × 指令单位) / (机械减速比 × 电子齿轮比)
记住分子分母别搞反,上次有个老铁设反了导致机械手直接起飞,场面堪比窜天猴。
最后提一嘴Eplan图纸里的安全回路设计,急停按钮必须走双通道检测。有次设备在自动运行时突然急停失效,查了半天发现是中间继电器的常闭触点氧化,现在强制要求用镀金触点的安全继电器,这种坑踩过才知道痛。
Mitsubishi三菱PLC FX5U 伺服机器人程序
包括
三菱FX5U程序
威纶通触摸屏程序
IO表
材料清单
eplan和PDF电气图
4轴伺服程序,1个机器人,FX5U结构化编程。






DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)