三菱Q系列PLC TCP通信

一、三菱Q系列PLC通信协议

  • 三菱Q系列PLC通信协议有很多种,本次选择了MC,MC内发送数据有ASCII方式和二进制方式。
  • 通信模块有内置以太网模块(与CPU一起)和以太网扩展模块,不同的模块设置参数的方式同,本次使用的是内置式的。
  • MC1E(三菱FX3U系列通讯)

二、MC的协议方式

  • MC的协议方式有A-1E模式和Qna-3E模式、Qna-4E模式;
    A-1E为较早的通信版本,对地址的操作范围有限(数据寄存器区的D0D6143、D9000D9255)
    Qna-3E可访问D0~D12287数据。

1、A-1E协议:

读取指令:
01 ff 0A00 32000000 2044 0100
副头部、PLC编号、时钟、首地址、设备标识号、读取长度

写入指令:
03 ff 0A00 32000000 2044 0100 0100
副头部、PLC编号、时钟、起始地址、设备标识号、写入长度、写入数据

2、Qna-3E协议:二进制方式

读取指令:
5000 00 FF FF03 00 0C00 0100 0104 0000 A62700 A8 0100
副头部、网络编号、PLC编号、IO编号、模块站号、请求数据长度、时钟、指令、子指令、数据区、起始地址、长度

写入指令:
5000 00 FF FF03 00 0C00 0100 0114 0000 A62700 A8 0100 0102
副头部、网络编号、PLC编号、10编号、模块站号、请求数据长度、时钟、指令、子指令、数据区、起始地址、长度、写入数据

3、Qna-3E协议:ASCII方式

读取指令:
5000 00 FF 03FF 00 000C 0010 0401 0000 D* 0027A6 0001
副头部、网络编号、PLC编号、I0编号、站号、请求数据长度、时钟、指令、子指令、数据区、起始地址、读取长度

写入指令:
5000 00 FF 03FF 00 001C 0010 1401 0000 D* 0027A6 0001 FEEE
副头部、网络编号、PLC编号、10编号、站号、请求教据长度、时钟、指令、子指令、数据区、起始地址、读取长度、写入教据

  • 请求数据长度计算为之后的所有数据,二进制方式两个数字为一个字,ASCII为一个数字一个字,二进制发送时数据的高低位需要调换,ASCII发送带字母起始地址式会返回错误?。

4、数据回复

异常回复:
0b 00 5b c0 00 ff ff 03 00 01 14 00 00

成功回复:
d0 00 00 ff ff 03 00 02 00 00 00

三、字符串转换为二进制数据:

byte[] bytes = new byte[str.Length / 2];

for (int i = 0; i < str.Length; i += 2)

    bytes[i / 2] = (byte)Convert.ToByte(str.Substring(i, 2), 16);

四、参考资料

「sunny被注册」博客:https://blog.csdn.net/xy943294069/article/details/48416535

版权声明:
作者:倾城
链接:https://www.techfm.club/p/46210.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>