三菱FX5U四轴控制系统实战手记

FX5u控制4个伺服,一个完整的项目 程序用 标签分层,说明了定位控制中的公共参数设定、回原点、JOG手动、绝对定位、相对定位、控制等部分,威纶程序报警界面.多个机种选择,手动,自动,暂停,包括有: 1、plc程序一份 2、设备说明书一份 3、电路图一份 4.威纶屏程序一份 5.io表一份 6.电气清单一份

车间新到的四轴定位设备调试完成,趁着手还热乎,把项目里的干货整理出来。这套系统用FX5U-64MT控制四个MR-JE-20A伺服,威纶TK8071IP触摸屏做交互,咱们直接拆解程序架构。

全局参数设定

伺服参数配置是地基,先看这段全局标签配置:

structuredtext 复制代码
//轴参数结构体
AxisPara[0].PLS_MODE = K4     //4倍频
AxisPara[0].INPOS_RANGE = 50 //到位判定范围
AxisPara[0].ACC_TIME = 300    //加速时间ms
AxisPara[0].DEC_TIME = 300    //减速时间ms

每个轴单独配置结构体参数,用FOR循环批量处理公共参数。这里有个坑要注意:电子齿轮比换算必须放在PLC首次扫描周期完成,否则上电时伺服的尖叫能把你送走。

原点回归的精髓

回原不是简单碰个开关就完事,这是调试时掉过坑的版本:

ladder 复制代码
|-[DSZR K5000 X0 Y0]-[ZRN K3000 Y0]-[ZP.Y0]-|
       | 原点搜索       | 爬行速度    | 完成标志

这里用了双保险策略------先高速搜索原点标记,碰到限位后自动切换低速爬行。调试时发现部分轴会过冲,后来在伺服参数里把GridMask灵敏度调高才解决。

手动模式的防呆设计

JOG操作看似简单,但安全联锁必须到位:

structuredtext 复制代码
IF NOT bAutoMode AND NOT bAlarm THEN
   JOG+ := X10 AND NOT X11
   JOG- := X11 AND NOT X10
   TON(T_JOGStop, 500)  //持续5秒自动停止
END_IF

加了三个互锁条件:非自动模式、无报警状态、正反转互锁。调试时操作工反馈按钮卡顿时,发现是T_JOGStop定时器预设值太小导致频繁启停。

绝对定位的曲线控制

核心移动指令藏着玄机:

ladder 复制代码
-[DDRVI K500000 Y0 Y10]-[M8029]-[MOVP K0 D10]
|           |               |          | 
|          目标脉冲      完成标志   速度模式切换

这里用脉冲+方向控制时,发现伺服偶尔会丢步。后来在威纶屏上加了个实时位置补偿按钮,用DHSFR指令做平滑滤波才稳定下来。

威纶屏的报警矩阵

报警界面用二维数组实现多语言切换:

ladder 复制代码
报警代码 := D1000
报警信息 := "Err_" + Language + "_" + Str(D1000)

触摸屏里做了个滑动式报警历史记录,用FIFO指令存储最近20条报警。调试时发现中文乱码,原来是字体没选GB2312编码。

FX5u控制4个伺服,一个完整的项目 程序用 标签分层,说明了定位控制中的公共参数设定、回原点、JOG手动、绝对定位、相对定位、控制等部分,威纶程序报警界面.多个机种选择,手动,自动,暂停,包括有: 1、plc程序一份 2、设备说明书一份 3、电路图一份 4.威纶屏程序一份 5.io表一份 6.电气清单一份

项目交付时除了程序本体,这几个文档是甲方重点检查的:

  1. IO表里标注了每个传感器滤波时间
  2. 电气清单细化到线号管的颜色标准
  3. 电路图的伺服电源单独用黄色高亮
  4. 说明书里的紧急停止回路用红框强调

这套架构后来被复制到三个类似项目,最骚的操作是用了条件编译------通过修改全局变量中的机型代号,同一套程序能自动切换不同机构的参数配置。当然,这招要慎用,上次有个新人误改机型参数差点让气缸飞出来...

(源码和图纸已做脱敏处理,关键参数用变量代替)

相关推荐
郑寿昌2 天前
UE5与UE6在Lumen和Nanite的差异解析
游戏引擎·图形渲染·着色器
threelab3 天前
Three.js 动态旋转同心圆着色器 | 三维可视化效果
开发语言·javascript·着色器
♡すぎ♡4 天前
ShaderLab:海面——顶点变换,程序化生成无需贴图
计算机图形学·opengl·着色器
UTwelve10 天前
【UE】Gerstner Waves 水体模拟 4 :[颜色构成阶段3、4] - 实现NAP+CDOM
ue5·着色器
Yasin Chen10 天前
Unity TMP_SDF 分析(五)片元着色器
unity·游戏引擎·着色器
AIminminHu12 天前
OpenGL渲染与几何内核那点事-项目实践理论补充(一-3-(10):从“像素画师”到“硅基神明”:一个CAD开发者穿越GPU着色器管线的十年进化史)
着色器·片段着色器·顶点着色器·opengl 1.0·顶点/片段着色器
AIminminHu15 天前
OpenGL渲染与几何内核那点事-项目实践理论补充(一-3-(7):从“显卡不听话”到“GPU秒懂你”:一个CAD老兵的着色器驯服史))
着色器·编译流程·着色器语言 glsl·创建着色器对象·glcreateshader·gluseprogram·glcreateprogram
♡すぎ♡16 天前
ShaderLab:线条几何体旋转
unity·计算机图形学·着色器·shaderlab
AIminminHu18 天前
OpenGL渲染与几何内核那点事-项目实践理论补充(一-3-(3):GPU 着色器进化史:从傻瓜相机到 AI 画师,你的显卡里藏着一场战争)
人工智能·着色器
UQ_rookie22 天前
【Unity3D】在URP渲染管线下使用liltoon插件出现粉色无法渲染情况的解决方案
unity·游戏引擎·shader·urp·着色器·vrchat·liltoon