一、RS485介绍
485
1.在工业控制场合,RS485总线因其接口简单,组网方便,传输距离远等特点而得到广泛应用。
2.RS485和RS232一样都是基于串口的通讯接口,数据收发的操作是一致的,所以使用的是同样WinCE的底层驱动程序。但是它们在实际应用中通讯模式却有着很大的区别,RS485接口为半双工数据通讯模式,而RS232接口为全双工数据通讯模式。RS485任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
3.RS485接口组成的半双工网络,一般是两线制(以前有四线制接法,只能实现点对点的通信方式,现很少采用),多采用屏蔽双绞线传输。这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。

二、MODBUS介绍
1.1979年施耐德电气制定了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采用Modbus协议。
2.ModBus网络是一个 工业通信系统,由带智能终端的 可编程序控制器计算机 通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种 数据采集 和过程 监控 。
3.Modbus可以支持多种电气接口,如RS-232、 RS-485 等,还可以在各种介质上传送,如双绞线、 光纤 、无线等。

三、RS485和MODBUS的区别
1.RS485是一个物理接口,简单的说是硬件。
2.MODBUS是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途);所谓协议,也可以理解为上面有人说的“语言”吧,简单的说是软件。通俗点来讲,ModBus规约了起停电机,主机要分别发送什么命令给从机。ModBus规定主从机之间数据的交互,需要遵循什么样的格式,如何保证数据在传输过程中不发生冲突。只要都遵循这个协议,那么不同厂家的主从机就可以共用了。
3.一般情况下,两台设备通过MODBUS协议传输数据:
最早是用RS232C作为硬件接口,(也就是普通电脑上的串行通讯口(串口)); 也有用RS422的,也有常用的RS485,这种接口传输距离远,在一般工业现场用的比较多。
4.MODBUS协议又分MODBUS RTU,MODBUS ASCII和后来发展的MODBUS TCP三种模式:
其中前两种(MODBUS RTU,MODBUS ASCII)所用的物理硬件接口都是串行(Serial)通讯口(RS232,RS422,RS485)。而MODBUS TCP则是为了顺应当今世界发展潮流,什么都可以用 Ethernet 网或Internet来连接,传送数据。所以又MODBUS TCP模式,该模式的硬件接口就是 以太网 (Ethernet)口了,也就是我们电脑上一般用的网络口了。

起始位和结束符:前后都至少有3.5个字节的时间间隔,起始位和结束符实际上没有任何数据,T1-T2-T3-T4代表的是时间间隔3.5个字节以上的时间,而真正有意义的第一个字节是设备地址。

  • 设备地址:在多机通信的时候,数据那么多,我们依靠什么判断这个数据帧是哪个设备的呢?没错,就是依靠这个设备地址字节。每个设备都有一个自己的地址,当设备接收到一帧数据后,程序首先对设备地址字节进行判断比较,如果与自己的地址不同,则对这帧数据直接不予理会,如果如果与自己的地址相同,就要对这帧数据进行解析,按照之后的功能码执行相应的功能。如果地址是0x00,则认为是一个广播命令,就是所有的从机设备都要执行的指令。
  • 功能代码:在第二个字节功能代码字节中,Modbus规定了部分功能代码,此外也保留了一部分功能代码作为备用或者用户自定义,这些功能码大家不需要去记忆,甚至都不用去看,直到你有用到的那天再过来查这个表格即可。
  • CRC校验:CRC校验是一种数据算法,是用来校验数据对错的。CRC校验函数把一帧数据除最后两个字节外,前边所有的字节进行特定的算法计算,计算完后生成了一个16bit的数据,作为CRC校验码,添加在一帧数据的最后。接收方接收到数据后,同样会把前边的字节进行CRC计算,计算完了再和发过来的CRC的16bit的数据进行比较,如果相同则认为数据正常,没有出错,如果比较不相同,则说明数据在传输中发生了错误,这帧数据将被丢弃,就像没收到一样,而发送方会在得不到回应后做相应的处理错误处理。

RS485通信和Modbus通信协议相关推荐

  1. STM32:RS485通信和Modbus通信协议汇总

    RS485通信和Modbus通信协议汇总 1. 主从模式 RS-485上的软件层协议ModBus主要依赖于主从模式.主从模式是指在半双工通讯方式上,2个或者2个以上的设备组成的通讯系统中: (1) 至 ...

  2. 干货分享:RS485通信和Modbus通信协议汇总

    https://zhuanlan.zhihu.com/p/24134130 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接口,由于工业现 ...

  3. RS-485总线和Modbus通信协议的关系

    一.RS-485总线 RS-485总线技术只是规定了接口的电气标准,并没有规定RS-485接口的电缆,插件以及通信协议,只是OSI规范中物理层的一个标准,RS-485总线采用差分平衡传输方式.由于RS ...

  4. RS485通信和Modbus协议

    在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是 RS232 接口,由于工业现场比较复杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错 ...

  5. 【物联网毕设基础】单片机:RS485 通信与 Modbus 协议

    文章目录 RS485 通信与 Modbus 协议 单片机 RS485 通信接口.控制线.原理图及程序实例 RS485 通信与 Modbus 协议 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用 ...

  6. RS-485通信和ModBus详解

    RS-485通信和ModBus详解   博主在做一些项目的时候,用到一些模块,经常会是485的接口,而且485也是工业上常用的通信方式,在工业应用中建立连向PC机的分布式设备网络.其他数据收集控制器. ...

  7. RS485 通信与 Modbus 协议

    文章目录 RS485 通信与 Modbus 协议 单片机 RS485 通信接口.控制线.原理图及程序实例 RS485 通信与 Modbus 协议 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用 ...

  8. RS485与Modbus通信协议教程!

    原文:RS485与Modbus通信协议教程!_接口_信号_传输 1979年施耐德电气制定了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采用Modbus协议,所以今 ...

  9. 什么是modbus通信协议?

    Modbus是一种用于工业通信的通信协议,最初由Modicon在1979年推出,现在已经成为工业自动化领域中最流行的协议之一.Modbus通常用于控制和监视自动化设备,如PLC.传感器.计量器等.本篇 ...

  10. STM32物联网项目-RS485通信(Modbus协议)

    RS485通信(Modbus协议) 协议介绍 RS485介绍:http://t.csdn.cn/bOuFX Modbus协议:http://t.csdn.cn/mgioX CubeMX配置 RS-48 ...

最新文章

  1. python中selenium中使用ajax_selenium 智能等待ajax完成调用
  2. FilterDispatcher is deprecated! Please use
  3. Winform界面中主从表编辑界面的快速处理
  4. 【超详细】思科实验模拟器EVE的安装与使用,附下载链接
  5. python PyQt5.QtWidgets.QWidget类
  6. 【Linux】一步一步学Linux——gdb命令(258)
  7. junit mockito_JUnit和Mockito合作
  8. MySQL索引类型总结和使用技巧以及注意事项
  9. 让IT人早点下班?高效的vPro平台帮你忙
  10. 300plc与组态王mpi通讯_MPI(DP)-ETH以太网转换器使用手册
  11. ras私钥c#转java_RSA密钥,JAVA与.NET之间转换
  12. GDB 使用教程(二)
  13. python中tkinter模块_使用Python中的tkinter模块作图的方法
  14. 业余无线电通信_业余电台操作证书查询方式
  15. 简单查询多个D速物流,并分析未签收延误的单号
  16. 浅谈如何构建自己的技能树(知识树)
  17. 游戏渠道SDK-Android
  18. 各种转码(bytes、string、base64、numpy array、io、BufferedReader )
  19. 图像识别流程学习总结
  20. 通过excel文件在arcgis中点转面

热门文章

  1. jsmind 线条_jsmind/2.options.md at master · hizzgdev/jsmind · GitHub
  2. linux创建隐藏用户,Linux之隐藏权限lsattr和chattr
  3. 从零开始做小程序(三)——引入组件库
  4. 1.2 微信小程序开发-用户登录页面设计
  5. 模糊PI控制的Simulink仿真(保姆级别)
  6. Spring之Bean作用域
  7. 机器学习入门-用Java实现简单感知机
  8. nova虚拟机迁移一
  9. 至尊无上“武林神话”——下载最强3dmax插件神器|高效顶级3dmax插件神器“王者荣耀”加冕?满血拉二胡,开挂横着走!
  10. 【Android 逆向】APK 加壳脱壳现状 | 判断 APK 是否加壳 | APK 逆向流程