三菱MC协议及报文格式详解

一、简介

三菱MC协议是指三菱电机公司(Mitsubishi Electric)使用的一种通信协议,用于在三菱PLC(可编程逻辑控制器)和其他设备之间进行数据交换和通信。

三菱MC协议有多个版本,最常见的是MC-Protocol(MELSEC 系列通信协议)。MC-Protocol 采用了二进制的通讯格式,支持点对点和多点通信,并且具有较高的通信速率和稳定性。该协议可以通过串口、以太网等不同的物理介质实现。

在MC-Protocol中,数据通信是通过发送特定的命令和数据来实现的。通信命令包括读取和写入数据、请求状态信息等。数据可以是输入/输出点的状态、寄存器的值等。

三菱MC协议的通讯格式通常是基于二进制的,具体的帧格式可能因版本和通信方式而有所不同。通常情况下,MC-Protocol的帧格式包括帧头、站号、命令码、子命令码、数据长度、数据内容和校验码等字段。
可以下载Wireshark抓包工具进行抓包看详细的发送报文格式

MC协议是一种现场总线通信协议,常见的通讯格式有以下几种:

3E帧格式:3E帧格式是最常用的通讯格式,由三个字节的帧头、一个字节的设备地址、一个字节的功能码、一个字节的数据长度、若干字节的数据和两个字节的CRC校验码组成。

3C帧格式:3C帧格式与3E帧格式相似,不同之处在于帧头由两个字节组成,其余部分与3E帧格式一致。

4C帧格式:4C帧格式与3C帧格式类似,但加入了一个扩展位,表示数据是否需要加密。

4E帧格式:4E帧格式是一种高速通讯格式,由四个字节的帧头、一个字节的设备地址、一个字节的功能码、一个字节的数据长度、若干字节的数据和两个字节的CRC校验码组成。 

通讯内容分为二进制和ASCII文本,两者传输内容一致,只是形式不同,二进制相对于ASCII码形式一帧的数据长度更短,且数据不需要转换,所以通讯效率更高,推荐使用二进制方式。

  1. 二进制格式:在三菱MC协议的二进制通信中,数据是以二进制形式在网络上传输的。通信数据包括帧头、数据长度、控制码、目标站地址、源站地址、命令码、数据内容和校验位等元素。在二进制格式中,每个元素都有固定的字节长度,因此数据包整体长度也是固定的。二进制格式的通信速度较快,但是不利于人类阅读和诊断。

  2. ASCII文本格式:在三菱MC协议的ASCII通信中,数据是以ASCII字符形式在网络上传输的。通信数据包括起始字符(colon), 目标站地址、源站地址、命令码、数据内容和校验位等元素。通信中的所有元素都使用ASCII码表示,每个元素之间使用分隔符(space)或者其他控制字符进行分隔。相比二进制格式,ASCII文本格式更易于人类阅读和诊断,但是传输效率较低。

二、3E帧

在这里插入图片描述

三菱3E帧使用ASCII代码通讯

在这里插入图片描述

三菱3E帧使用二进制代码通讯

在这里插入图片描述

三、4E帧

在这里插入图片描述

三菱4E帧使用ASCII代码通讯

在这里插入图片描述

三菱3E帧使用二进制代码通讯

在这里插入图片描述

四、指令

在这里插入图片描述

指令、子指令说明

在这里插入图片描述

五、请求数据部分说明(软元件)

在这里插入图片描述

起始软元件

用于指定进行数据读取/写入的软元件存储器的编号的数据。

  1. 通过 ASCII 代码进行数据通信时

将表中所示的软元件编号转换为 ASCII 代码 6 位后使用,从高位 开始进行发送。
此外,对于高位的“0”数字串(例如“001234”的起始 2 字符的 “0”),也可以以空格(代码: 20H)进行指定。
内部继电器 M1234,链接继电器 B1234 的情况下 内部继电器 M1234 及链接继电器 B1234 均变为
“001234”或 “ 1234 1234”,从“0”或“ ”开始按顺序进行发送。

  1. 通过二进制代码进行数据通信时

使用表中所示的 3 字节的数值,从 Low 字节(L: 位 0~7)开始进行 发送。 (示例) 内部继电器 M1234,链接继电器
B1234 的情况下 内部继电器 M1234 变为 0004D2H,按 D2H、04H、00H 的顺序进行 发送。 链接继电器
B1234 变为 001234H,按 34H、12H、00H 的顺序进行 发送。

软元件代码

![在这里插入图片描述](https://img-blog.csdnimg.cn/2a13d7d9df354b969ac7822ecb05051d.png

软元件点数

执行各指令时,用于指定进行读取/写入的点数的数据
表示操作对应软元件的长度,寄存器的长度,例如:D100读取Doubel (需要读取64位,4个寄存器)该值等于4

软元件点数的数据

写入的数据内容,如果读取的话默认00H
例如D100写入13.14(需要写入86位,四个寄存器)【48 E1 7A 14 AE 47 2A 40】

六、三菱MC地址读写示例说明

读取地址

在这里插入图片描述

分别读取D100地址4个寄存器长度(double)和读取2个寄存器长度(float

写入地址

在这里插入图片描述

往D100地址Short写入1333

错误代码

错误代码太多,详情看【Q系列以太网接口模块用户手册(基本篇) 】---------16.6.1 数据通信中返回至对象设备的结束代码

百度网盘书籍链接

**

Q系列以太网接口模块用户手册(基本篇)
三菱QL系列MC协议
链接:https://pan.baidu.com/s/1H2yBByTSksSx0uLew9qeOQ
提取码:kc6u
**

三菱PLC MC协议3E报文是一种用于与三菱PLC进行通信的协议。它是基于Modbus协议改进而来的,并支持更多的功能和数据类型。 3E报文的结构包含了多个字段,用于指示通信的目的和执行的操作。其中,包含了设备号、功能码、起始地址、读写长度等信息。 对于读操作,3E报文中的功能码为0x01,表示读取数据。起始地址表示要读取的寄存器的位置,读写长度表示要读取的寄存器数量。PLC会根据这些信息,读取相应位置的寄存器,并将读取到的数据回复给主机。 而对于写操作,3E报文中的功能码为0x10,表示写入数据。起始地址和读写长度同样表示要写入的寄存器的位置和数量。主机会将要写入的数据放入报文中发送给PLC,PLC会将数据写入指定的寄存器位置。 在使用3E报文进行通信时,需要注意以下几点: 1. 确保设备号与PLC设置一致,这样才能正确地寻址到PLC设备。 2. 通过读写长度字段来确定要读取或写入的寄存器数量,可根据需求灵活调整。 3. 根据具体的数据类型,选择合适的寄存器类型进行读写操作,避免数据丢失或损坏。 4. 在实际通信时,需要按照3E报文的格式进行数据打包和解析,确保数据的正确传输。 总之,三菱PLC MC协议3E报文是一种用于与三菱PLC进行通信的协议,通过读写操作来实现对PLC内部寄存器的数据读写。合理使用该协议可以实现对PLC的控制和监测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值