MC 协议用在哪些设备上
MC 协议(MELSEC Communication Protocol)是三菱 PLC 的原生通信协议,覆盖 Q 系列、L 系列、 iQ-R 系列、iQ-F 系列以及 A 系列。国内的自动化设备里三菱 PLC 用量很大, 尤其是电子装配、锂电、包装类设备。能访问的软元件包括 D(数据寄存器)、W(链接寄存器)、 R/ZR(文件寄存器)、M(内部继电器)、X/Y(输入输出)、B(链接继电器)、 TN/CN(定时器与计数器当前值)等。
敏洽 SCADA 数采软件提供四个三菱驱动:
mitsubishi_mc_3e、mitsubishi_mc_1e、mitsubishi_mc_4e
与 mitsubishi_fx,覆盖以太网与串口两条路径。
实际会遇到的几个坑
1. 帧格式选错,表现为连上就断
MC 协议有多种帧格式,报文结构不兼容。选错的典型症状是 TCP 能连上, 但第一个请求发过去就被 PLC 断开,或者返回一个解析不出来的错误码。 对应关系是:Q/L/iQ-R 用 3E 帧(绝大多数项目), A 系列用 1E 帧, iQ-R 可选 4E 帧(报文带序号,便于请求应答配对,链路不稳时更可靠)。 不确定的话,先按 3E 试,不通再看 PLC 型号铭牌。
2. 软元件地址的进制不统一
这是三菱最容易出错的地方,而且错了不报错。规律是:
D、R、ZR、TN、CN 按十进制编号;
W、X、Y、B、SB、SW 按十六进制编号;
M、L、F、V 按十进制。
也就是说 W100 里的 100 是十六进制,等于十进制的 256。
如果按十进制去算,读到的是完全不相干的位置——数值看起来像是合理的数字,
但含义全错。配点表时必须逐项确认,写点表文档时建议直接标注「W100(hex)」这种形式。
3. PLC 侧要先建一条 MC 连接
不管是 QJ71E71 通信模块还是 CPU 内置以太网口,都需要在 GX Works 的 「以太网参数 → 开放设定」里显式建立一条连接:协议选 TCP(或 UDP), 开放方式选「MC 协议」,本站端口号填一个(常用 5000/5001), 通信对象 IP 可以留空表示不限制。这条连接不建,外部无论怎么连都不通。 设定完成后要下载参数并重新上电,只下载程序不生效。
4. 连接数与端口占用
以太网模块的连接数是有限的(QJ71E71 是 16 条,但通常已经被 HMI、上位机、 其他系统占掉一部分)。加采集之前要先确认剩余连接数。 另外一个坑是:如果开放设定里配的是 UDP 且没限制对象 IP, 多个客户端同时收发时应答可能串到别的客户端去,表现为偶发读到别人请求的数据。 多客户端场合建议用 TCP 并且每个客户端占一条独立连接。
5. 字与双字、浮点的排布
三菱是小端排布(与西门子相反)。一个 32 位整数占 D100 与 D101 两个字,
低位字在 D100。浮点数同理。这里容易和西门子项目的习惯搞混,
混合品牌现场尤其要注意。另外 D 区是 16 位一个字,
而位软元件 M、B 是一位一个,批量读位软元件时驱动会按字打包,
点表里要写清是按位读还是按字读。
6. FX 系列走编程口会占用调试口
FX 系列多数没有以太网,只能走编程口协议采集。问题是编程口被采集程序占着, 电气工程师就没法在线监控和改程序。现场调试期间这会造成冲突。 两个解法:一是加装 FX3U-ENET-ADP 以太网适配器后走 MC 协议, 二是采集程序支持「暂停采集」开关,需要调试时手动释放串口。 长期运行的项目建议直接加以太网适配器,硬件成本不高但省事很多。
各系列的接入条件
| 系列 | 驱动 | 硬件与配置条件 |
|---|---|---|
| iQ-R | mitsubishi_mc_3e / _4e | CPU 内置以太网或 RJ71EN71 模块;开放设定建 MC 连接 |
| Q 系列 | mitsubishi_mc_3e | QJ71E71 模块或内置以太网 CPU;注意剩余连接数 |
| L 系列 | mitsubishi_mc_3e | CPU 内置以太网口,配置方式同 Q 系列 |
| A 系列 | mitsubishi_mc_1e | AJ71E71 模块;1E 帧,功能与地址范围都比 3E 受限 |
| FX3U/FX5U | mitsubishi_fx 或 _mc_3e | FX5U 内置以太网可直接走 MC;FX3U 需 ENET-ADP 适配器,否则走编程口 |
客户需要准备的硬件:工业交换机、网线,必要的以太网通信模块或适配器(型号可由敏洽给建议)。 串口方案还需要串口服务器与 RS485 接线。IP 与端口分配表建议在项目启动时就定下来并写入接口文档。
相关交付情况
三菱 PLC 在锂电与电子装配设备上很常见,这类线体的特点是工站多、节拍快、数据点位密集。 敏洽的处理方式与西门子类似:在 PLC 侧规划连续的采集数据区, 一次批量读取而不是逐点请求。三菱的批量读上限单次是 960 个字(3E 帧,按字读), 实际项目中几百个点位一次读完,1 秒周期毫无压力。 如果点位超过单次上限,驱动会自动拆成多个请求,但拆包会带来数据不同刻的问题—— 需要追溯的关键数据建议放在同一个批次里读,或者由 PLC 侧加时间戳。
更多交付情况见 案例中心。
常见问题
有具体设备清单或工件样品,可以直接给判断
提供设备型号、PLC 品牌与需要采集的数据项,或提供被检工件照片与精度要求,敏洽可先给出可行性判断与硬件前置条件,再谈软件工作量与报价。