一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于冗余设备的通信故障检测方法、设备和系统与流程

2021-10-24 03:56:00 来源:中国专利 TAG:设备 冗余 检测方法 故障 特别


1.本技术涉及工业自动控制技术领域,特别是涉及基于冗余设备的通信故障检测方法、设备和系统。


背景技术:

2.自动化安全仪表系统(safety instrumentation system,简称为sis)能对企业生产装置和设备可能发生的危险,或者不当行为导致生产装置和设备继续恶化的状态进行及时响应和保护,使生产装置和设备进入一个预定义的安全停车工况,从而使风险降低到可以接受的最低程度,保障人员、设备和生产装置的安全。出于系统安全和可靠性等方面的考虑,会人为地对一些关键部件或功能设备进行重复的配置,当系统发生故障时,比如某一设备发生损坏,冗余配置的部件可以作为备援,及时介入并承担故障部件的工作,由此减少系统的故障时间。
3.在相关技术中,冗余设备和上下游的关联设备之间通信连接,以实现数据传输。在发生通信故障的情况下,由于通信故障的确认需要花费若干个通信周期的时间来实现故障确认,且不同的设备之间通信周期较长,导致安全仪表系统的风险时间由于通信原因被拉长,影响各个设备的运行。
4.目前针对相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种基于冗余设备的通信故障检测方法、设备、系统、电子装置和存储介质,以至少解决相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题。
6.第一方面,本技术实施例提供了一种基于冗余设备的通信故障检测方法,应用于发送方,包括:
7.在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;
8.在一个通信周期内,将所述通信数据包多次发送至接收方,并开始响应周期的计时;
9.在所述响应周期内,根据能否接收到所述接收方的响应数据,确定下一通信周期中通信数据包的通信状态。
10.在其中一些实施例中,在一个通信周期内,将所述通信数据包多次发送至接收方包括:
11.获取初始采样数据,通过多种校验算法对所述初始采样数据进行计算,计算后得到多份不同的通信采样数据;
12.将所述多份不同的通信采样数据与所述初始采样数据以及所述通信状态进行打
包,得到所述通信数据包;
13.在所述通信周期内,将所述通信数据包多次发送至所述接收方。
14.在其中一些实施例中,获取所述信息发送指令包括以下之一:
15.若所述采样数据的变化符合预设的信息发送条件,获取所述信息发送指令;
16.若所述采样数据在预设的发送周期内的变化均不符合预设的信息发送条件,在所述发送周期结束时,获取所述信息发送指令。
17.在其中一些实施例中,所述在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包还包括:
18.获取内部故障诊断结果,将所述内部故障诊断结果、所述采样数据和所述通信状态打包,得到通信数据包。
19.在其中一些实施例中,所述在所述响应周期内,根据能否接收到所述接收方的响应数据,确定下一通信周期中通信数据包的通信状态包括:
20.在所述响应周期内,若接收到所述接收方的响应数据,则下一通信周期中通信数据包的通信状态为正常,并停止所述响应周期的计时;
21.在所述响应周期内,若未接收到所述接收方的响应数据,则下一通信周期中通信数据包的通信状态为异常。
22.第二方面,本技术实施例提供了一种基于冗余设备的通信故障检测方法,应用于接收方,包括:
23.在一个通信周期内,接收来自同一发送方的多个通信数据包,其中,所述通信数据包中包括当前的采样数据和所述发送方的通信状态;
24.根据通信协议对所述采样数据进行通信校验,根据所述采样数据中的数据标识对所述采样数据进行完整性校验;
25.根据所述通信校验和所述完整性校验的结果判断是否生成响应数据,在生成所述响应数据的情况下,在预设的响应周期内,将所述响应数据发送至所有所述发送方。
26.在其中一些实施例中,在所述根据通信协议对所述采样数据进行通信校验,根据所述采样数据中的数据标识对所述采样数据进行完整性校验之后,所述方法还包括:
27.根据各个所述通信数据包的数据包标识对多个通信数据包进行筛选;
28.根据与发送方对应的接收周期的计时,以及所述通信状态,在通过筛选的通信数据包中选择目标通信数据包;
29.对目标通信数据包中的数据进行处理。
30.在其中一些实施例中,所述根据与发送方对应的接收周期的计时,以及所述通信状态,在通过筛选的通信数据包中选择目标通信数据包包括以下之一:
31.在与所述发送方对应的接收周期的计时未超时,且所述通信数据包中的通信状态为正常的情况下,选择上一个通信周期中的发送方在当前通信周期发送的通信数据包作为所述目标通信数据包;
32.在与所述发送方对应的接收周期的计时已超时,或者所述通信数据包中的通信状态为异常的情况下,选择与上一个通信周期中的发送方不同的备用发送方在当前通信周期发送的通信数据包作为所述目标通信数据包,其中,所述备用发送方的通信状态为正常;
33.在所有与所述发送方对应的接收周期的计时已超时,且所述通信数据包中的通信
状态均为异常的情况下,获取预设的故障安全值构成所述目标通信数据包。
34.第三方面,本技术实施例提供了一种基于冗余设备的通信故障检测方法,应用于多个发送方和一个接收方,包括:
35.每个所述发送方在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;
36.每个所述发送方在一个通信周期内,将所述通信数据包多次发送至接收方,并开始响应周期的计时;
37.所述接收方在一个所述通信周期内,接收来自每个所述发送方的多个所述通信数据包;
38.所述接收方根据通信协议对所述采样数据进行通信校验,根据所述采样数据中的数据标识对所述采样数据进行完整性校验;根据所述通信校验和所述完整性校验的结果判断是否生成响应数据,在生成所述响应数据的情况下,在预设的响应周期内,将所述响应数据发送至所有所述发送方;
39.每个所述发送方在所述响应周期内,根据能否接收到所述接收方的响应数据,确定下一通信周期中通信数据包的通信状态。
40.第四方面,本技术实施例提供了一种基于冗余设备的通信故障检测设备,包括打包模块、发送模块和响应模块:
41.所述打包模块,用于在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;
42.所述发送模块,用于在一个通信周期内,将所述通信数据包多次发送至接收方,并开始响应周期的计时;
43.所述响应模块,用于在所述响应周期内,根据能否接收到所述接收方的响应数据,确定下一通信周期中通信数据包的通信状态。
44.第五方面,本技术实施例提供了一种基于冗余设备的通信故障检测设备,其特征在于,包括接收模块、校验模块和反馈模块:
45.所述接收模块,用于在一个通信周期内,接收来自同一发送方的多个通信数据包,其中,所述通信数据包中包括当前的采样数据和所述发送方的通信状态;
46.所述校验模块,用于根据通信协议对所述采样数据进行通信校验,根据所述采样数据中的数据标识对所述采样数据进行完整性校验;
47.所述反馈模块,用于根据所述通信校验和所述完整性校验的结果判断是否生成响应数据,在生成所述响应数据的情况下,在预设的响应周期内,将所述响应数据发送至所有所述发送方。
48.第六方面,本技术实施例提供了一种基于冗余设备的通信故障检测系统,包括多个发送方和一个接收方:
49.每个所述发送方在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;
50.每个所述发送方在一个通信周期内,将所述通信数据包多次发送至接收方,并开始响应周期的计时;
51.所述接收方在一个所述通信周期内,接收来自每个所述发送方的多个所述通信数
据包;
52.所述接收方根据通信协议对所述采样数据进行通信校验,根据所述采样数据中的数据标识对所述采样数据进行完整性校验;根据所述通信校验和所述完整性校验的结果判断是否生成响应数据,在生成所述响应数据的情况下,在预设的响应周期内,将所述响应数据发送至所有所述发送方;
53.每个所述发送方在所述响应周期内,根据能否接收到所述接收方的响应数据,确定下一通信周期中通信数据包的通信状态。
54.第七方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一至第三任一方面所述的基于冗余设备的通信故障检测方法。
55.第八方面,本技术实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一至第三任一方面所述的基于冗余设备的通信故障检测方法。
56.相比于相关技术,本技术实施例提供的基于冗余设备的通信故障检测方法,通过在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;在一个通信周期内,将通信数据包多次发送至接收方,并开始响应周期的计时;在响应周期内,根据能否接收到接收方的响应数据,确定下一通信周期中通信数据包的通信状态,解决了相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,实现了通信故障的快速确认。
57.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
58.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
59.图1是根据本技术实施例的一种基于冗余设备的通信故障检测方法的流程图;
60.图2是根据本技术实施例的再一种基于冗余设备的通信故障检测方法的流程图;
61.图3是根据本技术实施例的另一种基于冗余设备的通信故障检测方法的流程图;
62.图4是根据本技术实施例的又一种基于冗余设备的通信故障检测方法的流程图;
63.图5为本技术实施例的基于冗余设备的通信故障检测方法的终端的硬件结构框图;
64.图6是根据本技术实施例的一种基于冗余设备的通信故障检测设备的结构框图;
65.图7是根据本技术实施例的再一种基于冗余设备的通信故障检测设备的结构框图;
66.图8是根据本技术实施例的一种基于冗余设备的通信故障检测系统的结构框图。
具体实施方式
67.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的
前提下所获得的所有其他实施例,都属于本技术保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
68.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
69.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
70.在sis系统中,上游设备对系统中的电压和/或电流进行采样,然后将采样数据通过通信连接发送至下游设备以对采样数据进行处理,此时,进行采样的上游设备为采样数据的发送方,获取采样数据的下游设备为接收方。本技术中上游设备冗余设置,因此在一个发送方出现故障时,还可以通过另一个发送方保证系统完好运行。在通信过程中,冗余设置的多个发送方同时向接收方发送采样数据,接收方在接收到完整的符合要求的采样数据之后,也会向所有的发送方反馈响应数据。本技术中的发送方和接收方可以为终端设备,也可以为处理器。
71.本实施例提供了一种基于冗余设备的通信故障检测方法,应用于发送方。图1是根据本技术实施例的一种基于冗余设备的通信故障检测方法的流程图,如图1所示,该方法包括如下步骤:
72.步骤s110,在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包。
73.本实施例中的发送方在获取到信息发送指令的情况下,开始与接收方进行通信过程,其中,该信息发送指令可以由发送方内部生成,也可以由外部触发。当前的采样数据为当前系统的电流值和/或电压值,本实施例中会将采样数据和当前的通信状态一起打包,其中,通信状态表示发送方和接收方之间能否正常通信,包括正常和异常两种状态。当前的通信状态由上一个通信周期中发送方与接收方之间的交互得到。进一步地,若当前通信为初始通信,通信状态的初始化值默认为异常,以保证系统的安全运行。
74.步骤s120,在一个通信周期内,将通信数据包多次发送至接收方,并开始响应周期
的计时。
75.本实施例中,为了能够及时确认系统中是否存在通信故障,在一个通信周期内,发送方会将通信数据包连续多次发送至接收方,那么只要有一个通信数据包能够被接收方响应,则说明通信正常,若多个通信数据均包不能被接收方响应,则说明发送方和接收方之间的通信发生故障。
76.步骤s130,在响应周期内,根据能否接收到接收方的响应数据,确定下一通信周期中通信数据包的通信状态。
77.本实施例中设置响应周期,由于考虑到通信网络的带宽以及稳定性,响应周期的时长可以大于或者等于通信周期的时长,避免通信故障的误判。
78.通过上述步骤s110至步骤s130,本实施例中的发送方在一个通信周期内,将通信数据包多次发送至接收方,然后根据响应周期内接收方是否返回响应数据来判断二者之间的通信状态,避免了相关技术中,需要多个通信周期才能确认通信故障,节约了通信故障确认的时间,从而解决了相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,实现了通信故障的快速确认。
79.进一步地,在响应周期内,若发送方接收到接收方的响应数据,则说明接收方接收到了该发送方的至少一个正确完整的通信数据包,那么下一通信周期中通信数据包的通信状态为正常,并停止响应周期的计时,避免响应周期超时导致通信故障的误判;在响应周期内,若发送方未接收到接收方的响应数据,则说明该发送方发送的多个通信数据包均未被接收方正确接收,那么下一个通信周期中通信数据包的通信状态为异常。本实施例中,可以根据当前通信周期内是否接收到响应数据直接判断是否存在通信故障,不用经过多轮的通信确认,节省了通信故障的判断时间,提高通信故障的诊断效率。
80.在其他实施例中,可以在通信状态出现异常的情况下,立即进行通信故障的定位和修复,也可以在连续多个通信状态均为异常的情况下,再进行通信故障的定位和修复。
81.本实施例提供了另一种基于冗余设备的通信故障检测方法。图2是根据本技术实施例的再一种基于冗余设备的通信故障检测方法的流程图,如图2所示,该方法还包括如下步骤:
82.步骤s210,获取初始采样数据,通过多种校验算法对初始采样数据进行计算,计算后得到多份不同的通信采样数据。
83.本实施例中,发送方在获取到信息发送指令之后,并不直接将初始采样数据进行打包,而是先通过不同的校验算法对初始采样数据进行计算,例如,将初始采样数据进行取反,或者直接采用循环冗余校验(cyclic redundancy check,简称为crc)算法对初始采样数据进行计算,然后得到多份不同的通信采样数据,以确保采样数据在通信传输过程中的完整性。
84.步骤s220,将多份不同的通信采样数据与初始采样数据以及通信状态进行打包,得到通信数据包。
85.为了能够使得接收方对接收到的不同的采样数据进行校验,在对通信数据包进行打包的过程中,需要将计算后的通信采样数据与初始采样数据均打包。例如,在使用crc算法的情况下,经过crc算法计算的采样数据后会增加一段校验码,该校验码根据初始采样数据计算得到,在接收方接收到通信数据包通信采样数据后,可以根据校验码来判断接收到
的数据是否完整,还可以通过校验码将通信采样数据与初始采样数据进行判断,来确认传输过程是否发生故障。
86.步骤s230,在通信周期内,将通信数据包多次发送至接收方。
87.每个发送方都会将多包通信数据包发送至接收方,各个发送方之间,校验算法可以相同也可以不同。
88.通过上述步骤s210至步骤s230,本实施例中将初始采样数据通过多种不同的校验算法计算为不同的通信采样数据,然后进行将通信采样数据与初始采样数据、通信状态一起进行打包传输,可以更有效的验证初始采样数据的完整性。
89.在其中一些实施例中,发送方获取信息发送指令包括两种情况:
90.一种为若采样数据的变化符合预设的信息发送条件,获取信息发送指令。其中,预设的信息发送条件用于判断采样数据的变化是否需要传输至接收方进行处理,具体地,采样数据包括开关量和模拟量,开关量的变化是否满足预设的信息发送条件,根据开关量的变化是否实现了on/off的跳变判断,模拟量的变化是否符合预设的信息发送条件根据阈值进行判断,该阈值可以根据安全精度设置,通常情况下设置为满量程的1%。因此,本实施例中若采样数据为开关量且开关量的变化使得电路发生on/off之间的跳变,或者采样数据为模拟量且模拟量的变化大于阈值,认为采样数据的变化符合预设的信息发送条件,发送方就可以获取到信息发送指令。在其他实施例中,在采样数据为模拟量时,预设的信息发送条件还可以为模拟量大于或者等于阈值;
91.另一种为若采样数据在预设的发送周期内的变化均不符合预设的信息发送条件,在发送周期结束时,获取信息发送指令。如果采样数据的变化在发送周期内均不符合预设的信息发送条件,则为了保证能够及时判断发送方和接收方之间的通信状态,将当前的采样数据进行打包发送至接收方。本实施例中的发送周期优选与响应周期对应设置。
92.本实施例中对采样数据的信息发送条件进行设置,可以避免采样数据的发送频率过高导致通信传输压力大,也可以避免由于采样数据基本不变引起通信频率过低,从而导致通信故障不能被及时发现。
93.在其中一些实施例中,在进行通信数据包的打包过程中,还可以获取发送方的内部故障诊断结果,将内部故障诊断结果、采样数据和通信状态打包,得到通信数据包。其中,内部故障诊断结果为对发送方处理器的故障诊断结果,具体地,发送方的内部诊断包括中央处理器(central processing unit,简称为cpu)信息一致性和内存存取信息一致性的判断,如果存在不一致的情况,则判断发送方内部出现故障,内部诊断还包括cpu运行的硬件故障,例如内存,时钟,电源故障等等。在发送方内部出现故障的情况下,将内部故障诊断结果和采样数据一起打包发送,由接收方根据内部故障诊断结果进行采样数据的选择。进一步地,内部诊断可以通过以下方法实现:内存校验和纠错诊断(error checking and correction,简称为ecc),cpu逻辑诊断(the cpu self

test controller,简称为stc),cpu对比模块(cpu compare module,简称为ccm)校验,双时钟比较器模块(dual clock comparator module,简称为dcc)诊断。
94.进一步,在其他实施例中,内部故障诊断结果还分为多种故障等级,接收方可以根据故障等级的高低进行采样数据的选择。本实施例中,发送方还将自身的内部故障诊断结果发送至接收方,便于接收方选择更可信的采样数据进行处理。
95.本实施例还提供了一种基于冗余设备的通信故障检测方法,应用于接收方。图3是根据本技术实施例的另一种基于冗余设备的通信故障检测方法的流程图,如图3所示,该方法包括如下步骤:
96.步骤s310,在一个通信周期内,接收来自同一发送方的多个通信数据包,其中,通信数据包中包括当前的采样数据和发送方的通信状态。
97.本技术中的发送方冗余设置,因此一个接收方会接收到来自多个发送方的通信数据包,且在每个通信周期内,每个发送方都会向接收方发送多个通信数据包。
98.步骤s320,根据通信协议对采样数据进行通信校验,根据采样数据中的数据标识对采样数据进行完整性校验。
99.接收方在接收到通信数据包之后,需要先对其中采样数据进行通信校验和完整性校验,只有在所有的校验都通过之后,才能确定该采样数据是正确完整的。具体地,对于每个发送方的多个通信数据包,可以全部进行校验。
100.通信校验为根据内部的通信协议来对接收到的采样数据进行合法性校验,判断采样数据的通信过程是否符合通信协议的格式规定,完整性校验即为根据采样数据中的数据标识判断采样数据经过通信传输之后是否完整,其中,数据标识可以用来表示采样数据的编号,该编号可以表示采样数据的顺序,进一步地,数据标识还可以表示采样数据具体来源于哪一个发送方,数据标识还可以显示总的采样数据量。进一步地,本实施例中的完整性校验可以根据crc校验实现。
101.步骤s330,根据通信校验和完整性校验的结果判断是否生成响应数据,在生成响应数据的情况下,在预设的响应周期内,将响应数据发送至所有发送方。
102.在获取到的采样数据通过通信校验和完整性校验之后,即可判断接收方接到了正确完整的数据,然后接收方向发送方发送响应数据,在通信校验和完整性校验中有一个不能通过时,则认为通信状态异常,不生成响应数据,避免系统在被恶意攻击的情况下,频繁发送数据导致崩溃。本实施例中,可以直接将“正常”作为响应数据发送至发送方。进一步地,响应数据的发送应在响应周期内,才能确认通信状态是正常的。
103.本实施例中,对于同一个发送方,接收方可以仅响应一个通信数据包,也可以对每个通信数据包都进行响应。
104.通过上述步骤s310至步骤s330,本实施例中接收方在一个通信周期内,接收到同一个发送方的多个通信数据包,通过对一个通信周期中的多个通信数据包中的采样数据进行验证和响应,即可判断当前发送方与接收方之间的通信状态,避免了相关技术中,需要多个通信周期才能确认通信故障,节约了通信故障确认的时间,从而解决了相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,实现了通信故障的快速确认。
105.在其中一些实施例中,对采样数据进行通信校验和完整性校验之后,还需要根据各个通信数据包的数据包标识对多个通信数据包进行筛选,具体地,数据包标识可以根据通信数据包的源地址和序号信息得到,本实施例中,若接收方接收到同一发送方的多个通信数据包,由于仅需要对一个通信数据包中的数据进行处理,所以需要对同一发送方的多个通信数据包进行筛选过滤,需要说明的是,同一发送方发送的相同的采样数据,其源地址和序号信息均相同。
106.由于本技术中的发送方冗余设置,所以在筛选过滤之后,仍可能存在多个符合要求的通信数据包,所以需要根据与发送方对应的接收周期的计时,以及通信数据包中的通信状态,在通过筛选的通信数据包中选择目标通信数据包,其中,接收周期与响应周期对应设置,接收到的采样数据需在预设的接收周期内获取到。最后,接收方对选择得到的目标通信数据包中的数据进行处理。
107.本实施例中,接收方对获取到的所有的通信数据包进行筛选和过滤,避免由于处理多个通信数据包而造成大量的资源浪费。
108.在其中一些实施例中,根据与发送方对应的接收周期的计时,以及通信状态,在通过筛选的通信数据包中选择目标通信数据包包括以下之一:
109.在与发送方对应的接收周期的计时未超时,且通信数据包中的通信状态为正常的情况下,说明上一个通信周期选中的发送方仍然正常工作,则选择上一个通信周期中的发送方在当前通信周期发送的通信数据包作为目标通信数据包;
110.在与发送方对应的接收周期的计时已超时,或者通信数据包中的通信状态为异常的情况下,说明上一个通信周期中选中的发送方出现通信故障,则切换发送方,选择与上一个通信周期中的发送方不同的备用发送方在当前通信周期发送的通信数据包作为目标通信数据包,其中,备用发送方的通信状态应为正常,由于本技术中的发送方冗余设置,所以在一个发送方的通信状态异常时,可以采用备用发送方进行通信;
111.在所有与发送方对应的接收周期的计时已超时,且通信数据包中的通信状态均为异常的情况下,说明所有的发送方均出现通信故障,此时接收方获取预设的故障安全值构成目标通信数据包。其中,故障安全值为在通信故障下,能够使得整个系统可以正常运行的安全值。
112.本实施例中在选择目标通信数据包时,可以先根据通信状态和接收周期判断是否需要切换目标通信数据包的发送方,在所有的发送方均通信故障的情况下,则需要获取故障安全值保证系统运行。所以本实施例基于冗余设置的发送方以及预设的故障安全值,避免了由于通信故障导致的系统瘫痪。
113.进一步地,由于多个发送方同时向接收方发送数据,所以在切换通信数据包的发送方时,可以直接获取到能够正常工作的发送方的数据,减少切换发送方造成的时间延迟。
114.本实施例还提供了一种基于冗余设备的通信故障检测方法,应用于多个发送方和一个接收方。图4是根据本技术实施例的又一种基于冗余设备的通信故障检测方法的流程图,如图4所示,该方法包括如下步骤:
115.步骤s410,每个发送方在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;
116.步骤s420,每个发送方在一个通信周期内,将通信数据包多次发送至接收方,并开始响应周期的计时;
117.步骤s430,接收方在一个通信周期内,接收来自每个发送方的多个通信数据包;
118.步骤s440,接收方根据通信协议对采样数据进行通信校验,根据采样数据中的数据标识对采样数据进行完整性校验;根据通信校验和完整性校验的结果判断是否生成响应数据,在生成响应数据的情况下,在预设的响应周期内,将响应数据发送至所有发送方;
119.步骤s450,每个发送方在响应周期内,根据能否接收到接收方的响应数据,确定下
一通信周期中通信数据包的通信状态。
120.通过上述步骤s410至步骤s450,本实施例中的每个发送方均在一个通信周期内将通信数据包多次发送至接收方,接收方接收到同一个发送方的多个通信数据包后,通过对一个通信周期中的多个通信数据包中的采样数据进行验证和响应,然后发送方根据响应周期内能否接收到响应数据来判断二者之间的通信状态,避免了相关技术中,需要多个通信周期才能确认通信故障,节约了通信故障确认的时间,从而解决了相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,实现了通信故障的快速高效确认。
121.以下通过优选实施例对本技术中的方案进行说明,本实施例中发送方设置为两个,每个发送方在一个通信周期内将通信数据包发送三次。
122.具体地,发送方的处理过程如下:
123.步骤11,发送方获取到信息发送指令的情况下,将自身的通信状态和采样数据一起打包;
124.步骤12,发送方将打包好的通信数据包,连续3次发送至接收方,同时启动响应超时定时器,开始响应周期的计时;
125.步骤13,发送方在响应超时定时器超时前若接收到来自接收方的一包响应数据,则认为当前通信状态正常,同时关闭响应超时定时器;否则置当前通信状态为异常,并在下一个通信周期中,告知接收方。
126.接收方的处理过程如下:
127.步骤21,接收方接收来自两个发送方的所有通信数据包;
128.步骤22,接收方对通信数据包进行通信校验和完整性校验,校验结束后,若通信数据包校验通过,接收方启动接收超时定时器以进行接收周期的计时,检测下一个通信周期中的通信数据包是否超时,并发送当前通信周期的响应数据至发起方;若当前通信周期中,通信数据包到达的时间未超过接收超时定时器的计时,则认为接收超时状态正常,否则,认为接收超时状态异常;
129.步骤23,对通过通信校验和完整性校验的通信数据包,接收方再根据包括地址和数据包序号的数据包标识,对通信数据包进行过滤,同时选择一个发送方的通信数据包进行计算。
130.表1是根据本技术实施例的通信数据包选择表,如表1所示,两个发送方分别以左侧卡和右侧卡表示。
131.表1
[0132][0133]
通常情况下,若通信状态均正常,维持一个发送方作为数据源使用;在只有一个通信数据包的通信状态正常的情况下,选择通信状态正常的发送方作为数据源使用;在发送
方的通信状态均为故障的情况下,获取预设的故障安全值进行处理。
[0134]
本实施例中每个发送方均在一个通信周期内,将通信数据包多次发送至接收方,接收方接收到同一个发送方的多个通信数据包后,通过对一个通信周期中的多个通信数据包中的采样数据进行验证和响应,然后发送方根据响应周期内接收方返回的响应数据来判断二者之间的通信状态,即可高效快速地判断当前发送方与接收方之间的通信状态。
[0135]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0136]
本技术提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图5为本技术实施例的基于冗余设备的通信故障检测方法的终端的硬件结构框图。如图5所示,终端50可以包括一个或多个(图5中仅示出一个)处理器502(处理器502可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器504,可选地,上述终端还可以包括用于通信功能的传输设备506以及输入输出设备508。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端50还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
[0137]
存储器504可用于存储控制程序,例如,应用软件的软件程序以及模块,如本技术实施例中的基于冗余设备的通信故障检测方法对应的控制程序,处理器502通过运行存储在存储器504内的控制程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器504可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器504可进一步包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至终端50。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0138]
传输设备506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端50的通信供应商提供的无线网络。在一个实例中,传输设备506包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备506可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
[0139]
本实施例还提供了一种基于冗余设备的通信故障检测设备,该设备用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0140]
本实施例中提供的通信故障检测设备作为发送方使用,图6是根据本技术实施例的一种基于冗余设备的通信故障检测设备的结构框图,如图6所示,该设备包括打包模块61、发送模块62和响应模块63:
[0141]
打包模块61,用于在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;
[0142]
发送模块62,用于在一个通信周期内,将通信数据包多次发送至接收方,并开始响应周期的计时;
[0143]
响应模块63,用于在响应周期内,根据能否接收到接收方的响应数据,确定下一通信周期中通信数据包的通信状态。
[0144]
本实施例中发送方在一个通信周期内,通过打包模块61实现通信数据包的打包,然后通过发送模块62将通信数据包多次发送至接收方,最后通过响应模块63根据响应周期内能否接收到响应数据来判断发送方和接收方之间的通信状态,避免了相关技术中,需要多个通信周期才能确认通信故障,节约了通信故障确认的时间,从而解决了相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,实现了通信故障的快速确认。
[0145]
本实施例中提供的通信故障检测设备作为接收方使用,图7是根据本技术实施例的再一种基于冗余设备的通信故障检测设备的结构框图,如图7所示,该设备包括接收模块71、校验模块72和反馈模块73:
[0146]
接收模块71,用于在一个通信周期内,接收来自同一发送方的多个通信数据包,其中,通信数据包中包括当前的采样数据和发送方的通信状态;
[0147]
校验模块72,用于根据通信协议对采样数据进行通信校验,根据采样数据中的数据标识对采样数据进行完整性校验;
[0148]
反馈模块73,用于根据通信校验和完整性校验的结果判断是否生成响应数据,在生成响应数据的情况下,在预设的响应周期内,将响应数据发送至所有发送方。
[0149]
本实施例中接收方在一个通信周期内,通过接收模块71接收到同一个发送方的多个通信数据包,通过校验模块72对一个通信周期中的多个通信数据包中的采样数据进行验证,最后通过反馈模块73完成对发送方的响应,以判断当前发送方与接收方之间的通信状态,避免了相关技术中,需要多个通信周期才能确认通信故障,节约了通信故障确认的时间,从而解决了相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,实现了通信故障的快速确认。
[0150]
图8是根据本技术实施例的一种基于冗余设备的通信故障检测系统的结构框图,如图8所示,该系统包括多个发送方81和一个接收方82:
[0151]
每个发送方81在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包;
[0152]
每个发送方81在一个通信周期内,将通信数据包多次发送至接收方82,并开始响应周期的计时;
[0153]
接收方82在一个通信周期内,接收来自每个发送方81的多个通信数据包;
[0154]
接收方82根据通信协议对采样数据进行通信校验,根据采样数据中的数据标识对采样数据进行完整性校验;根据通信校验和完整性校验的结果判断是否生成响应数据,在生成响应数据的情况下,在预设的响应周期内,将响应数据发送至所有发送方81;
[0155]
每个发送方81在响应周期内,根据能否接收到接收方82的响应数据,确定下一通信周期中通信数据包的通信状态。
[0156]
本实施例中的每个发送方81均在一个通信周期内,将通信数据包多次发送至接收方82,接收方82接收到同一个发送方81的多个通信数据包后,通过对一个通信周期中的多个通信数据包中的采样数据进行验证和响应,然后发送方81根据响应周期内接收方82返回的响应数据来判断二者之间的通信状态,即可判断当前发送方81与接收方82之间的通信状
态,避免了相关技术中,需要多个通信周期才能确认通信故障,节约了通信故障确认的时间,从而解决了相关技术中在发生通信故障的情况下,需要较长的时间才能确认通信故障,从而影响各个设备的运行的问题,实现了通信故障的快速高效确认。
[0157]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0158]
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0159]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0160]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0161]
s11,在获取到信息发送指令的情况下,将当前的采样数据和通信状态打包,得到通信数据包。
[0162]
s12,在一个通信周期内,将通信数据包多次发送至接收方,并开始响应周期的计时。
[0163]
s13,在响应周期内,根据能否接收到接收方的响应数据,确定下一通信周期中通信数据包的通信状态。
[0164]
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
[0165]
s21,在一个通信周期内,接收来自同一发送方的多个通信数据包,其中,通信数据包中包括当前的采样数据和发送方的通信状态;
[0166]
s22,根据通信协议对采样数据进行通信校验,根据采样数据中的数据标识对采样数据进行完整性校验;
[0167]
s23,根据通信校验和完整性校验的结果判断是否生成响应数据,在生成响应数据的情况下,在预设的响应周期内,将响应数据发送至所有发送方。
[0168]
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0169]
另外,结合上述实施例中的基于冗余设备的通信故障检测方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于冗余设备的通信故障检测方法。
[0170]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0171]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜