三菱FX5U与威纶通触摸屏在伺服机器人工作站中的设计与调试

发布时间:2026/9/12 3:53:18
三菱FX5U与威纶通触摸屏在伺服机器人工作站中的设计与调试 1. 项目概述与整体方案选型1.1 为什么是三菱FX5U加威纶通这个组合做自动化项目这么多年FX5U这代产品算是三菱在小型PLC领域比较能打的一款。它不像FX3U那样只有传统的RS422/485串口思维也不像L系列或者Q系列那样偏向大中型项目FX5U刚好卡在中间——既保留了FX系列的编程习惯又引入了一部分高端PLC才有的总线能力。这次项目做的是伺服机器人工作站核心控制对象包括三菱MR-JE伺服、气动夹爪、传感器模组、报警灯外加一台威纶通触摸屏做交互。整套系统的架构非常典型FX5U做大脑伺服驱动器做肌肉威纶通触摸屏做脸面。1.2 控制需求拆解这套程序到底在控什么接到这个项目的时候需求清单大概是这样两个伺服轴一个走X方向搬运一个走旋转分度两者需要联动衔接机器人末端夹爪由气缸驱动PLC直接输出控制电磁阀需要原点回归、手动点动、自动循环三种运行模式威纶通触摸屏要能监控所有轴的当前位置、报警状态、产量计数还要能下发速度倍率和位置修正值出现故障时蜂鸣器加三色灯报警触摸屏显示具体报警内容项目的核心其实就一个字稳。伺服机器人工作站一旦跑起来一天可能会做上千次往复动作。每次动作都要求定位精准、时序正确不能有累积误差不能因为一次抖动就撞机。选FX5U的原因也在这里——它本体支持四轴200kHz的高速脉冲输出做小型伺服定位完全够用而且指令集比较成熟网上资料也多后期维护不至于抓瞎。1.3 系统架构图设备层、控制层、交互层的分工整套系统的信号流向可以分成三层来看设备层两个伺服驱动器带电机、两个气缸带磁性开关、三个传感器原点、限位、到位检测、三色灯蜂鸣器、紧急停止按钮控制层三菱FX5U-32MT/ES负责逻辑控制、脉冲输出、数据处理和故障判断交互层威纶通MT8071iP触摸屏通过以太网与FX5U连接负责状态显示、参数设定和手动操作按钮这种三层架构是目前小型自动化设备最常见、也最容易维护的结构。设备层只管干活控制层只管逻辑交互层只管人和机器的沟通。哪一层出了问题都很容易定位维修电工一看网络拓扑图就明白该查哪里。2. FX5U程序架构与关键功能块设计2.1 程序整体架构从主程序到子程序的调用关系FX5U的编程软件是GX Works3这一版软件和三菱以往的GX Developer相比变化很大。它的单位不再是单纯的“步”而是基于标签和FB功能块的结构化编程。一开始从GX Developer转过来的人多少有点不适应但用习惯了会发现结构化编程对后期维护是真香。这次程序我按照功能划分了几个子程序主程序MAIN负责整体流程调度根据触摸屏传来的模式信号决定执行哪个流程原点回归子程序两个伺服轴分别做原点回归回归完毕置位一个完成标志手动操作子程序支持各轴单独点动气缸单独动作主要用于调试阶段自动循环子程序整个搬运分度流程的时序控制核心报警处理子程序采集各个报警条件统一处理后给触摸屏推报警码数据管理子程序产量计数、运行时间统计、班次数据保持用标签编程最大的好处是可以给每个变量起一个有意义的名字。比如Axis1_Pos表示轴1当前坐标Gripper_Open表示夹爪打开到位信号程序阅读起来非常直观。这个项目后期用户自己找人改过几个参数反馈说程序没有他们想象中那么难看懂就是因为标签命名规范。2.2 原点回归功能块三种回归方式的选用经验伺服定位的第一步永远是原点回归。原点找不准后面所有定位都是扯淡。FX5U支持三种常用回归方式近点狗回归碰到减速开关后减速再找编码器Z相脉冲作为原点数据设定回归直接指定一个机械绝对坐标作为原点上电后直接走绝对值手动挡块回归直接朝挡块方向低速运行碰到硬限位后反向脱离以脱离位置为原点这个项目用的是近点狗回归加Z相锁定。原因很简单X轴行程足够长机械上装了一个独立的近点传感器用近点狗回归可以保证每次回原点的方向和位置一致性。旋转轴则用了数据设定回归因为分度台根本不需要找机械原点只需要一个固定的电气原点就够了。实操中有个细节值得注意近点狗信号的接入位置一定要选对。FX5U的高速脉冲定位输入端子中有专门用于近点信号的输入端接错的话回归逻辑会变得很奇怪。我最初把近点开关接到了普通输入点上用程序指令去读结果每次回归的位置偏差在0.5mm左右后来查了很久发现是信号响应延迟造成的。换到专用近点输入端后偏差直接降到0.02mm以内。2.3 总线定位与脉冲定位的选型对比FX5U做伺服控制有两种主流方式一种是传统的脉冲输出方式PLS另一种是通过CC-Link IE Field Basic总线通讯直接给伺服驱动器发速度指令、位置指令、读取编码器反馈。脉冲方式的好处是简单直观接线几根线就搞定了调试时用万用表也能量到脉冲信号。缺点是精度和响应速度受限于脉冲频率而且无法直接读取伺服驱动器的内部状态很多监控数据还要通过额外的通讯去读。总线方式的好处是信息量丰富位置反馈、电流反馈、报警历史、电子齿轮比设置全都可以通过报文读写。FX5U本体内置了一个以太网口支持CC-Link IE Field Basic协议可以直连三菱MR-JE伺服驱动器。这个方案省掉了传统脉冲方式需要的高速计数模块和大量接线一网到底干干净净。这次项目我混合使用了两种方式X轴因为要求高精度高响应用的是CC-Link IE Field Basic通讯控制旋转分度轴因为动作简单、定位精度要求不高直接用了脉冲输出。这样既保证了关键轴的控制性能又节省了成本和调试时间。2.4 关键定位指令解读DRVZ、DRVI和ABS指令的真实用法FX5U的定位指令体系延续了三菱的一贯风格最常用的三条指令分别是DRVZ原点回归指令配合近点狗信号和Z相信号执行回归动作DRVI增量定位指令以当前所在位置为基准移动相对距离DRVA绝对定位指令以原点为基准移动到指定绝对坐标这个项目里搬运轴用的主要是DRVA因为搬运的目标位置是固定的几个坐标点。只要原点回归做准确DRVA的定位结果就非常稳定。分度轴则是典型的DRVI应用场景每次正转45度累计八次完成一圈。这里有个容易踩坑的点DRVI的移动方向取决于目标值的正负号。很多初学者写DRVI时只关注移动到什么位置忽略了方向指令的正负号处理。如果程序里用了一个变量作为的移动量而这个变量在某些工况下会被改成正数或负数那轴的运动会直接反向。我在分度轴的程序里加了一个方向锁定逻辑确保每次的移动量正负号都由操作模式决定不直接从触摸屏变量里读。2.5 程序里如何做轴联动控制伺服机器人工作站往往不是单轴动作而是有多个轴需要配合。比如这次项目的X轴搬运和旋转轴分度虽然不需要做真正的插补运动但它们之间的时序配合是必须严格控制的。我采用的方法是先到位的轴等后到位的轴双方都到位后再一起执行下一步。具体实现上用三个标志位Axis1_Done、Axis2_Done和Moves_Complete。只有当两个轴的完成标志同时为ONMoves_Complete才会置位主程序看到这个标志才继续往下走。这套逻辑看着简单但实际项目里很容易被忽略。尤其是设备提速的时候如果只追求单个轴的速度忽略了轴与轴之间的握手等待机器会在高速运行中出现撞模或者抓空的情况。安全起见每个轴的到位信号一定要通过伺服驱动器的定位完成输出读取或者通过程序判断当前坐标与目标坐标的差值小于允许公差。前者更实时后者更灵活我一般两种都做互为冗余。3. 威纶通触摸屏开发与通讯配置3.1 新建工程的设备连接配置威纶通触摸屏的编程软件是EBPro界面比较友好但有一个步骤非常关键——新建工程时选择和PLC通讯的方式。按照项目结构威纶通触摸屏和FX5U之间是通过以太网连接的所以在EBPro新建工程时设备类型要选择三菱FX5U Ethernet接口类型选以太网。这里有几个容易踩的坑IP地址必须在同一个网段。FX5U的默认IP是192.168.3.250触摸屏如果没有改过默认是192.168.1.88两者不在一个网段哪怕用网线直连通信也是不会通的。我习惯给它们规划成固定IPPLC是192.168.1.10触摸屏是192.168.1.20避免以后增加设备时冲突。通讯协议选择。FX5U以太网口上支持SLMP协议和MC协议EBPro里通常用SLMPQnA兼容3E帧或者三菱FX5U专用驱动。选错协议类型会导致元件地址无法读取实际表现就是触摸屏上所有数据显示不出来。帧长度和超时时间设置。如果程序里存在大量连续读取的数据块可以把帧长度调大一些。默认的帧长度往往需要多次轮询才能把全部数据刷新完表现在触摸屏上就是页面切换时数据有延迟。3.2 元件地址规划D寄存器、M继电器和定位特殊软元件的映射FX5U和威纶通触摸屏之间的数据交换本质上就是触摸屏去读写PLC内部的各种软元件。用的最多的就是D寄存器数据寄存器和M继电器中间继电器。D寄存器适合放数值数据。比如当前轴位置、速度倍率、产量计数、报警代码之类的。M继电器适合放开关量。比如启动按钮、停止按钮、模式选择、故障复位、油泵开关等。为了保证程序可维护我在项目开始就统一规划了地址表地址范围用途示例D0-D9系统参数D0速度倍率D1产量设定D10-D19轴1状态D10轴1当前位置D11轴1目标位置D20-D29轴2状态D20轴2当前位置D21轴2目标位置M0-M19操作按钮M0启动M1停止M2急停复位M20-M39自动流程状态M20自动运行中M21原点已回归D100-D199报警信息区D100报警代码D101报警详情字符串索引这种地址规划方法看着多花了点时间但效果很明显。触摸屏画面上监控的数据和PLC程序里处理的数据一一对应调试的时候方便到飞起。3.3 画面设计与功能布局威纶通触摸屏的画面设计我一般遵循一条原则操作频率高的按钮放右下角报警信息放最显眼的位置参数设定页面要有二次确认。这次项目设计了四个主要画面主监控页面显示两个轴的当前位置、当前速度、当前运行状态同时放启动、停止、复位三个大按钮方便操作工戴着手套也能按到手动操作页面每个轴有正向点动、反向点动、回原点三个按钮旁边是点动速度设定框。气缸操作按钮也放在这一页方便调试参数设定页面速度倍率、加减速时间、目标位置设定、产量目标值。进入这个页面需要操作员权限参数修改后必须点保存才写入PLC报警历史页面记录最近50条报警记录包含报警时间、报警代码和报警描述方便售后工程师远程判断问题画面设计有个细节值得说按钮的大小和间距一定要够大。工业现场操作工经常戴手套按钮做太小了非常难按还容易误触旁边的按钮。我一般要求按钮最小尺寸不低于60×60像素相邻按钮间距不小于20像素实测下来误触率大幅下降。3.4 以太网通讯参数设置与常见连接故障触摸屏和FX5U以太网通信连接不上是项目调试阶段最常见的问题几乎每个项目都会遇到。根据经验九成以上的通信故障都出在以下几个地方IP地址不在同一网段这种情况最常见两者IP必须属于同一个网段还要注意子网掩码是否一致PLC侧没有开放端口FX5U默认开启以太网端口但如果之前有人改过系统参数把端口禁用了那就需要进GX Works3的CPU参数里检查设备编号被其他设备占用某些网口上有多个HMI或上位机同时连接同一个PLC时会要求每个设备设置不同的网络编号。比如第一台HMI的网络号是0、站号是1第二台就必须改成站号2否则后连的设备容易被挤掉不经交换机直连是允许的但网线类型要留意FX5U是工业以太网口和电脑直连时有些型号需要交叉网线而现在大多数电脑网卡和触摸屏都支持自动翻转普通直通线也能用。但保险起见我会建议现场多备几根网线换着试。我遇到过一次很头疼的情况触摸屏上显示的所有数据都正常唯独报警状态那一路始终不刷新。排查了整整半天最后发现是触摸屏画面上那个报警灯元件设置错了地址把M40写成了M4。这种事没办法靠软件检查出来只能人眼一个一个核对画面元件的地址。所以从项目一开始就要保持严谨的地址规划习惯不然排查起来真的很费时间。4. 数据交互、逻辑控制与进阶玩法4.1 FX5U与第三方系统通过Modbus TCP交互有些项目现场除了触摸屏还有上位机或者MES系统要读取设备数据。FX5U以太网口原生支持SLMP协议也支持Modbus TCP从站模式。如果上位机或MES系统只支持Modbus TCP那么只需要在GX Works3里做一下从站参数配置把要开放的寄存器区域映射出去即可不需要写额外的通讯梯形图。映射方式是在CPU参数里设置Modbus TCP从站功能指定允许外部读写的软元件范围。我习惯的做法是单独划分一块数据区专门供上位机读写比如D1000到D1999。PLC内部的程序不主动往这块区域写运作数据只由上位机来读取这样就算上位机操作失误也不会干扰到核心逻辑。如果现场要求主从模式反过来——FX5U作为主站去读其他设备的数据那就需要写MBE指令或者使用MODBUS通讯功能块。FX5U的Modbus TCP主站功能块在GX Works3里有现成的库文件调用后填一下对方的IP地址、端口号默认502、起始地址和读取长度就可以。4.2 PID指令在温度控制中的应用伺服机器人工作站一般不会有温度控制但很多接入这个系统的外围设备比如热缩炉、焊接头、加热管都会有温控需求。FX5U自带的PID指令编号PID支持标准的PID运算可以通过自整定方式自动计算P、I、D参数。FX5U自整定的参数设定和FX3U差别不大核心是设好SV目标值、设定好采样时间、确定好输出上限和下限然后启动自整定。自整定过程中CPU会输出一个阶跃信号通过观察被控对象的响应曲线来推算出合适的PID参数。工程上的一个经验是自整定结束后一定要再手调一下P和I。因为自整定出来的参数偏保守用在响应要求高的场合会感觉动作迟缓通常把P稍微放大20%左右I稍微减小10%左右响应会改善很多。4.3 AI辅助PLC代码生成的现状这两年AI辅助编程风很大工业自动化领域也有人开始尝试让大模型生成PLC代码。从我用过的几个工具看AI在生成FX5U的结构化文本ST语言代码方面已经有一定可用性尤其是一些功能块的骨架代码、数据处理逻辑、字符串解析这类内容AI写起来挺快的。但梯形图生成这块目前还比较鸡肋。因为梯形图本质是图形化编程AI输出的是指令表或者结构化文本做出来能否直接转换成梯形图还要看GX Works3的兼容性。我目前对AI代码生成的态度是可以当辅助不能当主力。让AI写一段Modbus读取的框架代码没问题但涉及伺服定位时序、安全联锁逻辑这种核心安全控制部分必须自己一行一行敲进去。毕竟设备的伺服撞一次机的维修成本远超省下来那点编程时间。4.4 数据采集与产量统计触摸屏上的产量统计看着简单真正做起来有几个细节需要注意。第一产量计数的时机。我习惯同时用到位信号和夹爪松开信号来确认一个成品真正完成而不是只凭定位完成就往上走。防止机器空跑或者误抓时也计入产量实际应用中极好用的细节。第二班次切换问题。有些工厂分白班和夜班两个班组各自计产。可以把产量存储做成两个计数器根据触摸屏上的班次选择信号来切换累加同时记录每个班次的运行时长。第三断电保持。配电柜突然断电后产量如果清零了生产管理会很麻烦。所以产量计数的寄存器一定要做成锁存型FX5U里的D寄存器默认是锁存但哪些区域锁存需要确认参数设置或者通过触摸屏的历史数据存储来补救。我的习惯是产量区用锁存寄存器同时触摸屏历史数据里每半小时自动记录一次当前产量这样就算PLC意外断电产量也能找回。5. 常见问题与排查技巧实录5.1 伺服定位偏差突然变大怎么查伺服定位系统出现问题第一反应不要先改程序先确认机械和电气链路的状态。我遇到过一次X轴定位偏差从0.02mm漂移到0.8mm的情况排查顺序如下先看伺服驱动器前面板有没有报警代码。如果是AL.50过载或AL.16编码器异常优先怀疑机械卡死或编码器线松动再看PLC里监控的当前坐标值是否和实际位置一致。如果不一致说明丢脉冲了重点检查脉冲输出线是不是用了屏蔽线屏蔽层有没有单端接地如果坐标一致但机械实际位置不对那就是机械传动问题。检查联轴器是否松动、丝杠螺母间隙是否变大、同步带是否跳齿最后查伺服驱动器的电子齿轮比参数PA05、PA06确认是不是被误改过。很多现场维修人员喜欢乱调参数搞完又没记住原来的值这是固定项目安全隐患排查伺服故障最忌讳乱猜乱试。按照从简单到复杂、从机械到电气、从外围到核心的顺序排查通常都能快速定位。5.2 FX5U程序写不进CPU怎么处理GX Works3连不上PLC、程序写不进CPU的问题在实际项目中经常发生。大多数情况出在连接设置上USB连接方式时检查驱动是否安装好。GX Works3安装完成后需要单独安装USB驱动有些精简安装包会把这一步漏掉以太网连接时检查电脑网卡的IP地址是否和PLC在同一网段。FX5U默认IP是192.168.3.250电脑要设成192.168.3.1之类的同网段地址才能直连连接上PLC后如果先读后写注意在线模式下PLC的RUN/STOP状态。写程序之前需要把PLC切换到STOP状态GX Works3通常会弹窗提醒但要确认没有跳过写入成功后PLC会自动复位注意观察恢复RUN后设备是否自启动还有个三菱官方推荐的维护工具FX5U Clean_up_tool也值得备用。这个工具可以把PLC内部的数据区、文件寄存器、缓存区彻底清空恢复到出厂状态。遇到CPU内部的数据残留导致的异常比如程序删除后还有遗留标签、掉电保持区内容错乱用这个工具清理一遍往往能解决问题。使用前务必备份原有程序。5.3 威纶通触摸屏显示数据不刷新的典型原因触摸屏连上PLC但数据不刷新这种问题的排查思路和通信不上有一点区别。通信不上通常是物理链路或参数配置的问题而数据不刷新往往更诡异——页面可以切换、按钮有反应但显示值永远是0或者永远不变。这种情况先看元件的地址对不对。威纶通EBPro里元件属性的“读取地址”和“写入地址”是两个独立的概念很容易弄混。如果一个按钮元件同时设了读写地址但读地址和写地址不一致按下去能写但显示状态读的却是另一个地址这样就会出现按了没反应或者状态始终不变的假象。再看画面切换后的数据刷新机制。EBPro默认是后台持续轮询所有在线元件的但如果元件数量特别多或者通讯帧设置不合理刷新率会被拉得很低。我一般会把同一页面上连续地址的元件合并成区块读取成组读取一个帧读完一整片数据刷新速度会快很多。如果元件地址分布非常散就考虑在PLC里把数据先用指令集中到一个连续D区内触摸屏只读这个区块。5.4 机器人程序与伺服机器人联动时的调试顺序这个项目虽然核心是FX5U但标题里提到的机器人必然会涉及和机器人的信号交互。机器人和PLC之间最常见的是IO信号交互方式PLC通过输出点给机器人下达启动、复位、切换程序号的指令机器人通过输出点给PLC返回运行中、完成、报警等状态。调试这类系统的顺序有讲究。我习惯先在PLC侧用强制输入的方法模拟机器人的应答信号确认PLC的程序逻辑正确以后再把机器人的IO线接上联调。如果一上来就接真机联调两边程序都有bug时你根本分不清是PLC的问题还是机器人的问题。分步调试的节奏看起来慢实际总用时反而是最短的。5.5 常见问题速查表故障现象可能原因排查方法伺服轴无法回原点近点开关信号未到PLC查看PLC输入点LED是否有亮伺服轴回原点位置偏移近点信号响应太慢改用专用近点输入端触摸屏全部数据显示----PLC通讯未建立检查IP地址、网线连接触摸屏部分数据不更新元件地址设错或数据区块分散核对元件地址合并连续读取区块设备运行时偶尔停顿气缸到位信号提前消失确认磁性开关安装方向和灵敏度产量计数偶发不准计数信号被卡诺辐射干扰计数信号线加屏蔽靠近PLC输入端滤波6. 调试心得与经验分享6.1 程序调试前的检查清单下现场调试之前我每次都会过一遍检查清单。这个习惯帮我省了无数次返工时间检查所有输入输出点的接线是否与图纸一致用万用表逐一点动量测确认PLC型号和IO扩展模块的地址分配符合程序设定检查伺服驱动器的电子齿轮比、脉冲模式正负逻辑、再生制动选件核对触摸屏的IP地址、PLC类型、通讯协议把伺服轴的软限位设置好避免程序bug导致飞车确认急停回路的硬件接线独立于PLC程序确保任何程序异常时都能物理切断动力电6.2 在线修改程序时的注意事项GX Works3支持在线修改程序但这个功能用起来要小心。在线修改前先把PLC程序备份到本地如果在修改过程中CPU报内存错误还可以恢复。在线修改梯形图时PLC的运行状态会自动暂停。如果设备正在自动运行中修改的一瞬间输出会保持之前的状态这对于气缸、电机这类执行机构来说还算安全对于高速运行的伺服轴来说则可能存在危险。所以在线修改前先确认伺服轴是否已经停在安全位置。6.3 一个让设备稳定性大幅提升的小功能自动断电记忆FX5U的D寄存器有一部分是断电保持型的用来存原点位置、产量值、运行模式这些关键数据。利用这个特性我做了一个自动断电记忆功能。设备运行过程中PLC每秒钟把当前坐标值、当前运行模式、当前产量写入掉电保持寄存器。外部电源恢复后设备可以选择“从断点恢复”模式直接把坐标写入伺服驱动器跳过重新回原点的步骤设备在几十秒内恢复工作。对需要连续生产的产线来说这个功能节省了大量的停机恢复时间。6.4 关于这个项目的总结写到这里回头看这个项目我最想表达的一个观点是硬件选型只是基础真正决定设备运行水平的永远是程序细节和调试经验。FX5U和威纶通这套组合在中小型伺服机器人工作站里是非常可靠而且性价比很高的方案。F5XU丰富的指令集和通讯能力能应付绝大多数的定位控制需求威纶通触摸屏的开发效率在同类HMI里也算第一梯队。如果你正在做或者准备做类似的项目建议从一开始就注意做好地址规划、标签命名、程序结构化这样后面每一个调试环节都会轻松很多。技术上遇到问题时不要怕多试也不要迷信某些所谓的“官方标准做法”多积累现场踩坑经验才是这行最值钱的东西。