控制器能设置为两种传输模式(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(循环冗长检测)

最新文章

  1. PHP简单文件上传
  2. BZOJ1251——序列终结者
  3. VS2015 C#6.0 中的那些新特性
  4. JAVA版Kafka代码及配置解释
  5. 这些天自身努力的体会,关于java方面的
  6. SQL的常用语句
  7. SharePoint 2010 RBS 安装和配置的一些记录
  8. 【React Native 实战】微信登录
  9. localStorage变更事件当前页响应新解
  10. Ubuntu 下安装VNC server
  11. Android学习之 博客专栏 与 资料
  12. AS3.0定义变量的访问范围
  13. ssh整合启动tomcat报java.lang.ClassNotFoundException: org.apache.commons.lang.xwork.StringUtils
  14. 【IE6的疯狂之十】父级使用padding后子元素绝对定位的BUG
  15. 【转】JDBC学习笔记(10)——调用函数&存储过程
  16. Python学习笔记3
  17. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中
  18. 获取远程IP、字符串解析
  19. xshell 使用root 连接ubuntu server
  20. jenkins发送生成的html报告作为邮件附件,但无内容的问题分析

热门文章

  1. 使用Server Trigger保护重要的数据库对象
  2. 使用Log4Net进行错误日志记录
  3. name 'reload' is not defined解决方法
  4. Windows7安装 docker-compose的过程
  5. java中的超类是什么
  6. 五 Struts 配置文件
  7. 挥舞的手臂(mixly+二次开发)
  8. git客户端的安装及使用
  9. An interesting combinational problem
  10. HTML之表单