ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

三菱FX5U与威纶通以太网MC协议通信配置与调试实战

三菱FX5U与威纶通以太网MC协议通信配置与调试实战 1. 项目缘起与整体方案设计1.1 为什么三菱PLC配威纶通是小型自动化项目的黄金组合搞过小型自动化设备的朋友都知道控制层选型翻来覆去就那么几套组合。三菱FX系列PLC配威纶通触摸屏在国内中小型设备市场里占有率极高尤其是包装机、送料机、简单流水线这类场景几乎成了标配。原因很直接FX系列PLC的指令体系成熟、编程软件GX Works2/GX Works3上手快、本体自带RS-422圆头编程口和RS-485扩展能力而威纶通EasyBuilder Pro组态软件对三菱协议的支持是原生内置的不需要额外写通信脚本。我这次做的项目是一台小型同步送料机构核心控制就是FX5U通过总线控制一台JE-A伺服驱动器伺服带5比1减速器减速器输出轴装5M20同步轮要求线速度稳定在0.8米每秒。人机界面用威纶通触摸屏做参数设定和状态监控。整个系统涉及的知识点包括PLC与触摸屏的物理连接、通信协议选择、参数配置、地址映射、以及调试过程中各种玄学问题的排查。这篇文章我会把从硬件接线到软件配置、从参数计算到故障排查的完整流程拆开讲重点放在那些说明书上不会写、但实际调试中一定会遇到的坑。如果你手头正好有FX3U、FX5U或者更老的FX2N配威纶通TK/MT系列触摸屏这篇内容可以直接拿来当操作手册用。1.2 通信方案选型为什么最终锁定MC协议走以太网三菱PLC和威纶通触摸屏之间的通信方式有好几种常见的有RS-422/RS-485串口通信走三菱专用协议或Modbus RTU接线简单但速率低适合老款FX2N、FX3U。以太网通信走MC协议FX5U本体自带以太网口FX3U加ENET模块也能走速率高、距离远、支持多设备。CC-Link等现场总线成本高一般用于多轴多站的大型系统小设备没必要。我选的是以太网MC协议方案。理由有三条第一FX5U自带以太网口不需要额外买模块硬件成本为零第二MC协议是三菱自家的开放协议威纶通EasyBuilder Pro里直接有MITSUBISHI FX5U Ethernet驱动选好型号填好IP就能用不需要像Modbus那样自己算寄存器偏移第三调试方便一根网线插电脑就能同时监控PLC和触摸屏省去来回插拔编程线的麻烦。注意如果你用的是FX3U本体没有网口需要加FX3U-ENET-ADP或FX3U-ENET-L模块。ADP是适配器型装在PLC左侧只支持MC协议ENET-L是独立模块功能更全但价格更高。小项目用ADP就够了。1.3 系统拓扑与数据流向梳理整个系统的数据流向是这样的触摸屏作为主站Client主动向PLCServer发起MC协议请求读取或写入PLC的软元件数据。PLC内部用D寄存器存参数、M继电器存状态标志触摸屏上对应的数值输入框、指示灯、按钮分别绑定这些地址。具体到我的项目线速度设定值存在D100单位0.01米每秒所以0.8米每秒对应设定值80实际线速度显示读D200启动按钮对应M0停止按钮对应M1伺服使能状态读M100报警代码读D300这些地址在PLC程序和触摸屏组态里必须一一对应错一个位就会出现按了没反应或者显示乱码的情况。后面我会详细讲地址映射的核对方法。2. 硬件接线与基础环境搭建2.1 网线连接与IP地址规划以太网通信的第一步是把物理链路打通。FX5U本体有两个网口一个是内置以太网口CH1另一个是扩展板用的。我用的是内置口网线直接插上去另一头接威纶通触摸屏的LAN口。IP地址规划这块我踩过一个坑一开始把PLC设成192.168.1.10触摸屏设成192.168.1.20电脑设成192.168.1.100结果触摸屏死活连不上PLC。后来发现是威纶通触摸屏的默认网关没设对它把请求发到了错误的网段。正确的做法是设备IP地址子网掩码默认网关三菱FX5U192.168.1.10255.255.255.0192.168.1.1威纶通触摸屏192.168.1.20255.255.255.0192.168.1.1调试电脑192.168.1.100255.255.255.0192.168.1.1三台设备的网关保持一致哪怕这个网关地址实际上不存在也没关系关键是同一网段内能互相ARP解析到。FX5U的IP设置是在GX Works3的模块参数→以太网端口设置里改改完需要断电重启才生效。2.2 FX5U以太网参数配置细节在GX Works3里配置FX5U的以太网参数有几个关键项容易漏打开导航窗口→参数→FX5UCPU→模块参数→以太网端口双击进入设置界面。第一页基本设置里IP地址填192.168.1.10子网掩码填255.255.255.0默认网关填192.168.1.1。第二页对象设备连接配置里需要添加一个SLMP设备也就是MC协议的服务器端。这里有个细节FX5U默认是作为MC协议的Server威纶通作为Client主动来读所以只需要在对象设备连接配置里确认SLMP功能是启用的就行不需要额外添加连接。但如果你用的是FX3U-ENET-ADP配置方式完全不同。ADP模块需要在GX Works2里通过以太网适配器设置来配而且ADP只支持固定的一对一连接不能像FX5U那样同时被多个设备访问。我建议新项目直接上FX5U省事。实操心得FX5U改完IP后用电脑ping一下确认通不通。如果ping不通先检查网线是不是交叉线——虽然现在设备都支持自动翻转但有些老交换机不支持用直通线更保险。2.3 威纶通触摸屏系统参数设置威纶通EasyBuilder Pro里通信设置藏在系统参数→设备列表里。新建工程后第一步就是在这里添加PLC设备。点击新增按钮设备类型选MITSUBISHI FX5U Ethernet接口类型选以太网然后填PLC的IP地址192.168.1.10端口号默认5000MC协议的UDP端口或5001TCP端口。我一般用TCP因为TCP有重传机制抗干扰能力比UDP强虽然延迟略高但工业现场更稳。这里有个关键选择MC协议用二进制还是ASCII。威纶通默认是二进制FX5U也支持二进制保持默认就行。如果你用的是老款FX2N加ENET模块可能需要改成ASCII具体看模块手册。设置完设备后还要在系统参数→一般设置里确认触摸屏自己的IP地址。威纶通触摸屏的IP设置是在开机后进入系统设置界面改的不是在EasyBuilder Pro里改。具体操作触摸屏上电后在启动画面点击右下角进入系统设置输入默认密码通常是111111或六个1找到网络设置改IP。3. 地址映射与组态实操3.1 三菱软元件与威纶通地址对照规则地址映射是新手最容易出错的地方。三菱PLC的软元件命名和威纶通的地址格式不一样必须搞清楚对应关系三菱软元件威纶通地址格式说明D100D100数据寄存器直接对应M0M0内部继电器直接对应X0X0输入继电器只读Y0Y0输出继电器可读可写T0T0定时器当前值C0C0计数器当前值R100R100文件寄存器FX5U支持看起来很简单对吧但坑在于位软元件的字访问。比如你想在触摸屏上用一个16位的数值框显示M0到M15的状态威纶通里要写成M0然后设置数据格式为16位它就会自动把M0-M15当成一个word来读。但如果你写成M0又选了32位它就会读M0-M31多读的位可能包含其他标志导致显示值不对。还有一个高频错误D寄存器的断电保持区。FX5U的D0-D199是普通区D200-D511是断电保持区具体范围看型号。如果你把参数存在D100断电后数据丢失下次上电参数全变0。我一般把需要保持的参数放在D200以后或者直接在GX Works3里把D100设为断电保持范围。3.2 触摸屏画面组态按钮、数值框、指示灯威纶通的画面组态逻辑很直观拖控件、绑地址、设属性。我以启动按钮为例讲一下完整流程拖一个位状态切换开关到画面上双击进入属性。在一般页里读取地址选M0写入地址也选M0。在状态页里添加两个状态状态0对应M00停止显示灰色状态1对应M01运行显示绿色。在标签页里给按钮加文字启动/停止。数值输入框的配置稍微复杂一点。拖一个数值控件读取地址和写入地址都选D100。在格式页里数据类型选16位无符号整数位数设3位小数位数设2位。这样D100里存80屏幕上显示0.80。但注意PLC里存的还是80不是0.8。如果你在PLC程序里直接用D100做运算要记得除以100。指示灯的配置最简单拖一个位状态指示灯读取地址选M100状态0显示红色伺服未使能状态1显示绿色伺服已使能。注意威纶通触摸屏的控件地址格式里位地址和字地址是分开的。M0是位地址D100是字地址不能混用。如果你在数值框里填了M0软件会报错。3.3 线速度参数的计算与PLC程序实现回到我的项目线速度0.8米每秒这个参数是怎么算出来的。伺服带5比1减速器输出轴装5M20同步轮。5M20的意思是同步轮齿距5mm20个齿所以同步轮周长是5×20100mm也就是0.1米。减速比5比1意味着伺服电机转5圈同步轮转1圈。要得到0.8米每秒的线速度同步轮每秒需要转0.8÷0.18圈。伺服电机每秒需要转8×540圈也就是2400转每分钟。JE-A伺服电机的额定转速一般是3000转每分钟2400转在额定范围内没问题。在PLC程序里我用D100存线速度设定值单位0.01米每秒然后通过浮点运算算出对应的电机转速再通过SSCNET总线或者脉冲输出控制伺服。FX5U控制JE-A伺服有两种方式一种是脉冲输出一种是SSCNET III/H总线。我用的是总线方式因为接线简单一根网线串起来就行而且能读伺服的实际位置和速度。具体程序逻辑读取D100的值转成浮点数除以100得到米每秒的实际值乘以10得到同步轮每秒转数因为周长0.1米乘以5得到电机每秒转数乘以60得到电机每分钟转数把结果写入伺服的控制寄存器这段程序用FX5U的浮点运算指令很容易实现关键是数据类型转换别搞错。D100是16位整数要先转成32位浮点数再做乘除否则会丢精度。4. 通信调试与常见问题排查4.1 通信不通的三层排查法触摸屏连不上PLC我总结了一个三层排查法从下往上查效率最高第一层物理层。网线插好了吗网口灯亮不亮FX5U的网口灯在插上网线后应该是绿色常亮或闪烁。如果不亮换根网线试试。威纶通触摸屏的网口灯在背面同样看亮不亮。第二层网络层。IP地址在同一网段吗子网掩码一样吗用电脑ping一下PLC的IP能通说明网络层没问题。如果ping不通检查电脑的IP是不是也在同一网段防火墙是不是拦了ICMP。第三层协议层。IP通了但触摸屏还是连不上那就是MC协议配置的问题。检查威纶通里设备类型选对了吗端口号是5000还是5001FX5U的SLMP功能启用了吗这几个点逐一确认。我遇到过一次诡异的情况ping得通但触摸屏就是连不上。后来用Wireshark抓包发现触摸屏发的MC协议请求里目标端口是5000但FX5U的SLMP只监听5001。原因是威纶通默认用UDP 5000而FX5U的TCP端口是5001。把威纶通里的接口类型从UDP改成TCP端口改成5001问题解决。4.2 威纶通HMI(174)未定义错误的解决办法这个错误我在网上看到很多人问自己也遇到过。现象是打开一个之前能正常编译的工程文件突然报HMI(174)未定义或者类似的错误导致无法开启工程。根本原因是威纶通触摸屏的型号变了。EasyBuilder Pro在编译时会检查工程里设定的触摸屏型号和实际连接的型号是否匹配。如果你换了一台不同型号的触摸屏或者工程文件是从别人那里拷来的型号对不上就会报这个错。解决办法在EasyBuilder Pro里打开系统参数→硬件设置找到HMI型号这一项改成你实际使用的触摸屏型号如果型号列表里没有你的型号说明软件版本太老需要升级EasyBuilder Pro改完后重新编译错误消失还有一个变种情况工程文件本身损坏。这时候可以尝试用EasyBuilder Pro的修复工程功能或者从备份文件恢复。我一般习惯每改完一个版本就另存一份文件名带日期避免这种尴尬。4.3 触摸屏显示乱码或数值不对的排查数值显示不对通常有三个原因原因一数据类型不匹配。PLC里D100存的是16位整数触摸屏里设成了32位读出来的值就会翻倍或者变成负数。检查方法在PLC程序里监控D100的实际值和触摸屏显示的值对比如果差2的16次方倍就是位数设错了。原因二字节顺序问题。三菱PLC的32位数据存储是低字在前、高字在后而有些触摸屏默认是高字在前。威纶通里有一个高低字交换的选项勾上试试。这个问题在读取伺服位置这种32位数据时特别常见。原因三小数点位置设错。D100存80你想显示0.80小数位数要设2位。如果设成1位显示8.0设成0位显示80。这个纯属粗心但调试时经常犯。4.4 常见问题速查表现象可能原因排查方法解决措施触摸屏连不上PLCIP不在同一网段电脑ping PLC的IP统一网段和网关触摸屏连不上PLC端口号错误抓包看目标端口TCP用5001UDP用5000触摸屏连不上PLCSLMP未启用检查GX Works3以太网参数启用SLMP功能数值显示翻倍数据类型设成32位对比PLC监控值改成16位数值显示为负数32位数据高低字颠倒检查字节顺序设置勾选高低字交换按钮按了没反应地址写错核对PLC和触摸屏地址逐位核对参数断电丢失D寄存器未设断电保持检查软元件范围改到保持区或设范围HMI(174)未定义触摸屏型号不匹配检查硬件设置改成实际型号通信时断时续网线质量差或干扰换屏蔽网线用工业级屏蔽网线触摸屏死机程序太大或内存不足检查工程大小优化画面减少控件5. 调试经验与进阶技巧5.1 用电脑同时监控PLC和触摸屏的方法调试阶段最痛苦的事情是改一下PLC程序下载改一下触摸屏画面下载然后发现还是不对再来一遍。来回插拔编程线效率极低。我的做法是PLC用GX Works3通过以太网监控触摸屏用EasyBuilder Pro的在线模拟功能通过以太网监控电脑同时开两个软件IP都指向同一网段。这样改完PLC程序直接在线写入改完触摸屏画面直接在线模拟不需要反复下载到触摸屏硬件。具体操作GX Works3里选在线→监视连接目标选以太网填PLC的IP。EasyBuilder Pro里选工具→在线模拟它会弹出一个虚拟触摸屏窗口通过以太网和PLC通信。两个软件同时运行互不干扰。实操心得在线模拟时虚拟触摸屏的IP是电脑的IP不是实际触摸屏的IP。所以PLC那边不需要改配置它只认IP地址不关心对方是电脑还是触摸屏。5.2 威纶通内插法在温度采集中的应用威纶通有一个很实用的功能叫内插法用来做非线性传感器的数值转换。比如你用一个0-10V的模拟量输入采集温度传感器输出和温度不是线性关系就可以用内插法建一个对照表触摸屏自动做插值计算。具体设置在系统参数→内插法里添加一个内插法表输入几个已知点。比如0V对应0度2V对应50度5V对应120度10V对应250度。触摸屏读到模拟量值后自动在表里查表并插值输出对应的温度值。这个功能在采集热电偶、热电阻这类非线性传感器时特别有用省去了在PLC里写复杂运算程序的麻烦。但注意内插法的点数不要太多一般5到10个点就够了点太多反而增加触摸屏的运算负担。5.3 触摸屏按钮加密的两种实现方式设备交付后操作工可能会乱按参数所以按钮加密是刚需。威纶通有两种加密方式方式一密码弹窗。在按钮属性里勾选安全选项设置一个密码。操作工点击按钮时会弹出一个密码输入框输对了才能执行。这种方式简单但密码是固定的所有人都用同一个。方式二权限分级。在系统参数→用户权限里设置多个用户级别每个按钮绑定一个权限级别。操作工用低级账号登录只能操作基本按钮工程师用高级账号登录才能改参数。这种方式更灵活但配置稍微复杂。我一般用方式二给操作工和工程师各设一个账号。操作工账号只能看不能改工程师账号可以改参数。密码存在触摸屏的掉电保持区不会丢。5.4 通信稳定性优化的几个细节工业现场电磁干扰大通信稳定性是重中之重。我总结了几个优化细节网线用屏蔽线屏蔽层两端接地。普通网线在变频器旁边很容易受干扰导致通信丢包。通信超时时间设长一点。威纶通默认超时是3秒我一般改成5秒给重传留足时间。轮询周期不要太短。触摸屏读取PLC数据的周期默认是100ms如果画面控件太多可以改成200ms或500ms减少通信压力。避免在通信线附近走动力线。动力线和通信线至少间隔20cm交叉时垂直交叉不要平行走线。这些细节看起来不起眼但实际调试中很多时断时续的问题都是这些原因造成的。5.5 从FX3U升级到FX5U的注意事项如果你之前用FX3U配威纶通现在换FX5U有几个地方要注意第一编程软件从GX Works2换成GX Works3。FX5U不支持GX Works2必须用GX Works3。工程文件不能直接迁移需要重建。第二通信协议从MC协议老版本换成SLMP。FX3U-ENET用的是老版MC协议FX5U用的是SLMPSeamLess Message Protocol虽然都是三菱的但帧格式有差异。威纶通里设备类型要选FX5U Ethernet不能选FX3U Ethernet。第三软元件范围变了。FX5U的D寄存器范围比FX3U大但部分地址映射关系有调整。迁移程序时要逐一核对地址。第四伺服控制方式变了。FX3U控制伺服一般用脉冲输出FX5U可以用SSCNET III/H总线接线和参数设置完全不同。如果沿用脉冲方式FX5U的脉冲输出口和FX3U的引脚定义也不一样需要重新接线。我在实际项目中从FX3U迁移到FX5U大概花了两天时间其中大部分时间花在地址核对和伺服参数重新整定上。如果项目时间紧建议直接新建工程不要试图迁移旧程序。5.6 一个容易被忽略的细节触摸屏校准威纶通触摸屏用久了触摸位置会偏移点A位置响应B位置。这时候需要校准。校准方法触摸屏上电后在启动画面长按屏幕任意位置5秒进入校准模式按照提示依次点击屏幕上的十字光标。校准完成后重启触摸位置就准了。如果校准后还是不准可能是触摸屏表面有污渍或者划痕用软布蘸酒精擦拭干净再校准。如果还不行那就是触摸板硬件老化需要返厂维修。这个细节看起来简单但现场调试时经常被忽略。操作工反映按钮点不准很多时候不是程序问题就是触摸屏需要校准了。5.7 工程文件备份与版本管理最后说一个血泪教训。我有一次改触摸屏画面改到一半电脑蓝屏工程文件损坏又没有备份只能从头重做浪费了一整天。从那以后我养成了几个习惯每改完一个功能模块就另存为一个新版本文件名带日期和版本号比如送料机_HMI_V1.2_20250115.mtp。工程文件同时存三个地方电脑硬盘、U盘、网盘。每次下载到触摸屏之前先编译一次确认没有错误再下载。触摸屏里的工程文件也定期上传备份防止硬件损坏后无法恢复。这些习惯看起来麻烦但关键时刻能救命。尤其是项目交付后客户改需求是常态有版本记录才能快速回滚。6. 写在最后的一点个人体会这套三菱FX5U配威纶通的方案我从第一次接触到现在前后做了十几个项目踩过的坑基本都在这篇文章里了。最深的体会是通信配置本身不难难的是排查问题的思路。很多时候不是技术问题而是粗心——IP填错一位、地址多写一个零、端口号选错一个数字都会导致通信失败。我的建议是调试时保持耐心从物理层开始逐层往上查不要一上来就怀疑程序逻辑。另外善用抓包工具和在线监控功能让数据说话比凭感觉猜要快得多。如果你正在做类似的项目遇到这篇文章没覆盖到的问题欢迎在评论区交流。工业自动化这个领域经验都是一个个坑填出来的互相分享才能少走弯路。
返回列表