https://blog.csdn.net/ouyangxin95/article/details/78174145

RS-485总线技术只是规定了接口的电气标准,并没有规定RS-485接口的电缆,插件以及通信协议,只是OSI规范中物理层的一个标准,由于RS-485总线采用差分平衡传输方式,一般使用的电缆建议采用屏蔽双绞线,使得485+与485-两两双绞,外面采用屏蔽层屏蔽外部电磁干扰,但是在现场实施施工中,有人采用平行线也是可以适用于RS-485总线的电缆,只是抗干扰能力较差,传输距离不远且通信质量不稳定,一般都是建议采用屏蔽双绞线。而接口定义形式,由于RS-485总线一般都是用到485+,485-以及GND三根线,没有硬性规定接口定义形式,一般市面上多见的接口形式有RJ45接口,工业接线端子接口,DB9串口接线端子以及RJ11电话线接口等。一般而言,采用工业接线端子更为合适,因为如果需要接入终端电阻的话,采用工业接线端子是很好接入的,而且接入屏蔽双绞线也是工业接线端子更加方便。

由于RS-485总线并没有规定通信协议,有很多厂家自己推出基于RS-485总线的通信协议,其中最为著名的是由modicon公司推出的Modbus协议,该协议具有两个版本,一个是Modbus RTU和Modbus ASCII两种帧报文格式,该内容我们会在其他文章内详细描述,我们现在讨论基于RS-485总线通信的协议的一些基本原则以及相关情况。

由于RS-485总线支持点对多点通信模式,而其没有数据冲突检测解决机制,所以数据冲突的问题都是依靠主机来解决,通过主机对整个系统进行全方位的控制,避免数据冲突的产生,一般而言,由于必须通过主机进行控制以避免数据冲突,基于RS-485总线通信只能支持一主多从的通信方式,在现实生活中,老师在课堂讲课的模式其实就是一种一主多从的通信方式,下面我们按照老师课堂授课的比喻来说明RS-485总线通信协议的一些基本原则。

由于RS-485总线支持一主多从的通信模式,主机需要能够识别下位多个从机设备,所以从机设备必须具备一个在485网络中的唯一的地址码,就像班级中给学生分配学号一样,学生的姓名可能会有重复,但是学号必须是该班级内唯一的。而老师只需要叫唤学生的学号要求学生回答问题或者做相应的动作等。 同样的道理,485通信主机通过呼叫485通信从机的地址码来控制485通信从机的相关动作。

485通信网络开始通信的时候,就会对整个网络的设备进行轮询,也就是对485通信从机进行逐个的询问,确认网络中是否存在该设备以及该设备是否能够正常运转。就像老师在正式授课之前会对班级进行点名,确认是否有人缺课,一旦有人缺课做上标识以保证在课堂提问的时候不会点到缺课的学号以免浪费时间。

485通信主机下发指令是以广播形式发送,485通信从机接收到相关指令,将指令中的地址码与自己的地址码对应,发现是下发给自己的指令则立即执行相关指令,执行完相关指令之后发送相应的状态代码给485通信主机,示意其可以继续下一条指令。否则丢弃该指令,静默等待485通信主机的下一条指令。同样的道理,当老师向某个学生提问的时候,其他学生在此期间是不能出声,只有被提问的学生回答问题,当学生回答完问题之后,就说回答完毕,然后大家静待老师的下一个提问或者授课。

一般而言,老师授课都是一个人在课堂,但是有些特殊情况是需要两个或者两个以上的老师同时在一个课堂授课,这样就需要一个协调的机制来协调多个老师的授课。而在485通信网络中,也有可能存在多个RS-485通信主机共存于同一个RS-485通信网络中,在这种情况下,深圳市国科伟业通信技术有限公司开发出相应的485共享器用于满足这些需求,485共享器分为两种,抢占式模式以及优先级模式,抢占式模式就是先到先得,就像老师在授课的时候,谁在授课的时候其他老师是不能打断他的授课的,只有在他将该段内容讲完之后,停顿一定时间之后,其他老师才可以开始自己的授课,同样的也是先到先得,谁先开口,谁就授课,直到该段内容讲完之后再重新争取控制权。优先级模式则是定义相应的优先级,比如系主任的优先级高于普通老师的优先级,即使在老师正常授课的时候,系主任说:这里我插一句,则老师的授课自动停止,等待系主任讲完之后再重新抢夺控制权(注:485共享器并不带有存储功能,只能是多个主机重新抢夺控制权,而不是原有中断485通信主机的重新接续原有的指令,原有的通信直接失败)。

还有就是485通信线路问题,当传输距离较远的时候或者外部干扰过大导致噪音太大,485通信信号会有一定的衰减,就像教室较大以及教室外面比较吵闹的情况,后面的学生并不能清楚的听到相关的内容,在中间增加一个485中继器,将衰减的485信号重新整形还原放大,使得距离较远的485通信从机能够识别485信号。还有就是当教室较大,可能会在教室里面产生混音,通过在教室合理放置多个喇叭,就像485总线连接为星型拓扑结构,产生了信号反射导致通信质量不稳定,使用485集线器将各条485总线相互隔离,独立驱动可以有效的解决类似问题。

RS-485总线通信协议的更多相关文章

  1. delphi 串口 关于RS485总线通信协议开发注意事项

    http://blog.csdn.net/shjhuang/article/details/9426739 关于RS485总线通信协议开发注意事项 1       前言 近段时间发现我们系统在进行设备 ...

  2. 泓格WINPAC主机与第三方模块rs 485 modbus rtu通信测试

    开发语言:C# 开发环境:VS2008(支持WINCE开发的最后一个版本) 运行环境:Windows CE 5.0~7.0 项目说明:多台涨格winpac系列的主机,原来使用泓格SDK开发的程序,采集 ...

  3. CAN总线与RS485的比较

    CAN总线与RS485的比较 http://blog.csdn.net/reille/article/details/6135546 can总线与485总线有什么区别?  http://blog.16 ...

  4. CAN总线学习系列之二——CAN总线与RS485的比较

    CAN总线学习系列之二——CAN总线与RS485的比较 上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线 ...

  5. CAN总线协议 学习笔记

    1.CAN总线网络 CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻,但是 ...

  6. Modbus RTU通信协议详解以及与Modbus TCP通信协议之间的区别和联系

    Modbus通信协议由Modicon公司(现已经为施耐德公司并购,成为其旗下的子品牌)于1979年发明的,是全球最早用于工业现场的总线规约.由于其免费公开发行,使用该协议的厂家无需缴纳任何费用,Mod ...

  7. I2C总线通讯协议

    I2C总线通讯协议 1. I2C总线简介 I2C是Inter-Integrated Circuit的简称,读作:I-squared-C.由飞利浦公司于1980年代提出,为了让主板.嵌入式系统或手机用以 ...

  8. I2C总线协议的软件模拟实现方法

    I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法. 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入 ...

  9. 对 IIC 总线的理解、调用函数以及常见面试问题

    一.IIC 总线概述: IIC 即Inter-Integrated Circuit(集成电路总线) I2C总线是PHLIPS公司推出的一种串行总线, I2C总线只有两根双向信号线.一根是数据线SDA, ...

随机推荐

  1. [ Laravel 5.5 文档 ] 快速入门 —— 目录结构篇

    简介 Laravel 默认的目录结构试图为不管是大型应用还是小型应用提供一个良好的起点.当然,你也可以按照自己的喜好重新组织应用的目录结构,因为 Laravel 对于指定类在何处被加载没有任何限制 — ...

  2. vue2 兼容ie8

    推荐这个 https://cdn.jsdelivr.net/npm/ractive

  3. apache配置-html碎片shtml格式

    修改SSI 文件 conf–httpd.conf <Directory "D:/Android/Apache2.2/htdocs">  //修改文件目录 # # Pos ...

  4. JS对全角与半角的验证,相互转化以及介绍

    1.什么是全角和半角? 全角:是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置.全角占两个字节. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都 ...

  5. 洛谷P4577 [FJOI2018]领导集团问题(dp 线段树合并)

    题意 题目链接 Sol 首先不难想到一个dp,设\(f[i][j]\)表示\(i\)的子树内选择的最小值至少为\(j\)的最大个数 转移的时候维护一个后缀\(mx\)然后直接加 因为后缀max是单调不 ...

  6. git 入门教程之忽略文件

    忽略文件 "并不是所有的牛奶都叫特仑苏",在版本控制系统中也有相似的表达,那就是"并不是所有的文件都需要提交". 有的是因为没必要提交,比如日志文件,系统缓存文 ...

  7. (网页)bootstrap模态框手动关闭(转)

    在菜鸟教程上的bootstrap 上面的模态框上看到的: 下面是一些可与 modal() 一起使用的有用的方法. $('#identifier').modal({ keyboard: false }) ...

  8. selenium的基本用法

    selenium需要配合一个driver  我使用的是chrome的driver 注意一定要下载对应浏览器版本的driver 否则会报错的 http://chromedriver.storage.go ...

  9. Mysql 查询昨天16:00至今天16:00之间的信息

    SELECT * FROM t_violation_info WHERE ( DATE(UPDATED_TIME) = CURDATE() AND HOUR (UPDATED_TIME) < 1 ...

  10. 关于商米D1S,USB默认权限在关机后丢失的FAQ

    1.机器型号:商米D1S 2.机器系统版本:7.1.2 3.情况描述:双屏的机器不管是银盒子收银还是银盒子智能收银,勾选默认后重启机器还是会提示, 4.解决方案:商米厂商大约会在1月份进行系统更新,到 ...