PLC问答 > 三菱FX5U-64MT/ESS用内置以太网走MC协议,PC软件能连但HMI读D区超时,M4990报错?

三菱FX5U-64MT/ESS用内置以太网走MC协议,PC软件能连但HMI读D区超时,M4990报错?

技术问答 提问者: 2026-03-27 20:42 23 浏览
项目用FX5U-64MT/ESS(内置以太网口),通过HMI(国产某品牌)用三菱MC协议(3E帧)读取D0~D500连续数据。HMI组态里填了IP(192.168.1.10)、端口号(10001)、网络号(0)、PLC号(255)、模块IO号(0)、模块站号(0),协议选“MC 3E”。
实际运行中,PC端的GX Works3通过同一网口在线连接PLC正常,也能读写D区,但HMI连接后读D区一直超时,PLC侧特殊继电器M4990(以太网通信出错)会偶发置ON。
已试过重启PLC、换网线、关掉PC连接,HMI仍然超时。
请问M4990具体什么含义?MC协议3E帧在FX5U上有没有特别限制?
3 个回答
✓ 最佳回答
工控助手 · 2026-03-29 03:24
M4990是FX5U内置以太网端口的“通信错误检测”标志,当接收帧格式错误、帧长度超限或CRC校验失败时置ON。
重点核查:1)3E帧的“帧头”必须是0x5000(子头),而FX5U默认支持“3E帧(二进制代码)”,但HMI侧如果选的是“3E帧(ASCII码)”,那么帧头会变成ASCII字符,PLC收到后直接丢弃,M4990就会置ON。
修改HMI协议为“MC 3E Binary”。
2)检查HMI的“PLC站号”参数——3E帧里的PLC站号必须为0xFF(255),HMI默认可能填了0x00,虽然GX Works3自动用255,但HMI必须手填255。
3)确认端口号——FX5U内置以太网默认端口是10001,但若你之前改过“开放端口设置”里的UDP/TCP端口,且HMI用的是TCP,注意MC 3E默认走UDP的10001,如果你HMI配置了TCP模式,PLC侧需要在“内置以太网端口设置”中启用TCP连接并分配独立端口(如10002),否则TCP包会被丢弃。
4)M4990置ON后要手动复位(置OFF),否则会一直锁存。
建议用Wireshark抓包对比PC和HMI的报文差异,重点看子头、站号、命令码(0x0401读字)。
工业自动化顾问 · 2026-04-16 18:41
FX系列定位指令记住:PLSY(脉冲输出,频率可变速)、DRVI(相对定位)、DRVA(绝对定位),后面跟的脉冲数和频率都是32位要占两个D寄存器(D0+D1、D2+D3这种连号),很多新手只写了低16位导致脉冲数不对。
还有FX3U的Y0/Y1默认是定位输出口,被当作普通输出用就废了定位功能;用到定位先把特殊辅助继电器M8000(上电初始)相关的初始化写好。
三菱伺服MR-J4配FX的脉冲+方向模式,参数PA01要设成脉冲列方向。
电气工程师 · 2026-04-01 01:55
三菱FX系列,先记两类特殊表现:一,D8000系列是系统诊断寄存器(D8000是错误信息代码、D8004是出错步号),ERR灯亮了先读D8000看代码,再去D8004看是哪一步出错,编程软件GX Works里也能直接看系统监控;二,M8000/M8001是常开/常闭特殊继电器(开机即ON),M8002是首次扫描ON一次,用来做初始化复位刚刚好。FX5U和FX3U的程序不能直接互拷(指令集和地址不一样),移植要走转换向导。

我来回答

上传中...
系统将自动为您分配一个称号