三菱5u 上位机mc协议_C#工控上位机系列(3) 如何和三菱PLC通信

工作中用的比较多的是三菱的PLC的 Fx5U和Fx3U,它们有多种通信协议,我们学习时先从1种入手,再扩展到其他的。三菱的说明书几百页,我们要把说明书读薄,只选其中通信协议部分看就好了。而上位机一开始只需要了解读写一个字元/位元就可以了。

三菱FX-3U 计算机专用协议通信方式,其通讯命令字和通讯格式介绍如下:

命令字 注释

BR 以1点为单位,读出位元件的状态

WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值

BW 以1点为单位,写入位元件的状态

WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件

三菱5u 上位机mc协议_C#工控上位机系列(3) 如何和三菱PLC通信_第1张图片
PC发送给PLC的通信命令格式约定说明:ENQ为请求标志,ASCII值5     ACK为正确标志,ASCII值6     STX为请求标志,ASCII值2     EXT为请求标志,ASCII值3     表格中粗体字为需要求和效验的部分;     和效验为每一项的ASCII值的总和转换成十六进制后,取其低两位;     站号、PLC号、元件数量、和效验都是以十六进制表示;                  等待延时为0-150毫秒,以十六进制0H-FH表示,如100ms为AH1) 批量读出位元件—BR指令格式例如:要读出站号为5的PLC的X40到X44共5点的状态值,延时100毫秒,假设PLC中X40与X43为OFF,其余为ON,则指令数据如下:注释: 请求  站号 PLC号  命令   延时     元件首地址   元件数量   和校验代码: ENQ   0     5FF      B R     A      X 0 0 4 0         0 5         4 7ASCII码: 05H 30H 35H 46H 46H 42H 52H 41H 58 30H 30H 34H 30H 30H 35H 34H 37H只要将以上代码以字符串形式串口发送到PLC,就会有正确的回应信息,如下:注释: 头    站号   PLC号   位元件状态值     尾       和校验代码: STX    0     5 F F     0 1 1 0 1           EXT        E 7ASCII码: 02H 30H 35H 46H 46H 30H 31H 31H 30H 31H 03H 45H 37H2) 批量读出字元件—WR指令格式例如 读站号0的PLC的D10的字元值注释: 请求  站号 PLC号  命令   延时     元件首地址   元件数量   和校验代码: ENQ   0     0FF      W R     0       D 0 0 1 0         0 2        2 CASCII码: 05H 30H 30H 46H 46H 57H 52H 30H 44H 30H 30H 31H 30H 30H 32H 32H 43H  3) 批量写入位元件—BW指令格式  ...4) 批量写入字元件—WW指令格式例如 写入站号0的PLC的D10的字元值=11注释: 请求  站号 PLC号  命令   延时     元件首地址     数量   写入值  和校验代码: ENQ   0     0FF      WW     0       D 0 0 1 0         0 1    000B     02ASCII码: 05H 30H 30H 46H 46H 57H 57H  30H    44H 30H 30H 31H 30H   30H 31H   30H 30H 30H 42H   30H 32H

5U则是用MELSEC通讯协议(简称MC协议)通信,

但MC协议的通讯格式有很多种:3E、3C、4E,4C帧格式, 个人感觉3C比4C好用,3C是ASCII文本格式,3E是二进制格式

下次再举例讲一下3C格式。。。 TO BE CONTINUE...

你可能感兴趣的:(三菱5u,上位机mc协议)