zoukankan      html  css  js  c++  java
  • Modbus通讯两种传输方式

    控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。

      ASCII模式:

    地址 功能代码 数据数量 数据1 ... 数据n LRC高字节 LRC低字节 回车 换行

      RTU模式:

    地址 功能代码 数据数量 数据1 ... 数据n CRC低字节 CRC高字节

      所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。

      在其它网络上(像MAP和Modbus Plus)Modbus消息被转成与串行传输无关的帧。

      1、ASCII模式

      当控制器设为在Modbus网络上以ASCII模式通信,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。

      代码系统:

      十六进制、ASCII字符0...9,A...F

      消息中的每个ASCII字符都是一个十六进制字符组成

      每个字节的位构成:

      1个起始位;7个数据位,最小的有效位先发送;1个奇偶校验位,无校验则无;1个停止位(有校验时),2个Bit(无校验时)。

      错误检测域:LRC(纵向冗长检测)

      2、RTU模式

      当控制器设为Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。

      代码系统:

      8位二进制,十六进制数0...9,A...F

      消息中的每个8位域都是一个两个十六进制字符组成

      每个字节的位:

      1个起始位;8个数据位,最小的有效位先发送;1个奇偶校验位,无校验则无;1个停止位(有校验时),2个Bit(无校验时)

      错误检测域:

      CRC(循环冗长检测)

  • 相关阅读:
    No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing instance of type Test (e.g. x.new A() where x is an instance of Test).
    java中的static
    java gui 2
    Java GUI
    Java练习2
    安装docker后,原来正常的vagrant up启动出现了错误
    PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 17295719 bytes) in
    Class 'ZipArchive' not found解決
    从google storage上传或者下载文件
    使用python获取pptx文件的文本内容范例
  • 原文地址:https://www.cnblogs.com/easypass/p/9705670.html
Copyright © 2011-2022 走看看