FX5U 用 SLMP 做以太网数据读写:报文结构与调试要点
✦
← 三菱知识库

FX5U 用 SLMP 做以太网数据读写:报文结构与调试要点

楼主:超级管理员 · 2026-10-15 04:12 · 浏览 7

FX5U SLMP 以太网
超级管理员 楼主

FX5U 用 SLMP 做以太网数据读写:报文结构与调试要点

SLMP(Seamless Message Protocol)是三菱 PLC 的以太网通信协议,上位机可以通过它读写 PLC 的软元件。相比专用协议,SLMP 的好处是报文格式公开,用任何能发 TCP 的语言都能实现。

通信前提

PLC 侧设置 IP 地址和端口号,开放 SLMP 连接。设置为 TCP 时,PLC 是服务端,上位机主动连接。

报文结构(以读字软元件为例)

请求帧包含:副头部(固定值)、网络号、PC 号、请求目标模块 I/O 号、请求目标模块站号、请求数据长度、监视定时器、指令、子指令、起始软元件编号、软元件代码、读取点数。

响应帧包含:结束代码(0 表示正常)和读到的数据。

软元件代码是关键:D 寄存器对应特定代码,M、X、Y 各有各的代码。代码写错不会报连接错误,而是返回非 0 的结束代码。

调试要点

一、先确认 TCP 连接能建立。用网络调试工具连 PLC 的端口,能连上说明网络层没问题。

二、收到返回后先看结束代码。结束代码不为 0 时,查手册对应表能直接定位问题类型,比自己猜快得多。

三、注意字节序。SLMP 报文里的多字节字段是小端序,自己组包时最容易在这里出错。

四、监视定时器不要设太短。PLC 处理需要时间,设太短会频繁超时,尤其在 PLC 处于高负载时。

上位机实现的建议

把连接参数和地址做成配置文件,不要硬编码。调试阶段把每次收发的原始报文以十六进制打印出来,查问题时对照手册逐字节比,比看代码逻辑有效得多。

必须做的容错

一、连接断开自动重连。工业现场网络抖动是常态,一次断开就停止通信的设计不能用。

二、读写超时保护。等待响应必须有超时退出,否则一次网络异常会让整个上位机卡死。

三、写操作要二次确认。SLMP 可以直接改写 D 寄存器和 M 位,一旦地址算错会直接改到运行中的控制参数。生产环境下对写操作要做范围校验。

四、区分通信失败和数据异常。通信失败是链路问题,数据异常可能是 PLC 程序的问题,两者的处置方式完全不同。

FX5U 用 SLMP 做以太网数据读写:报文结构与调试要点 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

远山未眠

多字节字段是小端序,自己组包最容易在这里出错。另外写操作必须做范围校验,地址算错会直接改到运行中的控制参数,生产环境尤其危险。

登录 后参与回复