三菱FX PLC编程口通讯协议详解

因工程需要,需要了解三菱PLC编程口通讯协议,以为后续的上位机串口通讯打下相关基础……

毕竟首次接触此类通讯,对其原理不甚了解,导致走了不少弯路,故记下之,以免忘记。

需要工具与资料:

  1. GXDeveloper

  2. 串口通讯助手

  3. 编程口通讯协议手册(小子只仅找到繁体版本,且为影印版;若谁有文字版的原版,请留下相关资料,以利广大工控人学习)

能找到此文章的,软件各位应该都是备齐了,若没有,请自行查找;

通讯协议  下载地址(放两个,以免失效):

  1. http://www.ymmfa.com/read-gktid-1564754.html

  2. https://wenku.baidu.com/view/ff3415eab8f67c1cfad6b8e4.html

通讯实战链接:https://baijiahao.baidu.com/s?id=1580866577419831498&wfr=spider&for=pc

下述图文为小子理解时的一些细节。

下述图片为通讯协议中最重要的两面截图:

从上看出,所有发出的命令都为11个两位数(如:02 30 31 30 31 34 30 32 03 35 41,数与数之间有一个空格,并且这些两位数必须为16进制(H)的ASCII码(在串口调试软件中,发送与接收最好都设置为16进制状态)……

如果要读取 D10的值,那命令如下(下图与协议中有细微区别,为方便理解):

请求:02    规定如此,无论读取还是写入,此都为02

命令:30    30为从PLC读取数据,31为写入数据;0的ASCII码16进制表示为30,1的ASCII码为31,见下图

元件首地址:31 30 31 34    D10查表可得其地址的首地址为1014(行为1010,列4,1010+4=1014  16进制的加法),详见下图,1位数字对应1位ASCII码的16进制表示,1014即为31 30 31 34(1为31,0为30,4为34,注意中间的空格,在串口调试时一定不要忘记了中间的空格)

BYTE数:30 32      即02   因在三菱PLC中数据寄存器D为两个字节的存储,所以读取时必须为2个字节,即02,0对应30,2对应32,即30  32

结束:03    协议如此,无论读写都如此

校验和:35 42   按照前述照片协议校验和为   30+31+30+31+34+30+32+03=15B(16进制加法),取15B后边两位即5B,5对应ASCII中对应16进制为35,B为42

将“02 30 31 30 31 34 30 32 03 35 42”   填入发送区文本框,点击发送后,在接收区接收到  “02 33 30 37 35 03 44 32 

02:开始符,即请求开始

33 30 37 35:这四位为D10存储数据    前两位为数据为37  35 ,37对应的ASC码对应16进制为7,35为5,即75;后两位数据为 33  30 ,33为3,30为0,即30 (一定注意,此处的数据顺序)    33 30 37 35 转化为ASCII中16进制为7530,10进制为30000

在PLC中通过监视,D10确实为30000

03:命令结束符

44 32 :校验和   33+30+37+35+03=D2   D的ASCII 16进制为44,2为32

以上为D10读取测试详情(写与此类似,详细参考手册),其他软元件与此类似并注意以下事项:

  1. 该软元件的首地址

  2. 需要读取几个软元件值,各软元件需要几个字节存储(D为2个字节;C可能是2个,也可能是4个;T为2个  详细见手册)

  3. 校验和,不能计算错,否则只会返回错误15,如下将D10的取值02 30 31 30 31 34 30 32 03 35 42的42改为41后,其只会返回15,即PLC回复:无法了解……

    

源码下载地址:https://www.haolizi.net/example/view_18794.html

有道无术,术尚可求;有术无道,止于术。

原文首发于博客园。

(0)

相关推荐

  • 三菱Q系列内置以太网与调试助手做通信测试

    这是一个"悲惨"的故事: 学习是个互相探讨的过程,有次在跟机器人郭老师顺道一起回家的路上,突然之间聊到机器人的软件可以跟Socket(套接字)调试软件在电脑上实现模拟仿真.一听,那 ...

  • 三菱Q系列PLC连接CHNet-Q实现以太网通信配置方法

    三菱Q系列PLC连接CHNet-Q实现以太网通信配置方法 CHNet-Q是兴达易控研制的一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于三菱Q系 ...

  • 三菱plc怎样通过485通讯控制多台变频器

    有多种方法实现,首先要看变频器的牌子如果也是三菱的如FR-A系列.F系列.D系列以及S系列等,可以使用三菱plc中的专用指令IVDR写入指令和IVCK读出指令对变频器进行控制和数据监视,plc作为主站 ...

  • 三菱Q系列PLC连接多台触摸屏与液晶显示器数据不一致解决办法

    三菱Q系列PLC连接多台触摸屏与液晶显示器数据不一致解决办法 CHNet-Q采用模块化设计,带通讯线.不占用PLC编程口,即编程软件/上位机软件通过以太网通信 现场常见的问题: 现场的多个触摸屏Q系列 ...

  • modbus通讯协议详解

    modbus通讯协议详解

  • PLC和变频器通讯接线图详解

    plc与变频器两者是一种包含与被包含的关系,PLC与变频器都可以完成一些特定的指令,可以控制电机马达.但PLC是一种程序输入执行硬件,变频器则是其中之一,而且PLC的涵盖范围又比变频器大,还可以用来控 ...

  • 上位机与PLC编程口协议通信(PLC一条通信程序都不用写)

    上位机与PLC编程口协议通信(PLC一条通信程序都不用写)

  • 一起学习:西门子200 PLC自由口通讯

    编程自由口通讯的基本步骤 1 设置通讯参数:如果是集成在本机上基于RS485口,在SMB30中设置(prot0口);如果是采用通讯信号板,则在SMB130中设置(prot1口),这2个地址的设置,仅仅 ...

  • 西门子PLC自由口通讯 中断,有多少人用过?

    在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间.那么这个时候对于PLC来说通讯就是最重要的,所以我们需要打断PLC的 ...

  • 有多少工程师不会: 西门子PLC自由口通讯 中断

    去学PLC技术 在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间.那么这个时候对于PLC来说通讯就是最重要的,所以我们 ...

  • 西门子PLC自由口通讯 中断,这么用很方便!

    以前我们讲过关于自由口通讯的实例,今天我们讲一下自由口通讯配合中断的实例. 在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯 ...

  • 三菱FX PLC学习之脉冲输出指令

    蓝字  '技成电工课堂"  关注我们哦! 相信大家对脉冲都有所耳闻,那么,脉冲是什么?说到脉冲,我们很容易就联想到人的脉搏.心跳有快有慢,例如看到心动的美人,心跳可能飙升到120. 而脉冲, ...

  • 我的三菱FX PLC学习之脉冲输出指令

    相信大家对脉冲都有所耳闻,那么,脉冲是什么?说到脉冲,我们很容易就联想到人的脉搏.心跳有快有慢,例如看到心动的美人,心跳可能飙升到120.而脉冲,简单来说,就是类似心电图上脉搏跳动的电压或电流波形. ...