问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

RS-485通信和ModBus详解

创作时间:
作者:
@小白创作中心

RS-485通信和ModBus详解

引用
CSDN
1.
https://blog.csdn.net/xuewei_Li/article/details/88073976

RS-485通信和ModBus协议是工业自动化领域中常用的通信方式和技术标准。本文将从RS-485通信的基本原理出发,详细讲解其工作方式和应用特点,并结合ModBus协议在工业485通信中的具体应用,帮助读者全面了解这一技术体系。

理论篇

在485之前工业上有种常用的通信方式就是 RS232 ,其特征如下:
1)RS-232串口通信最远距离是50英尺;
2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps
3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V
但是由于其抗干扰能力差、电压较高,与其他电路连接不方便、通信距离短、不支持多机通信,随之而来485就慢慢应用来了

RS232原理部分,这里就不展开介绍了,参考以下链接
http://www.21ic.com/jichuzhishi/datasheet/RS232/jiekou/184659.html
232和485区别
http://m.elecfans.com/article/567680.html

1 差分通信 :我们知道如果在一根线上像传输数据就是高低电平代表0和1进行传输,差分通信就是用两个线的 正负压差 来代表0和1进行数据传输。以两线之间的压差为+(0.2-6)V来表示逻辑1,以两线之间的压差为-(0.2-6)V来表示逻辑0,其设计可以有效的 抑制共模干扰 ,在工业上干扰较强的复杂环境中又较广泛的用途。所以,485通信肯定时 半双工 的了。

2 RS485通信 最大的传输速度 可以达到10Mb/s以上, 传输距离 可以达到1200米左右。(但是速度和距离是成反比的,10 米时, RS485 的数据最高传输速率可达 35Mbps,在 1200m 时,传输速度可达 100Kbps。)

  &e  msp;    MAX485典型应用电路原理图

MAX485 是美信(Maxim)推出的一款常用 RS485 转换器 。这里1、4、5、6、7、8接线就不赘述了,主要介绍一下 方向引脚2、3引脚 。2 脚和 3 脚是方向引脚,其中 2 脚是低电平使能接收器,3 脚是高电平使能输出驱动器,我们把这两个引脚连到一起, 平时不发送数据的时候,保持这两个引脚是低电平,让 MAX485 处于接收状态,当需要发送数据的时候,把这个引脚拉高,发送数据,发送完毕后再拉低这个引脚就可以了 。为了提高 RS485 的抗干扰能力,需要在靠近 MAX485 的 A 和 B 引脚之间并接一个电阻,这个电阻阻值从 100欧到 1K 都是可以。
  
  但是,我们实际使用收发时要专门用一个IO口来控制方向2、3引脚,这样就会很不方便有没有!!!所以一般电路中我们都是使用 自收发电路

( 自动收发电路 ,就是不用单片机引脚CTRL,当数据进来的时候,数据会自动通过RXD到单片机,当需要发送数据时,自动通过TXD发送出去。也就是只需要连接单片机的RXD和TXD引脚就可以, 无需用单片机引脚连接485芯片的DE RE引脚 。)

      典型的自收发的485通信电路
接收 :默认没有数据时,TX为高电平,三极管导通,RE为低电平使能,RO收数据有效,MAX485为接收态。
发送 :发送数据时,TX会先有一个下拉的电平(起始位-由高向低),表示开始发送数据,此时三极管截止,DE为高电平发送使能。当发送数据“0”时,由于DI接口相当于接地,此时数据“0”就会传输到AB扣,A-B<0,则传输“0”,完成低电平传输,当发送“1”时,此时三极管导通,按理说RO会使能,此时由于还处于发送数据中,这种状态下MAX485处于高阻太,此时的状态通过A上来,B下拉电阻决定,此时A-B>0传输“1”,完成高电平的传输。(解释部分摘自https://blog.csdn.net/zhejfl/article/details/78638833)

好了,到这我们就像普通的UART一样了,使用就是一样的了。

485原理讲解部分
   http://m.elecfans.com/article/714259.html
  典型应用电路部分
  https://blog.csdn.net/zhejfl/article/details/78638833

实战篇

实战部分博主想补充一下工业中 485通信 经常采用 Modbus协议 。这里简单的介绍一下。

多机通信 :首先485通信可以进行联网实现多机通信,总线上允许挂多个收发器,从现有的RS485芯片来看,有可以挂32、64、128、256等不同个设备的驱动器。

Modbus协议特点 :Modbus协议是应用于电子控制器上的一种 通用协议 。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信,已经成为一种 工业标准 。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。这种协议定义了一种控制器能够认识使用的数据结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其他设备的过程,如何回应来自其他设备的请求,以及怎样侦测错误记录,它制定了通信数据的格局和内容的公共格式。

在进行多机通信的时候,Modbus协议规定每个控制器必须要知道他们的 设备地址 ,识别按照地址发送过来的数据,决定是否要产生动作,产生何种动作,如果要回应,控制器将生成的反馈信息用Modbus协议发出。

图片来自水印

Modbus有下列三种 通信方式

  1. 以太网 ,对应的通信模式是 MODBUS TCP
  2. 异步串行传输 (各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是 MODBUS RTUMODBUS ASCII
  3. 高速令牌传递网络 ,对应的通信模式是 Modbus PLUS

深入学习Modbus协议可以参考大神文章,博主强烈推荐
   https://blog.csdn.net/byxdaz/article/details/77892778

自己整理的,巩固了之前的知识,也学到了很多知识,皮一下

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号