因工程需要,需要了解三菱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回复:无法了解……

    

三菱FX PLC编程口通讯协议详解相关推荐

  1. iec60870-5-104通讯协议编程_三菱FX编程口通讯协议1——协议解读

    三菱PLC编程口通讯协议: 1.三菱PLC编程口通讯协议有四个命令,如下: 2.三菱FX系列PLC地址对应表: PLC_X Group Base AddRess=128: Const PLC_Y_Gr ...

  2. PLC编程安卓版 兼容三菱FX PLC编程指令 软件在线仿真 硬件PLC工控板蓝牙与手机蓝牙在线下载程序 在线仿真

    1 APP功能描述 2 APP下载与安装注册 3 APP介面操作 3.1 主介面介绍 3.2 状态栏 3.3 工件区 3.4 工具栏 3.5 转换成上位机GX Works2文件 1 APP功能描述 F ...

  3. modbus通讯协议详解

    1.Modbus协议简介 Modbus协议是一种广泛应用于当今工业控制领域的通用通信协议.通过此协议,控制器相互之间.或者控制器经由网路(如以太网)可以和其他设备之间进行通信.Modbus协议使用的是 ...

  4. modbus通讯协议详解(转载)

    转载自:https://www.cnblogs.com/The-explosion/p/11512677.html modbus通讯协议详解 1.Modbus 协议简介  Modbus协议是一种已广泛 ...

  5. 3、Modbus通讯协议详解

    前言 在平时用的时候模块都会带有自己的通讯协议,直接查看手册用就可以,所以平时对于modbus虽然是在用但是原理性的东西时常忘记. 但是如果你做一个底层,自己写一个通讯协议,这时候就要对协议本身有所了 ...

  6. 触摸屏与PLC之间无线通讯步骤详解

    在工厂里,触摸屏往往位于程控室内,作为控制多个不同位置PLC的主站设备.因为触摸屏和plc所处位置距离较为分散,重新铺设电缆线工期长,成本高,故采用无线方式解决触摸屏与PLC之间的通讯问题. 接下来, ...

  7. 经过整理的Modbus通讯协议详解(一)

    Modbus通讯协议简介 Modbus协议 Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modb ...

  8. SPI通讯协议详解 基于STM32

    SPI 协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议 (Serial Peripheral Interface),即串行外围设备接口,是 一种高速全双工的通信总线.它被广泛地使用在 ADC.L ...

  9. WinSock API网络编程——TCP/IP协议详解

     WinSock API网络编程--TCP/IP协议(http://www.impcas.ac.cn/usr/lujun/browse.asp?id=winsock_tcp)            ...

  10. 【科普贴】I2C通讯协议详解——偏软件分析和逻辑分析仪实例分析

    一. I2C标准协议流程 1. I2C协议--规定命令 开始:当SCL为高电平时,SDA从高电平向低电平切换 停止:当SCL为高电平时,SDA从低电平向高电平切换 应答(ACK):发送侧发送完8bit ...

最新文章

  1. 实施自动化测试的六个目标和意义
  2. OpentTsdb官方文档中文版----查询性能
  3. c++中利用sizeof运算符计算结构体大小问题探讨
  4. microsoft word中在公式后插入可交叉引用的公式编号
  5. 第八届 蓝桥杯 承压计算
  6. Android的debug.keystore拒绝访问导致的生成异常及解决方案
  7. python 赋值操作的知识点
  8. c语言删除行尾的空格,新人提问:如何将输出时每行最后一个空格删除
  9. Collectors.averagingInt
  10. 苹果的编程语言--Swift
  11. LateX安装下载使用详细教程
  12. HCIE大师之路(一)——VRRP+DHCP+RSTP综合实验
  13. 【VueElementUI学习】表格序号
  14. html向下三角箭头,CSS制作三角箭头(兼容IE6)
  15. 2011年中国大陆十佳IC设计公司
  16. 基于java的学生社团管理系统的研究设计计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  17. workman php 安装,windows 安装workman本地快速入门
  18. 雷特智能家居龙海祁:从专业调光到全宅智能,20年专注成就专业
  19. matlab怎么多重积分,多重积分的MATLAB实现
  20. Code Project精彩系列(2)

热门文章

  1. MyBatis历史、MyBatis特性、MyBatis下载、MyBatis和其他持久层技术的比较
  2. Oracle数据库锁表查询
  3. mysql多个数据库查询_如何跨多个数据库查询
  4. charset参数 sqluldr2_linux下配置 oracle数据导出工具sqluldr2
  5. 光纤传感技术:基于Matlab的OFDR系统数值仿真
  6. bp神经网络数据预测实例,bp网络神经预测模型
  7. Geodetector软件下载、地理探测器的应用实践与结果解读
  8. vue导出Excel图片
  9. Python AutoCAD 图层
  10. 模拟电路——晶体管基础