Modbus 是Modicon 家的东东,所有的规矩都要它说了算。

先看一下modscan32对上文的设备的测试结果
01.

监视到串口的数据如下:
发出:01 01 00 00 00 03 7C 0B                  //01站地址,01功能号,00 00 起始地址,00 03要读的数据个数
接收:01 01 01 03 11 89                            //01站地址,01功能号,01返回的字节数,02即0000 0011 对应1个字节(后3位有效)

02.

监视到串口的数据如下:
发出:01 02 00 00 00 03 38 0B                 //01站地址,02功能号,00 00 起始地址,00 03要读的数据个数
接收:01 02 01 03 E1 89                           //01站地址,02功能号,01返回的字节数,03即0000 0011 对应1个字节(后3位有效)

03.

监视到串口的数据如下:
发出:01 03 00 00 00 03 05 CB                  //01站地址,03功能号,00 00 起始地址,00 03要读的数据个数
接收:01 03 06 00 00 00 01 00 02 F1 74    //01站地址,03功能号,06返回的字节数,00 00 00 01 00 02 对应6个字节3个数

04.

监视到串口的数据如下:
发出:01 04 00 00 00 03 B0 0B                  //01站地址,04功能号,00 00 起始地址,00 03要读的数据个数
接收:01 04 06 00 00 00 01 00 02 B0 92    //01站地址,04功能号,06返回的字节数,00 00 00 01 00 02 对应6个字节3个数

可以看到,modscan32
读modbus地址00001时,使用的是01功能号,并且发出的起始地址是0
读modbus地址10001时,使用的是02功能号,并且发出的起始地址是0
读modbus地址30001时,使用的是04功能号,并且发出的起始地址是0
读modbus地址40001时,使用的是03功能号,并且发出的起始地址是0
恩,这是modicon modbus 地址的规范。40001属于应用层,功能号部分应该属于"数据链路层"
最终交付给客户的地址都应该是如40001等形式的modbus地址,比如你如果定义40001为冰机蒸发器出水温度,对于一般的软件如modscan32,ModbusSerialDAServer都是采用modbus标准协议来写的,所以他们读取40001时,会发03功能号和地址0,所以在设备的响应程序里应该在接到03功能号和地址0的时候将这个温度值发出。
即对应关系是:modbu地址--->功能号,地址--->设备内部定义的变量

另外对modbus功能码:
01读取线圈状态,线圈为可读可写,比如plc中的DO可读可写,也可以是plc或单片机的某个内部位变量。
02读取输入状态,输入为只读,比如plc中DI的状态
03读取保持寄存器,保持寄存器为可读可写,比如plc中的AO通道,也可以是plc或单片机的某个内部变量
04读取输入寄存器,输入寄存器为只读,比如plc中的AI通道
05强制单个线圈
06强制单个保持寄存器

对modbus的功能码后的地址:
对于单片机可以是实际的某个寄存器,也可以是某个内部变量,按需选择。

refer to
Modicon Modbus Protocol Reference Guide
http://bbs.cechina.cn/thread-81236.html
**********************************************************************************************************************************************************************************
modscan32没有写功能,就试着对照着它也写了一个基于view/document的modbus读写小工具,取名叫modscan36。
http://blog.csdn.net/luck_good/article/details/6973651

转载于:https://www.cnblogs.com/-song/archive/2011/11/05/3331935.html

modbus3-关于Modicon Modbus Protocol和modscan32相关推荐

  1. Modbus通信协议(Modbus protocol)

    Modbus通信协议 MODBUS是一个请求/应答协议,位于OSI模型的第7层上的应用层报文传输协议. Modbus:1979年,莫迪康,施耐德收购 ModbusRtu/ModbusAscill/Mo ...

  2. uC/Modbus 用户手册——第一节

    目录 1.0 引言 1.01 拓扑结构 1.02 uC/Modbus结构体系 1.0 引言 这篇文档对uC/Modbus进行叙述,实现了Modicon Modbus协议(简称Modbus)以及Modb ...

  3. Modbus通讯协议

    https://baike.baidu.com/item/Modbus%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE/5972462?fromtitle=ModBus& ...

  4. Clustering method in protocol reverse engineering for industrial protocols

    工业协议逆向工程中的聚类方法 一.摘要 二.介绍 (一)流量收集 (二)信息提取 (三)基于大小的消息聚类 (四)基于相似性的消息聚类 (五)字段提取 (六)会话分析 三.实验评估 (一)流量收集 ( ...

  5. 西门子串口通讯08-CP341在STEP7环境中做Modbus从站通讯

    西门子串口通讯08-CP341在STEP7环境中做Modbus从站通讯 v-x-公–众–号:工控自动化老王 1 硬件列表 设备名称 设备型号 PS 307 6ES7 307-1EA00-0AA0 CP ...

  6. 【嵌入式】Libmodbus源码分析(三)-modbus相关函数分析

    00. 目录 文章目录 00. 目录 01. modbus-private.h文件 02. modbus.h文件 03. modbus.c文件 04. 预留 05. 附录 01. modbus-pri ...

  7. C#使用TCP/IP与ModBus进行通讯

    C#使用TCP/IP与ModBus进行通讯 1. ModBus的 Client/Server模型 2. 数据包格式及MBAP header (MODBUS Application Protocol h ...

  8. 【小工匠聊Modbus】04-调试工具

    可以参考: http://git.oschina.net/jrain-group/ 组织下的Java Modbus支持库 Modbus-系列文章 1.虚拟成对串口 (1)下载虚拟串口软件VSPD(可在 ...

  9. easymodbus_easymodbus4j基于netty的modbus协议快速开发工具

    easymodbus4j easymodbus4j A high-performance and ease-of-use implementation of the Modbus protocol w ...

最新文章

  1. 12 种方式轻松实现 Ruby 调用
  2. 如何优雅的使用和理解线程池
  3. Vue 应用 Sass、Scss、Less 和 Stylus
  4. ext3grep practice record
  5. 矩形在as3视觉编程中的几个应用方式
  6. 阿里技术大神:你没做错啥,你错在啥都没做
  7. couchbase_Couchbase 101:从Java应用程序创建视图(MapReduce)
  8. resolv.conf
  9. CentOS 5安装GIT的基本命令
  10. C# 正则表达式选项总结
  11. 27.将 VMware 服务器上的虚拟机备份到 Azure(上)
  12. SQL注入学习part07:(SQL注入语句总结)
  13. 周报_2011第40周(2011/09/25-2011/10/01)
  14. 造假家族覆灭记:警方联合阿里斩断涉案三千万假耐克产销链
  15. 格式工厂 wav 比特率_Mac音乐格式转换工具
  16. Java进阶(二十九)集合12:集合练习题
  17. 《应用时间序列分析:R软件陪同》——2.6 MA 模型
  18. 屏幕录像软件无法录制电脑视频解决办法
  19. 【已解决】格式化SD卡提示“这张磁盘有写保护”,试过将SD开关拨向两边,均失败。
  20. 导函数连续、可导、可微、连续、有界、可积的关系,史上最全!一张图搞定!

热门文章

  1. Web服务之Nginx浅析
  2. Adblock Plus cjxlist 规则说明与反馈贴
  3. web.config 中SessionState的配置 [转]
  4. 吴杭民:上海的生活成本高过纽约(贪污腐败横行)
  5. Apple Mac OS X每日一技巧026:Spotlight打开文件所在的文件夹
  6. 基于java的WebGIS服务器的设计
  7. 安装ORACLE 11.2.0.3 错误
  8. redhat es4 u5 下安装ORACLE 11G.
  9. Charles调试Https iOS
  10. css盒模型和元素绘制