本发明专利技术实施例公开了一种RS485总线的数据采集系统,包括主机、第一收发器、第二收发器和多个从机,主机包括至少一串口,第一收发器和第二收发器均与一个串口连接,多个从机串联连接在第一收发器和第二收发器之间,第一收发器至第二收发器的方向上的多个从机形成的通信链路预设为主链路,第二收发器至第一收发器的方向上形成的通信链路预设为备用链路,主机通过主链路从各从机采集数据,在主链路出现故障时,将通信链路切换至备用链路,以采集从第二收发器至第一收发器的方向上的直至故障点之间的从机的数据。本发明专利技术还提供了RS485总线的数据采集方法,提高了RS485总线的通信可靠性和故障检测的精确性。
A Data Acquisition System and Method Based on RS485 Bus
【技术实现步骤摘要】
一种RS485总线的数据采集系统及方法
本专利技术涉及通讯
,尤其涉及一种RS485总线的数据采集系统及方法。
技术介绍
目前。在工业现场采用RS485总线进行通信,解决了一个主机对多个从机的通信,以很少的通信线路实现多个设备的组网通信,但局限于RS485总线的拓扑特性,RS485总线标准的连接拓扑结构是手拉手的菊花链式拓扑,这种情况下,只要总线上其中一个节点断路,节点后面的从机都无法再跟主机进行通信。为了降低断路风险,大多采用拓扑结构,如星型拓扑,树型拓扑来规避,但这些方式均是以增加大量总线连接线、降低总线从机负载能力为代价来实现通信的稳定性,无法保证最少的通信连接线数量。另外,由于在主机端采用双串口资源进行收发切换实现通信链路的可靠性增强的目的,但是需要占用主机双串口资源来实现,在资源利用和性价比上不高,且在所述RS485总线的数据采集系统上需要做很复杂的逻辑判断,导致通信链路中的数据采集效率降低。
技术实现思路
有鉴于此,本专利技术提供一种RS485的数据采集系统及方法,实现主机依次对通信链路中的各个从机进行轮询来确定故障点,来解决上述存在的技术问题,具体采用以下技术方案来实现。一方面,本专利技术提供的一种RS485的数据采集系统,包括:主机,包括至少一个串口;第一收发器和第二收发器,均用于与一个所述串口连接;多个从机,所述多个从机串联连接在所述第一收发器和所述第二收发器之间;其中,所述第一收发器至所述第二收发器的方向上的所述多个从机形成的通信链路预设为主链路,所述第二收发器至所述第一收发器的方向上形成的通信链路预设为备用链路;所述主机用于通过所述主链路从各从机采集数据,并在判断所述主链路出现故障时,将通信链路切换至所述备用链路,以采集从所述第二收发器至所述第一收发器的方向上的直至故障点之间的从机的数据。作为上述技术方案的进一步改进,所述主机包括与所述第一收发器连接的第一收发状态控制端口、与所述第二收发器连接的第二收发状态控制端口;所述第一收发状态控制端口用于设置所述第一收发器在发送状态和接收状态之间进行切换;当所述主链路出现故障时,所述第二收发状态控制端口用于设置所述第二收发器在发送状态和接收状态之间进行切换。作为上述技术方案的进一步改进,所述主机判断所述主链路是否出现故障时,通过所述第二收发状态控制端口切换所述第二收发器为接收状态;所述主机通过所述第一收发器向各从机发送数据,并通过所述第二收发器接收返回的数据;若所述发送的数据与所述接收的数据不一致,所述主机判断每个从机是否均有返回的确认信息,并在没有时判断所述主链路出现故障。作为上述技术方案的进一步改进,所述主机判断所述主链路出现故障后,获取所述主链路中未返回所述确认信息的第一个从机的地址码,以作为一故障节点。作为上述技术方案的进一步改进,所述主机通过所述第二收发器向所述第二收发器至所述故障节点之间的每一个从机依次发送数据并接收当前从机返回的确认信息;在所述故障节点对应的从机之前,若当前从机未返回所述确认信息,所述主机判断所述当前从机所在的位置为第二故障节点并记录所述当前从机的地址码。作为上述技术方案的进一步改进,所述串口通过双刀双掷开关连接到所述第一收发器或所述第二收发器;所述主机还包括用于控制所述双刀双掷开关的开关控制端口;当所述串口连接到所述第一收发器时,所述第一收发状态控制端口用于将所述第一收发器在发送状态和接收状态之间进行切换;当所述主链路出现故障时,所述串口连接到所述第二收发器,所述第二收发状态控制端口用于将所述第二收发器在发送状态和接收状态之间进行切换。作为上述技术方案的进一步改进,所述双刀双掷开关包括固定端和活动端,所述固定端与所述串口电性连接,所述活动端用于与所述第一收发器或所述第二收发器电性连接。作为上述技术方案的进一步改进,所述第一收发器和所述第二收发器均采用RS485总线电平转换芯片,所述主机为MCU主芯片,所述第一收发状态控制端口为低电平时,所述第一收发器设置为发送状态,所述第一收发状态控制端口为高电平时,所述第一收发器设置为接收状态。作为上述技术方案的进一步改进,所述串口采用半双工方式发送数据和接收数据,在所述主链路切换至所述备用链路时,所述主机对所述多个从机进行轮询并采集数据。另一方面,本专利技术还提供了一种RS485总线的数据采集方法,应用于RS485总线通信系统,所述通信系统包括主机、第一收发器、第二收发器和多个从机,所述主机包括至少一个串口,所述第一收发器和所述第二收发器均与一个所述串口连接,所述多个从机串联连接在所述第一收发器和所述第二收发器之间,其中,所述第一收发器至所述第二收发器的方向上的所述多个从机形成的通信链路预设为主链路,所述第二收发器至所述第一收发器的方向上形成的通信链路预设为备用链路;所述方法包括:所述主机通过所述主链路从各从机采集数据,并在所述主链路出现故障时,将通信链路切换至所述备用链路,以采集从所述第二收发器至所述第一收发器的方向上的直至故障点之间的从机的数据。本专利技术提供的一种RS485总线的数据采集系统及方法,通过在主机与若干从机之间设置并联的第一收发器和第二收发器,实现主链路和备用链路的切换对所有从机进行数据采集,检测通信链路中出现故障时,并能精确定位故障点对应的从机的地址码,来提高RS485总线的数据采集的效率,也便于维护人员精准定位故障点。所述主机采用单串口,采用重发的采集机制可以实现对两条链路中的所有RS485总线所在的节点进行数据采集,简化了现场通信链路的施工布线。当检测到主链路中出现一个故障点时,通过切换至备用链路,也可以对出现故障点的从机进行数据采集,一定程度上也提高了主机与从机之间的通信链路的稳定性。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对本专利技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。图1示出了本专利技术的RS485总线的数据采集系统的第一实施例结构框图;图2示出了本专利技术的第一实施例的电路结构示意图;图3示出了本专利技术的RS485总线的数据采集系统的第二实施例结构框图;图4示出了本专利技术的第二实施例的电路结构示意图;图5示出了本专利技术的第二实施例的判断单点故障的结构示意图;图6示出了本专利技术的第二实施例的判断两点故障的结构示意图;图7示出了本专利技术的RS485总线的数据采集方法的流程图。主要元件符号说明:300-RS485总线的数据采集系统;310-主机;320-串口;321-发送端口;322-接收端口;330-第一收发器;340-第二收发器;350-多个从机;360-第一收发状态控制端口;370-第二收发状态控制端口;380-开关控制端口;390-双刀双掷开关。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有本文档来自技高网...
【技术保护点】
1.一种RS485总线的数据采集系统,其特征在于,包括:主机,包括至少一个串口;第一收发器和第二收发器,均用于与一个所述串口连接;多个从机,所述多个从机串联连接在所述第一收发器和所述第二收发器之间;其中,所述第一收发器至所述第二收发器的方向上的所述多个从机形成的通信链路预设为主链路,所述第二收发器至所述第一收发器的方向上形成的通信链路预设为备用链路;所述主机用于通过所述主链路从各从机采集数据,并在判断所述主链路出现故障时,将通信链路切换至所述备用链路,以采集从所述第二收发器至所述第一收发器的方向上的直至故障点之间的从机的数据。
【技术特征摘要】
1.一种RS485总线的数据采集系统,其特征在于,包括:主机,包括至少一个串口;第一收发器和第二收发器,均用于与一个所述串口连接;多个从机,所述多个从机串联连接在所述第一收发器和所述第二收发器之间;其中,所述第一收发器至所述第二收发器的方向上的所述多个从机形成的通信链路预设为主链路,所述第二收发器至所述第一收发器的方向上形成的通信链路预设为备用链路;所述主机用于通过所述主链路从各从机采集数据,并在判断所述主链路出现故障时,将通信链路切换至所述备用链路,以采集从所述第二收发器至所述第一收发器的方向上的直至故障点之间的从机的数据。2.根据权利要求1所述的RS485总线的数据采集系统,其特征在于,所述主机包括与所述第一收发器连接的第一收发状态控制端口、与所述第二收发器连接的第二收发状态控制端口;所述第一收发状态控制端口用于设置所述第一收发器在发送状态和接收状态之间进行切换;当所述主链路出现故障时,所述第二收发状态控制端口用于设置所述第二收发器在发送状态和接收状态之间进行切换。3.根据权利要求2所述的RS485总线的数据采集系统,其特征在于,所述主机判断所述主链路是否出现故障时,通过所述第二收发状态控制端口切换所述第二收发器为接收状态;所述主机通过所述第一收发器向各从机发送数据,并通过所述第二收发器接收返回的数据;若所述发送的数据与所述接收的数据不一致,所述主机判断每个从机是否均有返回的确认信息,并在没有时判断所述主链路出现故障。4.根据权利要求3所述的RS485总线的数据采集系统,其特征在于,所述主机判断所述主链路出现故障后,获取所述主链路中未返回所述确认信息的第一个从机的地址码,以作为一故障节点。5.根据权利要求4所述的RS485总线的数据采集系统,其特征在于,还包括:所述主机通过所述第二收发器向所述第二收发器至所述故障节点之间的每一个从机依次发送数据并接收当前从机返回的确认信息;在所述故障节点对应的从机之前,若当前从机未返回所述确认信息,所述主机判断所述当前从机所在的位置为第二故障节点并记录...
【专利技术属性】
技术研发人员:林波,
申请(专利权)人:深圳市共济科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。