金猫数据Modbus通信 技术文档
返回首页
阀门压力测试数字化系统技术实现
机房环境监测的技术实现
企业能源消耗监测的技术实现
Modbus通信协议

Modbus通信协议简介

关键词:Modbus通信 ModbusRTU
摘  要:ModbusRTU通信协议介绍
1、基础定义
  Modbus协议是应用于 电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网) 和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成 工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备 的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
2、传输方式
  在ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定, 每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息 交换码),另一种模式是RTU(远程 终端设备)。 用户选择想要的模式,包括 串口通信参数( 波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都 必须选择相同的传输模式和串口参数。所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段 的每一位,以及决定怎样将信息打包成消息域和如何解码。在其它网络上(像MAP和Modbus Plus)Modbus消息被转成与串行传输无关的帧。
3、RTU模式
  当控制器设为在Modbus网络上以RTU模式通信,在消息中的每个8Bit字节按照原值传送,不做处理,如63H,RTU将直接发送01100011。 这种方式的主要优点是:数据帧传送之间没有间隔,相同波特率下传输数据的密度要比ASCII高,传输速度更快。 代码系统8位二进制, 十六进制数0...9,A...F消息中的每个8 位域都是一或两个十六进制字符组成 每个字节的位1个起始位8个 数据位,最小的有效位先发送1个奇偶校验位,无校验则无1个停止位(有校验时),2个Bit(无校验时)
4、应用举例
  4.1 读取地址为01的模块的4009-40010的2个寄存器的值
  发送指令:01 03 00 08 00 02 45 c9
  .地址:01
  .功能码(读):03
  .起始地址:00 08
  .寄存器数:00 02
  .CRC校验:45 c9
  4.2 地址为01的模块返回的2个寄存器的报文
  返回的报文:01 03 04 f1 03 f7 ff 3e bf
  .地址:01
  .功能码(读):03
  .寄存器数:04
  .寄存器4009字节0:f1
  .寄存器4009字节1:03
  .寄存器4010字节0:f7
  .寄存器4010字节1:ff
  .CRC校验:3e bf
  4.3 解析寄存器的值
  .寄存器4009:f1 03
   .以上是16进制,换算成10进制为:61699
  .寄存器4010:f7 ff
   .以上是16进制,换算成10进制为:63487
5、推荐用调试工具
  5.1 Modscan
  5.2 Sscom