RS-485串行通信四通集线器功能测试综述RS-485modbus协议测试对象测试内容测试流程测试结果总结扩展
个人资料
在工业控制、电力通信、智能仪表等领域,通常通过串行通信方式进行数据交换。 最先采用的方式是RS232接口,由于工业现场复杂,各种电器在环境中会产生较多的电磁干扰,导致信号传输错误。 另外,RS232接口只能实现点对点通信,不具备网络功能,最大传输距离也只有几十米,不能满足电信的要求。
RS485解决了这些问题,并且数据信号采用差分传输方案,能够有效地解决共模干扰的问题,允许多个收发设备连接到同一总线,最大距离为1200米。 随着工业应用通信的增加,施耐德电气于1979年制定了工业现场使用的总线协议Modbus协议,目前工业中使用RS485通信的场合大多采用Modbus协议。
RS-485 RS485是工业上常用的物理接口,是物理层的硬件设备。 简单来说,RS485通信协议是硬件约定,定义电压、阻抗等内容,不对软件协议进行定义,与APP应用软件没有任何关系。
因为RS485是有线传输,所以需要硬件传输介质。 实际上两条线就可以了。 在这两条线上传输的实际上是同一信号。 但是,在发送端将该信号分为2部分,而在接收端恢复为原来的信号。 这样做的好处必须与RS232相比。 RS232也需要两条线。 很多情况下,需要地线,所以是三条线。 地线没有关系。 剩下的两条只有从一条线路发送的数据信号,另一条发送的时钟(即信号是如何从哪个发送源发送的)在同一接收端也进行同样的处理。 因此,485的接收端可以抵消信号在传输过程中引入的干扰,232的接收端不能,所以抗485的干扰可以传输几千米的信号,而232只能传输十几米。 [1]
除延长传输距离外,RS-485接口还具有抗噪声干扰能力和多站能力等优点,成为各种APP场景中首选的串行接口
modbus协议在互联网上搜索modbus。 对该协议的介绍可能会受到很大的推动,但实际上一句话,modbus定义了一种数据帧格式:帧头-地址-功能代码-数据—CRC检查。 注意:协议是非常灵活的,目的是定义数据通信的格式。 上述是标准modbus通信协议,在具体应用时
所以,大家现在知道485和modbus的关系吧。 我们可以把485总线简单地理解为硬件路径。 它有自己的电气特性,所有设备都可以悬挂起来,每个设备都有唯一的地址。 与串行通信不同,485有专用的控制发送接收引脚,所以每次在代码中发送前后必须控制该控制引脚。 另外,柔和地注意延迟(电平稳定); modbus其实可以理解为硬件道路上的车。 它本身是一个软件协议,规定上位机和下位机的数据以什么样的格式传输。 [2]
测试对象四路485集线器
参照附属的说明书,可以知道以下信息
基本性能解决方案485配线星型连接或任意连接方式解决方案485通信负荷过多、网段负荷、阻抗不匹配或信号反射解决方案485隔离故障端口、防止一个损坏的全网故障解决方案485负荷过多、通信顺畅或通信中断问题独特的特征各通道总线异常监视、 全网故障防范总线异常蜂鸣器报警功能用户可以立即感知当前总线状况,自动隔离故障端口,通过解决485总线布线工作效率的通信性能端口和端口之间收发通信的双向自动反射信号抑制功能端口发送数据, 端口之间的广播数据通信可以自动适应,不改变通信参数,不改变通信协议不改变工业保护和抗干扰,每个端口都有独立的暂态保护电路,每个端口都有独立的电流限制。 过电流保护的每个端口都有独立的监控电路正品和可靠的工业级芯片测试内容,通过将两个传感器连接到RS-485四通集线器进行电脑和数据传输。
电脑通过USB转485串行电缆连接到四路485总线集线器,两个传感器通过485总线连接到四路485总线集线器接通电源,在电脑端调试串行助手等工具获取传感器数据。 在此选择空气质量传感器和照度变送器。
测试流程连接
电脑通过USB转485串行电缆连接到四通485总线集线器,两个传感器通过485总线连接到四通485总线集线器(这里使用空气质量传感器和照度传感器),然后通电。
调试
用传感器附带的调试助手进行调试。 当您查看计算机的“device manager (设备管理器)”时,可以看到调试助手直接检测到波特率和设备地址。
调试助手的页面不同,因为这两种传感器是按制造商购买的。
从两个调试助手分别读取数据后,证明数据交互正常,可以进入下一步。
测试
参考传感器附带的说明书,可以获取主机咨询框架结构和从机响应框架结构等数据帧格式的定义。
使用串行调试助手,以数据帧方式获取传感器的数据。 (请注意不要弄错波特率)
输入照度传感器的询问帧后,响应帧如下。
查看照度传感器文档,可以看到波特率为9600,地址码为01,功能码为03,返回有效字节数为04,即4字节,数据区域为000003F3。 通过计算可知,000003 F3 (十六进制)=12531,因此此时的照度为12531Lux。
r> 同理,输入空气质量传感器的问询帧,得到应答帧如下:
通过查询空气质量传感器的使用手册:可知波特率为4800,地址码为04,功能码为03,返回有效字节数为04,也就是4个字节,第一数据区为005D,第二数据区为006D,通过计算:5D(十六进制)=93,,6D(十六进制)=109,故可得出此时PM2.5为93ug/m3 ,PM10为109ug/m3 。
备注: 数据帧最后两位校验位通过crc16算法算出,这里不再赘述。
测试结果
传感器串口通讯正常,四路集线器分口通讯正常,主口与分口之间通讯双向收发转换正常。
总结
四路集线器功能探究
通过查询资料可知,采用老式布线结构存在以下几种缺陷:
RS-485总线受差分信号传输特点的限制总线长度一般在1200米左右,采用这种老式布线结构,可布线覆盖面积十分有限(一般为几百平方米)。有时为了拓宽传输距离不得不采用中继器,同时亦加大了布线过程中出现问题的可能性。一般大型考勤门禁系统都装有为数众多的门禁控制器,采用这种老式布线结构,所有门禁控制器共享一根RS-485总线,当任一控制器RS-485端口短路,都会影响整个门禁系统的正常工作。在众多的门禁控制器中查找故障所在,不仅加大了工作量,也增加了维护成本。由于RS-485总线布线比较复杂,在考勤门禁系统中绝大部分工程费用和时间都浪费在布线环节。而RS-485总线布线的复杂程度与总线的长短和设备的挂接数目有很大关系。特别是在大型系统中显得尤为突出。采用这种老式布线结构无疑加大了布线的难度。由于地理环境的原因,在相距一定距离的设备之间总是存在地电位不平衡的问题。有时即使距离很近问题依然存在。这种环境造成的因素,在老式布线结构中很难综合解决,甚至造成整个系统无法启动。然通过处理地电位可暂时解决部分问题,但时隔不久同样问题又会再次出现。
针对上面出现的一系列问题及缺陷,集线器其独特的等位分差隔离技术和高效的总线分隔集中技术能有效解决工程布线中常见的地电位差异、阻抗匹配及雷击问题。用户可以轻易改善RS-485总线结构,分割网段,提高通信可靠性。当雷击或者设备故障产生时,出现问题的网段将被隔离,以确保其他网段的正常工作。[3]
综上,在一些特殊的应用场景下使用四路集线器很有必要。
拓展
以此为基础,可以在物联网网关中通过单一串口进行与多个设备的数据交互。此处以SIMATIC IOT2050工业物联网智能网关为例,将接好设备的集线器接入网关,打开node-red调试界面开始进行调试。
通过Modbus节点可以设置相应传感器问询帧:
串口配置节点可进行串口通讯的一系列设置:
由于盒子的串口波特率固定,故需要提前设置好两个设备的波特率使其相同,再设置好盒子相应的串口波特率才可完成同时通讯。
按照之前了解到的两个设备的报文格式进行设置:
最后为避免串口通讯冲突,采用轮询的方式读取数据:
点击启动inject节点即可开始读取数据。
参考文章
[1] modbus与rs485的关系_modbus与rs485的区别和联系
[2] RS485通讯介绍(附批量测试思路)
[3] 485布线规范及调试方法解析