RS-485串口通讯四路集线器功能测试

  • 简介
    • RS-485
    • modbus协议
  • 测试
    • 测试对象
    • 测试内容
    • 测试流程
    • 测试结果
  • 总结
  • 拓展

简介

在工业控制、电力通讯、智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换。最初采用的方式是RS232接口,由于工业现场比较复杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错误。除此之外,RS232接口只能实现点对点通信,不具备联网功能,最大传输距离也只能达到几十米,不能满足远距离通信要求。

而RS485则解决了这些问题,数据信号采用差分传输方式,可以有效的解决共模干扰问题,最大距离可以到1200米,并且允许多个收发设备接到同一条总线上。随着工业应用通信越来越多,1979年施耐德电气制定了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采用Modbus协议。

RS-485

RS485是一个工业常用的物理接口,是物理层的硬件设备,简而言之,所谓的RS485通讯协议,是硬件的一个规约,定义了电压,阻抗等内容,不对软件协议给予定义,与应用软件没有任何关系。

RS485属于有线传输,所以就要硬件传输媒介,实际就是两根线就可以了,在这两根线上传输的实际是同一个信号,只是发送端把这个信号一分为二,不过在接收端会把它还原为原来的信号,这样做的好处还要得和RS232来比较;RS232也需要两根线,更多的时候还要加上地线,所以是三根线,地线咱不管它,其余的两根只有一根线传输的数据信号,而另一根传输的时钟,也就是信号原来什么样发送端就怎样发送出来,同样接收端也做同样的处理。所以485的接收端可以把信号在传输过程中引入的干扰就可以抵消掉,而232的接收端不能,所以485的抗干扰能力强可以传输信号上千米,而232只能传输十几米。[1]

除更长的传输距离之外,RS-485接口还具有良好的抗噪声干扰性和多站能力等优点,就使其成为各种应用场景中首选的串行接口

modbus协议

去网上搜modbus,关于该协议的介绍可能一大推,其实就一句话:modbus定义了一种数据帧格式:帧头—地址—功能码—数据—CRC校验,注意:协议是一种很灵活的东西,目的是定义数据通讯的格式,上面这个是标准的modbus通讯协议,具体应用的时候可以根据实际需要进行裁剪,比如加个帧尾,比如换成其他的校验方式。
所以,大家现在应该对485和modbus的关系有所认识了吧,我们可以把485总线单纯地理解为硬件通路,它具有自己的电气特性,所有的设备都可以挂在上面,每个设备有唯一的地址,和串口通信不同的是由于485有专门的控制收发引脚,所以代码里面每次发送前后都要对该控制引脚进行控制。此外软件上注意延时(电平稳定);modbus其实可以理解为硬件公路上的车,它本身就是个软件协议,规定上位机和下位机数据以什么样式进行传输。[2]

测试

测试对象

四路485集线器
通过查阅其自带的说明书可得知以下信息

  1. 基本性能
  • 解决485布线的星型连接或者任意连接方式
  • 解决485通讯负载过多,网段负载,阻抗不匹配或者信号反射
  • 解决485故障端口的隔离,防止一个损坏全网故障
  • 解决485负载过多,通讯不顺畅或者通讯中断问题
  1. 独具特点
  • 每个通道带有总线异常监控,防止全网故障
  • 带有总线异常蜂鸣报警功能,用户可以立即感知当前总线状况
  • 故障分口自动隔离,自动恢复
  • 极为有效的解决485总线布线工作效率
  1. 通讯性能
  • 主口和分口之间收发通讯双向自动
  • 反射信号抑制功能
  • 主口发送数据,分口广播数据
  • 通信自动适应,不改通讯参数,不改通讯协议
  1. 工业保护和抗干扰
  • 每个端口有独立的瞬态保护电路
  • 每个端口有独立的限流,过流保护
  • 每个端口有独立监控电路
  • 原装正品和可信赖的工业级别芯片

测试内容

将两个传感器通过连接RS-485四路集线器与电脑进行数据传输。
电脑通过USB转485串口线接入四路485总线集线器,再将两个传感器通过485总线接入四路485总线集线器,开通电源,在电脑端调试串口助手等工具,获取传感器的数据。此处选用空气质量传感器及光照度传送器。

测试流程

  1. 连接
    电脑通过USB转485串口线接入四路485总线集线器,再将两个传感器通过485总线接入四路485总线集线器(此处选用空气质量传感器及光照度传送器),开通电源。

  2. 调试
    通过传感器自带的调试助手进行调试。串口号可以通过查看电脑的设备管理器得知,波特率和设备地址直接可由调试助手测出。
    由于两款传感器从不同生产厂家处购买,调试助手页面不同。


    分别从两个调试助手中读出数据后证明数据交互正常,可以进行下一步。

  3. 测试
    查阅传感器自带说明书,可获取数据帧格式定义,包括主机问询帧结构及从机应答帧结构。

    选用串口调试助手,通过数据帧的方式获取传感器的数据。(注意不要输错波特率)
    输入光照度传感器的问询帧,得到应答帧如下:

    通过查询光照度传感器的使用手册:可知波特率为9600,地址码为01,功能码为03,返回有效字节数为04,也就是4个字节,数据区为000003F3,通过计算:000003F3(十六进制)=12531,故可得出此时光照度为12531Lux。
    同理,输入空气质量传感器的问询帧,得到应答帧如下:

    通过查询空气质量传感器的使用手册:可知波特率为4800,地址码为04,功能码为03,返回有效字节数为04,也就是4个字节,第一数据区为005D,第二数据区为006D,通过计算:5D(十六进制)=93,,6D(十六进制)=109,故可得出此时PM2.5为93ug/m3 ,PM10为109ug/m3
    备注: 数据帧最后两位校验位通过crc16算法算出,这里不再赘述。

测试结果

传感器串口通讯正常,四路集线器分口通讯正常,主口与分口之间通讯双向收发转换正常。

总结

四路集线器功能探究
通过查询资料可知,采用老式布线结构存在以下几种缺陷:

  1. RS-485总线受差分信号传输特点的限制总线长度一般在1200米左右,采用这种老式布线结构,可布线覆盖面积十分有限(一般为几百平方米)。有时为了拓宽传输距离不得不采用中继器,同时亦加大了布线过程中出现问题的可能性。
  2. 一般大型考勤门禁系统都装有为数众多的门禁控制器,采用这种老式布线结构,所有门禁控制器共享一根RS-485总线,当任一控制器RS-485端口短路,都会影响整个门禁系统的正常工作。在众多的门禁控制器中查找故障所在,不仅加大了工作量,也增加了维护成本。
  3. 由于RS-485总线布线比较复杂,在考勤门禁系统中绝大部分工程费用和时间都浪费在布线环节。而RS-485总线布线的复杂程度与总线的长短和设备的挂接数目有很大关系。特别是在大型系统中显得尤为突出。采用这种老式布线结构无疑加大了布线的难度。
  4. 由于地理环境的原因,在相距一定距离的设备之间总是存在地电位不平衡的问题。有时即使距离很近问题依然存在。这种环境造成的因素,在老式布线结构中很难综合解决,甚至造成整个系统无法启动。然通过处理地电位可暂时解决部分问题,但时隔不久同样问题又会再次出现。
    针对上面出现的一系列问题及缺陷,集线器其独特的等位分差隔离技术和高效的总线分隔集中技术能有效解决工程布线中常见的地电位差异、阻抗匹配及雷击问题。用户可以轻易改善RS-485总线结构,分割网段,提高通信可靠性。当雷击或者设备故障产生时,出现问题的网段将被隔离,以确保其他网段的正常工作。[3]

综上,在一些特殊的应用场景下使用四路集线器很有必要。

拓展

以此为基础,可以在物联网网关中通过单一串口进行与多个设备的数据交互。此处以SIMATIC IOT2050工业物联网智能网关为例,将接好设备的集线器接入网关,打开node-red调试界面开始进行调试。
通过Modbus节点可以设置相应传感器问询帧:

串口配置节点可进行串口通讯的一系列设置:


由于盒子的串口波特率固定,故需要提前设置好两个设备的波特率使其相同,再设置好盒子相应的串口波特率才可完成同时通讯。
按照之前了解到的两个设备的报文格式进行设置:


最后为避免串口通讯冲突,采用轮询的方式读取数据:

点击启动inject节点即可开始读取数据。

参考文章
[1] modbus与rs485的关系_modbus与rs485的区别和联系
[2] RS485通讯介绍(附批量测试思路)
[3] 485布线规范及调试方法解析

RS-485串口通讯测试及四路集线器功能探究相关推荐

  1. 欧姆龙485通讯示例程序_编程看这里!欧姆龙PLC如何实现与温度仪表485串口通讯?...

    众所周知,OMRON PLC与其它仪表或设备通讯(无论是OMRON仪表或第三方仪表),都要用带协议宏的串口通讯模块或模板,根据仪表或设备的通讯协议作相应的程序,建立相应的连通通道,才可以对仪表进行读写 ...

  2. 485串口通讯保存流量计的数据到Excel

    全是我个人理解,不对的请大神指教 流量计说明书: 实现UI界面: 添加using: using System.IO.Ports; using INIFILE; using System.Text.Re ...

  3. 基于java的串口通讯(附带实例+说明文档+测试工具)

    在步入正题前,发个牢骚. 前天总公司的一个技术经理下达一个任务,实现java程序与串口的通信.半天做出来了(见附件),经理看了,在电话里说是直接从网上下载的,颇为不屑. 说实话,当时真TM火大!虽然现 ...

  4. 西门子串口通讯08-CP341在STEP7环境中做Modbus从站通讯

    西门子串口通讯08-CP341在STEP7环境中做Modbus从站通讯 v-x-公–众–号:工控自动化老王 1 硬件列表 设备名称 设备型号 PS 307 6ES7 307-1EA00-0AA0 CP ...

  5. 西门子串口通讯09-CP341在博途环境中做Modbus从站通讯

    西门子串口通讯09-CP341在博途环境中做Modbus从站通讯 v-x-公–众–号:工控自动化老王 1 硬件列表 设备名称 设备型号 PS 307 6ES7 307-1EA01-0AA0 CPU 3 ...

  6. 西门子串口通讯04-CP341在TIA博途环境中做Modbus主站通讯

    西门子串口通讯-CP341在TIA博途环境中做Modbus主站通讯 1.准备工作 应用CP341进行MODBUS协议通信时需要有Dongle的支持.在使用之前先将Dongle安装在CP341模块的背面 ...

  7. 西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯

    CP441-2 使用 TIA Step7 V13 进行 Modbus Slave 通讯 作者:工控自动化老王 关注同名V–X公//众//号:工控自动化老王获取更多技术文档及工控资源,交流.学习,另外老 ...

  8. 西门子串口通讯06-CP441-2在TIA博途环境中做Modbus主站通讯

    西门子串口通讯-CP441-2在TIA博途环境中做Modbus主站通讯 v-x-公–众–号:工控自动化老王 CP441接口选型 CP441通讯模块可根据实际应用选择不同接口类型的子模块,从而实现与一个 ...

  9. 关于嵌入式linux下的串口通讯问题---回车、换行、缓冲

    嵌入式Linux串口通讯测试问题:   经过实验,从Linux(PC)通过串口向嵌入式Linux开发板发送数据时,串口初始化完毕后遇到回车(0x0d)或换行(0x0a)才开始从串口接收数据,回车或换行 ...

  10. VS中创建MFC界面人脸识别门禁系统(人脸识别+串口通讯+单片机STM32F407)

    首先来说要做这个门禁系统,必须拥有三大功能板块儿,一是软件部分,也就是MFC界面要实现的功能进行人脸识别.人脸采集.并且录入人的相关信息:二是硬件部分,需要实现人脸识别成功之后开锁,人脸识别失败之后不 ...

最新文章

  1. LVI-SAM:紧耦合的激光视觉惯导SLAM系统(Tixiao Shan新作,已开源)
  2. yum 仓库 本地和在线
  3. unicode 编码转换漏洞_好程序员Python教程之字符串编码知识小结
  4. android 定位的几种方式介绍
  5. 172. 阶乘后的零 golang
  6. Qt笔记-profile中基本配置(获取环境变量、设置生成路径、包含文件)
  7. JDBC的PreparedStatement接口
  8. eBay以2.4亿美元收购移动支付服务商Zong
  9. REST Assured 5 - Abstraction抽象,隐藏实现
  10. 谷歌默认打开hao123
  11. Linux新手需要熟稔于心的Linux常用命令
  12. 将宇宙最强vscode打造为刷题神器
  13. 怎么一键拼图多张照片?快来码住这些拼图方法
  14. 高效率完成工作的12种热门编程语言,你会用几个?
  15. oracle blob 照片,要在oracle里面存入图片 用 blob类型
  16. XC3071充电IC(耐高压,带OVP)
  17. Mybatis使用之分页
  18. 数据库突然不能运行了,出现 no connection established这么办!
  19. 侯捷c++系统工程师:全方位提升技能素养 侯捷C++视频全系列合集
  20. signature=bddf85094ce6d2ceeec3a379a26274b4,Energy Cascades in Granular Gases

热门文章

  1. 酷派5890详细获取ROOT、以及刷机教程
  2. 计算机朝微型化网络化发展例子,收集计算机朝微型化,网络化,智能化和多功能化发展的例子...
  3. python爬虫使用指南_如何使用Python构建Web爬虫[分步指南]
  4. 5分钟图解磁盘结构(软件层面)
  5. Function eregi is deprecated (解决方法)
  6. Less使用语法(详细)
  7. ecshop mysql密码忘记_ECSHOP后台密码忘记了怎么办
  8. 色彩三原色,RGB,CMYK
  9. oracle adpatch 回退,Oracle EBS使用adpatch工具打patch过程【Z】 - huak
  10. 短信下发的成功失败概率是多少?如何提高到达率?