一种基于Modbus协议的数据采集系统转让专利

申请号 : CN202110917212.6

文献号 : CN113364659B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡幸波谭小敢肖必龙施云岭

申请人 : 浙江德塔森特数据技术有限公司

摘要 :

本发明实施例公开了一种基于Modbus协议的数据采集系统,具体包括:所述主机按照所述主机的第一波特率f1发送多个指令至多个所述控制器;所述控制器将接收到的多个所述指令同时一一对应发送至多台所述从机上;每台所述从机在接收到所述指令并完成所述指令后,会向其对应的所述控制器发送完成数据;所述控制器在固定时间段内按照所述从机的第二波特率f2同时采集多个所述从机的所述完成数据;所述控制器将读取的多个所述从机的完成数据通过所述总线按照所述主机的第一波特率f1发送至所述主机。本发明实施例有效解决当主机故障或总线断裂,导致无法采集以及单点故障较多,采集效率低下的问题。

权利要求 :

1.一种基于Modbus协议的数据采集系统,其特征在于,包括:多条总线和多台主机,多台所述主机依次电连接于多条所述总线;

多个控制器,每个所述控制器上设有多台从机,所述从机个数为n,每个所述控制器至少电连接多条所述总线中的至少一条总线,且所述总线的数量和所述控制器的数量均为m,当多个控制器同时采集完数据时,可以通过对应的总线同时向主机发出;

所述数据采集系统的实施方法,具体包括:所述主机按照所述主机的第一波特率f1发送多个指令至多个所述控制器;

所述控制器将接收到的多个所述指令同时一一对应发送至多台所述从机上;

每台所述从机在接收到所述指令并完成所述指令后,会向其对应的所述控制器发送完成数据;

所述控制器在固定时间段内按照所述从机的第二波特率f2同时采集多个所述从机的所述完成数据;

所述控制器将读取的多个所述从机的完成数据通过所述总线按照所述主机的第一波特率f1发送至所述主机;

任一所述主机实时监听与其连接的全部所述总线是否有Modbus协议数据可读取;

若所述总线上没有Modbus协议数据时,所述主机在所述固定时间段内持续监听与其连接的全部所述总线上是否有Modbus协议数据可读取;

若所述总线上有Modbus协议数据时,所述主机在所述固定时间段内持续读取;

其中,f1=n*m*f2,n和m均为正整数。

2.根据权利要求1所述的基于Modbus协议的数据采集系统,其特征在于,若所述总线上没有Modbus协议数据时,所述主机在所述固定时间段内持续监听与其连接的全部所述总线上是否有Modbus协议数据可读取,具体包括:若在所述固定时间段内,所述总线有数据,则所述主机在所述固定时间段内持续读取所述总线上的数据;

若在所述固定时间段内,所述总线仍没有数据,则所述主机向控制器发送Modbus指令,从而对多个所述从机的完成数据进行采集。

3.根据权利要求2所述的基于Modbus协议的数据采集系统,其特征在于,当所述控制器连接多条所述总线时,所述控制器通过连接的多条所述总线中的一条或多条所述总线发送多个所述从机的完成数据至一个或多个所述主机上,具体包括:所述控制器通过所述总线接收至少一个所述主机发送的Modbus指令,通过所述主机发送的Modbus指令改变发送方式;

其中,当所述控制器接收到一个所述主机发送的Modbus指令时,所述控制器向该所述主机发送多个所述从机的完成数据;当所述控制器接收到多个所述主机发送的Modbus指令时,所述控制器向多个所述主机均匀分配发送多个所述从机的完成数据。

4.根据权利要求1所述的基于Modbus协议的数据采集系统,其特征在于,所述数据采集系统的实施方法,还包括:

当一台正在工作的所述主机出现故障时可被其他所述主机接管工作;

其他所述主机在采集工作的同时,对其他的总线进行监听是否有Modbus协议数据可读取,如果读到Modbus数据,所述主机在所述固定时间段内持续读取。

5.根据权利要求4所述的基于Modbus协议的数据采集系统,其特征在于,当一台正在工作的所述主机出现故障时可通过外接主机进行接替。

6.根据权利要求1所述的基于Modbus协议的数据采集系统,其特征在于,所述基于Modbus协议的数据采集系统,还包括:多个报警装置,依次对应连接所述从机,且多个所述报警装置通过网络端口和/或485总线互相连接,且多个所述报警装置通过网络端口连接至管理平台;

所述报警装置实时采集其相对应的所述从机的运行信息;

当所述报警装置检测到所述从机发生故障时,确认是否有其他所述报警装置也检测到其对应的所述从机故障;

当所有的所述报警装置均检测到所述从机发生到故障时,所有的所述报警装置进入协同工作模式;当所有的所述报警装置有至少一个未检测到所述从机发生故障时,采集到故障的所述报警装置进入独立工作模式。

7.根据权利要求6所述的基于Modbus协议的数据采集系统,其特征在于,所述独立工作模式,包括:所述报警装置通过深度学习向所述从机发出调整指令,从而控制所述从机进行调整。

8.根据权利要求6所述的基于Modbus协议的数据采集系统,其特征在于,所述协同工作模式,包括:检测到异常情况的所述报警装置通过深度学习向其余所述报警装置发送协同工作指令,每一台所述报警装置接收到其他所述报警装置给出的协同工作指令后,并对所述协同工作指令进行一个表决,且所有的所述报警装置就选取表决同意率最高的所述协同工作指令,通过此条协同工作指令作用到对应的所述从机上,从而控制所述从机进行调整。

9.根据权利要求7或8任意一项所述的基于Modbus协议的数据采集系统,其特征在于,还包括:

所述报警装置将采集到的故障信号、对应的控制命令以及执行结果信息打包成一个故障信息包,并传输给其他的所述报警装置;其他的所述报警装置在接收到故障信息包后,将故障信息包进行保存,并形成样本库;

当报警装置接收到所述样本库中的故障信号,可根据所述样本库中的控制命令来进行深度学习,通过深度学习分析来给出新的控制命令作用到自身对应的所述从机上。

说明书 :

一种基于Modbus协议的数据采集系统

技术领域

[0001] 本发明涉及通信协议领域,尤其涉及一种基于Modbus协议的数据采集系统。

背景技术

[0002] 传统Modbus串行链路协数据采集,一条总线接一台主机和多台从机,Modbus通信总是由主机发起。
[0003] 现有的Modbus通信虽然有一台主机同时连接多台从机的情况,且主机直接与多台从机进行数据传输连接,但是从机的接收波特率较小,主机只能根据从机的波特率依次向
各个从机进行传输,导致采集效率低下。
[0004] 现有的Modbus通信还有通过一条总线连接主机和多台从机的情况,但是当主机故障或者总线断裂时,都会导致数据无法再次进行采集,导致发生单点故障较多时,使整体的
采集效率下降。

发明内容

[0005] 因此,本发明实施例提供一种基于Modbus协议的数据采集系统和一种基于Modbus协议的数据采集系统。本发明实施例有效解决当主机故障或总线断裂,导致无法采集以及
单点故障较多,采集效率低下的问题。
[0006] 本发明实施例提供的一种基于Modbus协议的数据采集系统,包括:基于Modbus协议的数据采集系统,包括:多条总线和多台主机,多台所述主机依次电连接于多条所述总
线;多个控制器,每个所述控制器上设有多台从机,所述从机个数为n,每个所述控制器至少
电连接多条所述总线中的至少一条总线,且所述总线的数量和所述控制器的数量均为m;将
基于Modbus协议的数据采集系统实现数据的高并发冗余互备数据采集,具体包括:所述主
机按照所述主机的第一波特率f1发送多个指令至多个所述控制器;所述控制器将接收到的
多个所述指令同时一一对应发送至多台所述从机上;每台所述从机在接收到所述指令并完
成所述指令后,会向其对应的所述控制器发送完成数据;所述控制器在固定时间段内按照
所述从机的第二波特率f2同时采集多个所述从机的所述完成数据;所述控制器将读取的多
个所述从机的完成数据通过所述总线按照所述主机的第一波特率f1发送至所述主机;其
中,f1=n*m*f2,n和m均为正整数。
[0007] 与现有技术相比,本实施例能够达到的技术效果是:通过在控制器上设置多台从机,使控制器可同时收集多台从机上的数据;再将控制器通过总线和主机进行连接,再将收
集的数据集中通过总线发送至主机,提高了主机数据采集的性能和数据采集的可靠性;将
总线的数量设置为等于控制器的数量,当多个控制器同时采集完数据时,可以通过对应的
总线同时向主机发出,防止控制器出现采集完数据无法第一时间发送至主机的问题,提高
了主机数据采集的性能;所述控制器在固定时间段内按照所述从机的第二波特率f2同时采
集多个所述从机的完成数据,再通过第一波特率f1将采集到的多个所述从机的完成数据发
送至主机,且f1=n*m*f2,可使多个所述从机的完成数据同时输入至主机,从而提高主机数
据采集的性能。
[0008] 在本发明的一个实施例中,还包括:任一所述主机实时监听与其连接的全部所述总线是否有Modbus协议数据可读取;若所述总线上没有Modbus协议数据时,所述主机在所
述固定时间段内持续监听与其连接的全部所述总线上是否有Modbus协议数据可读取;若所
述总线上有Modbus协议数据时,所述主机在所述固定时间段内持续读取。
[0009] 与现有技术相比,本实施例能够达到的技术效果是:当总线上传输有Modbus协议数据时,主机会先识别总线上的Modbus协议数据并进行接收;当总线上没有Modbus协议数
据时,主机会在固定时间段内持续监听;若总线上有Modbus协议数据时,主机会在固定时间
段内持续读取。
[0010] 在本发明的一个实施例中,若所述总线上没有Modbus协议数据时,所述主机在所述固定时间段内持续监听与其连接的全部所述总线上是否有Modbus协议数据可读取,具体
包括:若在所述固定时间段内,所述总线有数据,则所述主机在所述固定时间段内持续读取
所述总线上的数据;若在所述固定时间段内,所述总线仍没有数据,则所述主机向控制器发
送Modbus指令,从而对多个所述从机的完成数据进行采集。
[0011] 与现有技术相比,本实施例能够达到的技术效果是:此处固定时间段和控制器接收从机信息的固定时间段相等,当主机完成接收后总线上Modbus协议数据后,主机可第一
时间接收控制器的发送从机信息,从而提高接收效率。
[0012] 在本发明的一个实施例中,当所述控制器连接多条所述总线时,所述控制器通过连接的多条所述总线中的一条或多条所述总线发送多个所述从机的完成数据至一个或多
个所述主机上,具体包括:所述控制器通过所述总线接收至少一个所述主机发送的Modbus
指令,通过所述主机发送的Modbus指令改变发送方式;其中,当所述控制器接收到一个所述
主机发送的Modbus指令时,所述控制器向该所述主机发送多个所述从机的完成数据;当所
述控制器接收到多个所述主机发送的Modbus指令时,所述控制器向多个所述主机均匀分配
发送多个所述从机的完成数据。
[0013] 与现有技术相比,本实施例能够达到的技术效果是:当多个主机均处未接收状态时,此时为接收数据的主机会向控制器发送Modbus指令,从而实现控制器向多个主机均匀
分配发送多个从机的完成数据,从而提高传输效率。
[0014] 在本发明的一个实施例中,还包括:当一台正在工作的所述主机出现故障时可被其他所述主机接管工作;其他所述主机在采集工作的同时,对其他的总线进行监听是否有
Modbus协议数据可读取,如果读到Modbus数据,所述主机在所述固定时间段内持续读取。
[0015] 与现有技术相比,本实施例能够达到的技术效果是:当多台所述主机中的一台主机出现故障时,其他所述主机在采集工作的同时,还会对其他的总线进行监听是否有
Modbus协议数据可读取,可对故障主机对应的总线进行第一时间的接管,从而在出错时,提
高接收效率。
[0016] 在本发明的一个实施例中,当一台正在工作的所述主机出现故障时可通过外接主机进行接替。
[0017] 与现有技术相比,本实施例能够达到的技术效果是:通过设置外接主机代替故障的主机对故障主机的工作进行接替,从而防止其余主机均长时间处于接收状态,从而导致
故障的主机处没有接替的主机。
[0018] 在本发明的一个实施例中,所述基于Modbus协议的数据采集系统,还包括:多个报警装置,依次对应连接所述从机,且多个所述报警装置通过网络端口和/或485总线互相连
接,且多个所述报警装置通过网络端口连接至管理平台;所述报警装置实时采集其相对应
的所述从机的运行信息;当所述报警装置检测到所述从机发生故障时,确认是否有其他所
述报警装置也检测到其对应的所述从机故障;当所有的所述报警装置均检测到所述从机发
生到故障时,所有的所述报警装置进入协同工作模式;当所有的所述报警装置有至少一个
未检测到所述从机发生故障时,采集到故障的所述报警装置进入独立工作模式。
[0019] 在本发明的一个实施例中,所述独立工作模式,包括:所述报警装置通过深度学习向所述从机发出调整指令,从而控制所述从机进行调整。
[0020] 在本发明的一个实施例中,所述协同工作模式,包括:检测到异常情况的所述报警装置通过深度学习向其余所述报警装置发送协同工作指令,每一台所述报警装置接收到其
他所述报警装置给出的协同工作指令后,并对所述协同工作指令进行一个表决,且所有的
所述报警装置就选取表决同意率最高的所述协同工作指令,通过此条协同工作指令作用到
对应的所述从机上,从而控制所述从机进行调整。
[0021] 在本发明的一个实施例中,还包括:所述报警装置将采集到的故障信号、对应的控制命令以及执行结果信息打包成一个故障信息包,并传输给其他的所述报警装置;其他的
所述报警装置在接收到故障信息包后,将故障信息包进行保存,并形成样本库;当报警装置
接收到所述样本库中的故障信号,可根据所述样本库中的控制命令来进行深度学习,通过
深度学习分析来给出新的控制命令作用到自身对应的所述从机上。
[0022] 与现有技术相比,本实施例能够达到的技术效果是:使基于Modbus协议的数据采集系统,具有区域自治和智能学习能力,以及解决单点故障问题,当区域内从机协同智能控
制时,使得控制从机工作更精细;当单个报警装置独立工作时,具有自我学习能力,可不断
在周边设备报警装置节点中获得解决故障的样本库,通过长时间积累样本库和报警装置自
主学习更新,使得连接报警装置的基础设施设备具有自主智能控制能力,可以避免故障在
设备间扩散使得系统失去监控出现瘫痪。
[0023] 综上所述,本申请上述各个实施例可以具有如下一个或多个优点或有益效果:
[0024] i) 通过控制器提升主机采集波特率,实现主机在一个时间段内可采集更多从机的完成数据,通过控制器连接总线实现同一时间点二台主机可同时进行数据采集,实现高
并发数据采集;
[0025] ii) 当有任意一台主机故障时,另一台冗余主机可接管该故障主机的采集工作,实现主机数据采集冗余互备功能。本发明专利极大提高了主机数据采集的性能和数据采集
的可靠性;
[0026] iii) 使报警装置独立工作时,具有自我学习能力,可不断在周边设备报警装置节点中获得解决故障的样本库,通过长时间积累样本库和报警装置自主学习更新,使得连接
报警装置的基础设施设备具有自主智能控制能力,可以避免故障在设备间扩散使得系统失
去监控出现瘫痪。

附图说明

[0027] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本
领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的
附图。
[0028] 图1为本发明实施例提供的一种基于Modbus协议的数据采集系统100的结构示意图。
[0029] 图2为本发明提供的一种基于Modbus协议的数据采集系统的流程图。
[0030] 图3为本发明提供的一种基于Modbus协议的数据采集系统的另一种流程图。
[0031] 图4为串口Modbus RTU报文模型。
[0032] 图5为报警装置50的运行流程图。
[0033] 主要元件符号说明:
[0034] 100、基于Modbus协议的数据采集系统;10、总线;20、控制器;30、从机;40、主机;50、报警装置;60、管理平台。

具体实施方式

[0035] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
[0036] 参见图1,其为本发明实施例提供的一种基于Modbus协议的数据采集系统100的结构示意图。所述基于Modbus协议的数据采集系统100例如包括:多条总线10、多个控制器20、
多个从机30以及多个主机40。其中,多台主机40依次电连接多条总线10;每个控制器20上设
有多台从机30,且每个控制器20至少电连接多条总线10中的至少一条总线10。
[0037] 举例来说,通过在控制器20上设置多台从机30,使控制器20可同时收集多台从机30上的数据;再将控制器20通过总线10和主机40进行连接,再将收集的数据集中通过总线
10发送至主机40,提高了基于Modbus协议的数据采集系统100数据采集的性能和数据采集
的可靠性。
[0038] 具体的,总线10的数量等于控制器20的数量。举例来说,将总线10的数量设置为等于控制器20的数量,当多个控制器20同时采集完数据时,可以通过对应的总线10同时向主
机40发出,防止控制器20出现采集完数据无法第一时间发送至主机40的问题,提高了基于
Modbus协议的数据采集系统100数据采集的性能,实现第一时间对控制器20数据的接收。
[0039] 优选的,将多台主机40和多个控制器20为集中部署,使多台主机40和多个控制器20之间的距离很近;而控制器20和从机30为较远设置,控制器20可远程对从机30的数据进
行采集。
[0040] 举例来说,一般的Modbus RTU通讯速率跟通讯距离成反比,速率越大,距离越短。因此,将多台主机40和多个控制器20为集中部署,使多台主机40和多个控制器20之间的距
离很近,使主机40和控制器20之间可通过较大的速率进行通信;而控制器20和从机30为较
远设置,虽然距离远传输的速率慢,但是达到了控制器20可对从机30进行远程接收信息的
目的,且控制器20可同时对多个从机30进行远程数据收集,而主机40和控制器20之间可通
过较大的速率进行通信,控制器20可将同时收集到的从机30的完成数据在相同时间内同时
传输至主机40,从而提高基于Modbus协议的数据采集系统100数据采集的速率。
[0041] 优选的,主机40的数量等于总线10加控制器20的数量。举例来说,当多条总线10和多个控制器20均同时发送Modbus协议的数据时均有主机40可以接收多条总线10和多个控
制器20发送的Modbus协议数据,可起到第一时间内完成主机40对多条总线10和多个控制器
20发送的Modbus协议数据的接收,从而提高基于Modbus协议的数据采集系统100的采集效
率。
[0042] 进一步的,还可以设置主机40的数量大于总线10加控制器20的数量,及时在多条总线10和多个控制器20均同时发送Modbus协议的数据,还是有多台的主机40对此数据进行
同时接收,进一步提高基于Modbus协议的数据采集系统100的采集效率。
[0043] 具体的,每个从机30上还设有报警装置50,其中,多个报警装置通过网络端口和/或485总线互相连接,且多个所述报警装置50通过网络端口连接至管理平台60。
[0044] 参见图2,其为本发明实施例提供的一种基于Modbus协议的数据采集系统,所述基于Modbus协议的数据采集系统用于将基于Modbus协议的数据采集系统100实现数据的高并
发冗余互备数据采集,具体包括:
[0045] 步骤S10,主机40按照主机40的第一波特率f1发送多个指令多个控制器20;
[0046] 步骤S20,控制器20将接收到的多个所述指令同时一一对应发送至多台从机30上;
[0047] 步骤S30,每台从机30在接收到所述指令并完成所述指令后,会向其对应的控制器20发送完成数据;
[0048] 步骤S40,控制器20在固定时间段内按照从机30的第二波特率f2同时采集多个从机30的完成数据;
[0049] 步骤S50,控制器20将读取的多个从机30的完成数据通过总线10按照主机40的第一波特率f1发送至主机40。
[0050] 举例来说,主机40可在一定时间按照第一波特率f1向多个控制器20发送多个所述指令;当控制器20接收到主机40发出的多个所述指令后,会将多个所述指令按照第二波特
率f2向多个从机30依次发送其对应的指令;当从机30接收到指令并完成指令后,会将所述
完成数据发送至其对应的控制器20上;由于每个从机30接收的效率以及完成的速率都不
同,因此设置控制器20在固定时间段内按照从机30的第二波特率f2同时采集多个从机30的
完成数据;再通过控制器20将读取的多个从机30的完成数据通过总线10按照主机40的第一
波特率f1发送至主机40。
[0051] 优选的,可通过多个主机40分别向控制器20发送多个所述指令,从而提高发送的速率;相对的控制器20可同时向多个主机40发送从机30的完成数据,从而提高主机的接收
效率。
[0052] 进一步的,f1=n*m*f2,且n和m均为正整数。具体的,由于从机30和控制器20之间设置的距离较远,可通过较小的所述第二波特率f2进行传输,而主机40和控制器20之间设置
的距离较近,可通过较大的所述第一波特率f1进行传输,且所述第一波特率f1等于所述第
二波特率f2乘以从机30的个数,当控制器20在所述固定时间段内同时接收到的从机30的完
成数据,可在所述固定时间段内将接收到的从机30的完成数据发送至主机40,方便控制器
20进行下一步的采集和传输。
[0053] 优选的,n取24,m取2。
[0054] 举例来说,可在控制器20和从机30设置为9.6K波特率的一个通信的周期,控制器20和主机40可完成230.4K波特率24个通信周期。控制器20通过独立Modbus下行接口连接24
台从机30,在9.6K波特率的一个通信的周期内分别同时采集24台从机30的完成数据,再通
过上行接口由一台主机40在波特率为230.4K的24个通信周期逐条读取24条数据,实现一台
主机40用一条总线10在一个从机30的波特率通信周期内读取24台从机30的完成数据的高
并发性能。
[0055] 优选的,所述固定时间段可设置为0.5S 2S的一个固定时间段。~
[0056] 进一步的,参见图3,所述基于Modbus协议的数据采集系统具体还包括:
[0057] 步骤S60,任一主机40实时监听与其连接的全部总线10是否有Modbus协议数据可读取;
[0058] 步骤S70,主机40向控制器20发送Modbus指令,从而对多个从机30的完成数据进行采集。
[0059] 具体的,所述步骤S60具体包括:
[0060] 步骤S61,若总线10上没有Modbus协议数据时,主机40在所述固定时间段内持续监听与其连接的全部总线10上是否有Modbus协议数据可读取;
[0061] 步骤S62,若总线10上有Modbus协议数据时,主机40在所述固定时间段内持续读取。
[0062] 举例来说,将主机40持续监听的时间和读取的时间均设置为所述固定时间段,使每个主机40的工作时间形成循环,主机40在一个所述固定时间段内只工作一个步骤,从而
提高基于Modbus协议的数据采集系统100数据采集的可靠性。
[0063] 具体的,参见图4,其为数据采集系统100的报文模型,从机地址、功能代码、CRC校验L、CRC校验H均以8bit的进行接收或者发送,但是数据格式以n*8bit进行发送。
[0064] 进一步的,如果主机40在一条总线10在所述固定时间段读取到Modbus数据,主机40会分析Modbus数据包,在数据包中提取出Modbus命令的从机30的地址,该从机30的信息
表明有另外一台主机40在该总线10上正在对该从机30进行读写操作的正常工作,根据系统
初始化配置的全部从机30地址信息,除去正常工作的从机30地址信息,剩下的就是没有工
作的从机30地址。
[0065] 举例来说,若多条总线10为第一总线和第二总线,在所述第一总线和所述第二总线上,分别向未工作的从机30连接的控制器20发出Modbus写指令,使控制器20能接通未工
作从机30与另一条未读到数据的总线10连接。该主机40向全部未工作的从机30采集数据。
至此全部从机30都投入正常工作,并且是多台主机40同时进行并发数据采集,从而提高数
据的采集效率,实现高并发数据采集。
[0066] 进一步的,若总线10上没有Modbus协议数据时,主机40在所述固定时间段内持续监听与其连接的全部总线10上是否有Modbus协议数据可读取,具体包括:
[0067] 步骤S63,若在所述固定时间段内,总线10有数据,则主机40在所述固定时间段内持续读取所述固定时间段;
[0068] 步骤S64,若在所述固定时间段内,总线10仍没有数据,则主机40向控制器20发送Modbus指令,从而对多个从机30的完成数据进行采集。
[0069] 举例来说,控制器20接收从机30信息的时间和主机40接收总线10上的Modbus协议数据的时间设置为相同的,当主机40完成接收后总线10上Modbus协议数据后,主机40可第
一时间接收控制器20上的从机30信息,从而提高接收效率。
[0070] 具体的,所述基于Modbus协议的数据采集系统中,当控制器20连接多条总线10时,控制器20通过连接的多条总线10中的一条或多条总线10发送多个从机30的完成数据至一
个或多个主机40上,具体包括:控制器20通过总线10接收至少一个主机40发送的Modbus指
令,通过主机40发送的Modbus指令改变发送方式;其中,当控制器20接收到一个主机40发送
的Modbus指令时,控制器20向该主机40发送多个从机30的完成数据;当控制器20接收到多
个主机40发送的Modbus指令时,控制器20向多个主机40均匀分配发送多个从机30的完成数
据。
[0071] 举例来说,主机40先对总线10上的Modbus指令进行接收,若总线10上没有Modbus指令,主机40再对控制器20上的从机30的完成数据进行接收,且多个未接收总线10上的
Modbus指令的主机40会向控制器20发送Modbus指令,使控制器20可同时向对其发送Modbus
指令的主机40同时进行发送,且控制器20向多个主机40均匀分配发送多个从机30的完成数
据,从而实现控制器20向多个主机40均匀分配发送多个从机30的完成数据,从而提高传输
效率。
[0072] 进一步的,当多台主机40为第一主机和第二主机时,当所述第一主机同时在二条及两条以上的总线10上采集从机的完成数据时,如果所述第二主机申请加入采集工作,所
述第二主机可以在任选一条所述第一主机正在采集的总线10连续发送一条无效从机30地
址的Modbus读命令数据包,所述第一主机会读取到该Modbus读命令数据包,或者因该总线
10被所述第二主机发出的Modbus读命令数据包干扰,所述第一主机会读取异常的数据包。
此时所述第一主机会在该总线10上停止发送数据采集命令3秒钟,并继续监听该总线上
Modbus数据包,确认有新主机申请加入采集工作时,所述第一主机在该总线10上停止工作。
所述第二主机在连续发送申请加入的Modbus读命令数据包时,监听该总线10上Modbus数据
包,确认没有其他主机在该总线工作时,按所述步骤S60完成该总线10的数据采集工作。如
果所述第二主机在一个所述固定时间段连续发送申请加入的Modbus读命令数据包,都有其
他主机40在该总线10工作,则所述第二主机放弃对该总线10的申请加入采集工作。
[0073] 具体的,当一台正在工作的主机40出现故障时可被其他主机40接管工作,具体包括:其他主机40在采集工作的同时,对其他的总线10进行监听是否有Modbus协议数据可读
取,如果读到Modbus数据,主机40在所述固定时间段内持续读取。
[0074] 举例来说,正在工作的主机40在一条数据采集工作的同时,继续在固定时间段监听其他总线10是否有Modbus协议数据可读取,如果读到Modbus数据,继续重复本步骤工作。
如果没有读到Modbus数据,该主机40向全部未工作的从机30采集数据。至此正在工作的主
机40接管故障主机40,实现数据采集冗余互备。
[0075] 具体的,当一台正在工作的主机40出现故障时可通过外接主机进行接替。
[0076] 举例来说,有所述外接主机加入采集工作,该所述外接主机执行所述步骤S60和步骤S70的操作,且所述外接主机向全部未工作的从机30采集数据。至此所述外接主机接管故
障主机40,实现数据采集冗余互备,并且是多台主机同时进行并发数据采集,即工作的主机
40的数量依旧是原来工作的主机40的数量,对数据的采集不会产生影响。
[0077] 进一步的,当主机40发现总线10出现问题后可自动切换总线10进行指令发送。举例来说,当所述第一主机通过所述第一总线向控制器20发出指令后,在一定时间内没有接
收到从控制器20发回的从机30的完成数据则默认为所述第一总线故障;此处所述第一主机
通过所述第二总线向控制器20发出指令。
[0078] 具体的,参见图5,所述基于Modbus协议的数据采集系统,还包括:
[0079] S80,报警装置50实时采集其相对应的从机30的运行信息;
[0080] S90,当报警装置50检测到从机30发生故障时,确认是否有其他报警装置50也检测到其对应的从机30故障;
[0081] S100,当所有的报警装置50均检测到从机30发生到故障时,所有的报警装置50进入协同工作模式;当所有的报警装置50有至少一个未检测到从机30发生故障时,采集到故
障的报警装置50进入独立工作模式。
[0082] 进一步的,所述独立工作模式,包括:报警装置50通过深度学习向从机30发出调整指令,从而控制从机30进行调整。
[0083] 更进一步的,所述协同工作模式,包括:检测到异常情况的报警装置50通过深度学习向其余报警装置50发送协同工作指令,每一台报警装置50接收到其他报警装置50给出的
协同工作指令后,并对所述协同工作指令进行一个表决,且所有的报警装置50就选取表决
同意率最高的所述协同工作指令,通过此条协同工作指令作用到对应的从机30上,从而控
制从机30进行调整。
[0084] 优选的,报警装置50将采集到的故障信号、对应的控制命令以及执行结果信息打包成一个故障信息包,并传输给其他的报警装置50;其他的报警装置50在接收到故障信息
包后,将故障信息包进行保存,并形成样本库;当报警装置50接收到所述样本库中的故障信
号,可根据所述样本库中的控制命令来进行深度学习,通过深度学习分析来给出新的控制
命令作用到自身对应的从机30上。
[0085] 举例来说,使所述基于Modbus协议的数据采集系统,具有区域自治和智能学习能力,以及解决单点故障问题,当区域内从机协同智能控制时,使得控制从机30工作更精细;
当单个报警装置50独立工作时,具有自我学习能力,可不断在周边设备报警装置50节点中
获得解决故障的样本库,通过长时间积累样本库和报警装置自主学习更新,使得连接报警
装置50的基础设施设备具有自主智能控制能力,可以避免故障在设备间扩散使得系统失去
监控出现瘫痪。
[0086] 优选的,多个基于Modbus协议的数据采集系统中的报警装置50在生产故障信息包后会通过网络端口发送至管理平台60,管理平台60将所述故障信息包整理成库,当报警装
置50检测出故障后可从所述库中调取所述故障信息包对其对应的从机30进行调整。
[0087] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。