一种氢气泵的故障检测方法和装置与流程
未命名
09-17
阅读:97
评论:0
1.本发明涉及氢气泵故障检测的技术领域,尤其涉及一种氢气泵的故障检测方法和装置。
背景技术:
2.氢燃料电池系统包括氢气子系统、空气子系统、热管理子系统、功率管理子系统、状态管理子系统、故障管理子系统等,是一个具有多参数、强耦合的非线性动态系统,拥有一个健壮、鲁棒性强的故障管理子系统,以避免燃料电池因故障所导致的燃料电池系统出现问题,甚至崩溃产生不可预估的损失和灾难。
3.氢气泵的主要作用是将燃料电池堆出口未反应的氢气再循环至燃料电池堆入口,从而提高氢气的利用率以及用氢安全;将燃料电池堆内部由于电化学反应生成的水循环至氢气入口,达到进气加湿的作用,改善燃料电池堆内的水润水平,提高了水管理能力,进而提升燃料电池堆的输出特性。由于氢气泵对进气的加湿作用,使得氢气入口省去了额外的加湿系统,燃料电池系统更加精简。由于氢气泵是can(controller area network,控制器局域网络)控部件,氢气泵进行故障检测时,氢气泵的故障报文从can总线上采集后,基于故障报文通信矩阵将故障报文拆解为故障信号,并以全局变量形式传递到燃电系统控制器(或称fccu)的应用层,进行后续处理,整体过程存在较多的冗余计算,导致氢气泵故障检测的执行效率低。
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.图1-1为本发明实施例提供的氢气泵报文编制的代码示意图;
47.图1-2为本发明实施例提供的定义氢气泵故障种类的代码示意图;
48.图2为本发明实施例提供的一种氢气泵的故障检测方法的流程图;
49.图3为本发明实施例提供的氢气泵故障建模的流程图;
50.图4为本发明实施例提供的目标变量的解析示意图;
51.图5-1为本发明实施例提供的故障检测模块的信号流示意图;
52.图5-2为本发明实施例提供的故障检测模块的内部信号流示意图;
53.图5-3为本发明实施例提供的故障检测模块的封装示意图;
54.图6-1为本发明实施例提供的诊断子模块和输出子模块的处理逻辑示意图;
55.图6-2为本发明实施例提供的确认子模块的处理逻辑示意图;
56.图7-1为本发明实施例提供的统计子模块的信号流示意图;
57.图7-2为本发明实施例提供的统计子模块的封装示意图;
58.图8为本发明实施例提供的一种氢气泵的故障检测装置的结构示意图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明实施例保护的范围。
60.在燃料电池系统中,氢气泵作为can控部件,需要通过can总线将故障信号传递给燃电系统的控制器,此时传递给控制器为氢气泵的故障报文(数据帧)信息,而非故障信号信息,这是不同于传统故障信息的处理方式。
61.由于氢气泵的故障检测项较多,通常为20多项故障检测。请参阅图1-1,以氢气泵故障报文的每一个缓冲(或称buffer)位的方式发送,需要在函数canb_recv1_cmd()中定义23个缓冲位变量,并且根据氢气泵的can故障通信矩阵,当前氢气泵故障报文的制式(message oder:intel或motorola)、起始字节(start byte position)、起始位(start bit position)及故障信号长度(signal length(bits)),进行缓冲位偏移量的十六进制计算,以确保故障信号的同一故障报文在8字节64位的缓冲空间中被正确发送出去,控制器(或称fccu)能够遵循相同的can故障报文通讯矩阵的can协议正确解析。
62.控制器通过函数canb_recv1_cmd()将氢气泵的每一个故障信号接收后,要通过函数can_decode(void)逐一解码,才能为控制器的应用层进一步使用。解码的依据仍然是can故障报文通讯矩阵中对每一个故障信号的具体定义,故障报文的制式(message oder:intel或motorola)、起始字节(start byte position)、起始位(start bit position)及故障信号长度(signal length(bits));另外,还包括精度(resolution)和偏移量(offset)计算。接收的23个故障信号经过解码,分别赋值给应用层接口映射变量,才能通过映射变量接口传递到应用层进行故障信号的进一步处理。请参阅图1-2,故障信号的传递过程中,是以全局变量身份进行的。因此在传递之前,首要的工作就是对23个故障信号进行全局变量定义,对氢气泵的故障进行解析时需要占用大量的控制器硬件资源,运行也需要较大的代码量作为实施基础,该种方式需要较长的处理时长,导致氢气泵故障的解析效率较低,下面本发明实施例将具体阐述在燃料电池系统中如何提高氢气泵的故障检测效率。
63.请参阅图2,图2为本发明实施例提供的一种氢气泵的故障检测方法,应用于燃料电池系统中氢气泵的故障检测,所述方法包括:
64.s11、获取所述氢气泵的故障检测数据,其中,所述故障检测数据为所述氢气泵所有运行故障检测结果的数据。
65.具体的,氢气泵存在较多的故障检测项,例如输入电流检测、输入电压检测、运行转速检测、环境温度检测和运行模式检测等,可以通过氢气泵的控制终端对其以预设周期进行故障检测,故障检测通过对应的传感器实施,传感器将采集的模拟量信号输出至控制
终端,控制终端转为数字信号以输出对应周期的故障检测数据,故障检测数据可以以二进制的形式表征,故障检测数据表征了对应检测周期下所有运行故障检测结果的数据。
66.在实际应用时,由于氢气泵的故障检测项较多,可能造成故障检测数据存在缺漏。基于此,在一种具体的实施方式中,获取氢气泵的故障检测数据,包括:
67.获取氢气泵的故障集合,其中,故障集合中的每个元素对应氢气泵的一种运行故障;根据故障集合运行氢气泵的底层检测程序,以获得氢气泵每种运行故障的检测信号;将所有检测信号的检测值组合为字符串,以获取故障检测数据。
68.具体的,故障集合可以基于氢气泵的所有故障检测项确定,故障集合表征了氢气泵所有需要进行检测的运行故障,将所有运行故障的检测编写至底层检测程序中,在运行检测程序后可以以预设次序对氢气泵进行检测,以获得每种运行故障的检测信号,检测信号可以以二进制的表征。例如检测项的检测信号为1时,说明该检测项存在运行故障;反之,若检测信号为0,说明该检测项无运行故障,因此检测信号是否存在故障也可以通过检测值表征,由于故障检测项较多,对应获取的故障信号数量较多,为保障故障检测数据的准确性,可以将每个检测值按预设方式组合为字符串,不同的检测值排列在字符串的对应位置,便于后期进行解析。需要说明的是,底层检测程序可以存储在氢气泵的控制终端上,该控制终端获取的故障检测数据发送至燃料电池系统的控制器,以实现分布式控制,获取故障检测数据后进入步骤s12。
69.s12、根据所述故障检测数据对目标变量进行赋值,其中,所述目标变量为燃料电池系统中预设的单个全局变量。
70.具体的,目标变量设定为燃料电池系统中的单个全局变量,可以使其通过任何层级函数进行访问和更改变量值,且内存地址固定,具有较高的读写效率。由于目标变量仅为一个全局变量,因此仅会占用系统较小的存储空间。可以理解,目标变量的数据类型可以根据氢气泵故障检测项的数量确定,例如数量较小时,可以定义为char型变量;数量较多时,可以定义为int型变量,能够适用故障检测数据的存储需求即可,在此不作具体限制,完成故障检测数据对目标变量的赋值后进入步骤s13。
71.s13、根据预设编码方式将所述目标变量编制至所述氢气泵的通讯报文中,并发送所述通讯报文。
72.具体的,预设编码方式即为报文的编码制式,主要包括intel格式和motorola格式,可以基于实际使用场景确定。氢气泵的通讯报文可以包括氢气泵的多种运行信息,例如是否处于运行状态、检测的运行转速和故障检测数据等。将各种对应的变量以预设周期编制至通讯报文中,并通过can通讯发送至燃料电池系统的控制器。当然,通讯报文也可以以其他通用方式进行发送,能够将报文进行准确发送即可,在此不作具体限制,发送通讯报文后进入步骤s13。
73.s14、在所述燃料电池系统的应用层接收所述通讯报文,并根据所述通讯报文的拆解处理结果确定所述氢气泵的运行故障。
74.具体的,应用层为燃料电池系统的程序架构顶层,用于基于氢气泵的故障检测结果输出对应的控制指令,例如检测到氢气泵运行温度过高时,对应输出降低其运行转速的控制指令,以保障燃料电堆的稳定运行。接收通讯报文后对其拆解即可获得目标变量,目标变量的变量值可以表征出当前检测周期的故障检测结果,由于拆解处理只需对一个全局变
量实施,因此相较于现有的故障检测方法,无论从代码量、易读性、对硬件资源占用等方面都是一个非常大的提升和优化,提升几个处理过程的多变一处理,以及故障信号解析处理的取消,都提升了系统运行效率。
75.基于上述的氢气泵故障检测方法,可以实施氢气泵的故障建模,故障建模是建立故障检测模型对氢气泵实施故障检测。请参阅图3,故障建模流程包括:故障信息采集、故障诊断、故障确认、故障统计、故障等级识别、故障码确定和故障播报,故障播报是将确定的故障发送至vcu(vehicle control unit,整车控制器)。故障信息采集是can控部件的通讯报文通过can总线发送给燃料电池系统的控制器;故障诊断是控制器接收到通讯报文,并将其中的故障信息与通讯超时故障确认时间进行诊断比较;故障确认是确定存在检测故障时,将故障信息与预设的故障掩码进行计算确认氢气泵的故障状态;故障统计是确认故障状态后,对氢气泵部件产生的故障个数进行统计;故障等级识别是确认的部件故障,与故障等级标定量比较计算,以确定故障等级;故障播报是将故障码、氢泵故障等级、故障统计个数发送给燃料电池系统的控制器,再转发给整车vcu。
76.在实际应用时,由于氢气泵的故障检测项较多,若检测过程中存在某一时刻的信号跳变,可以造成最终检测结果的误判。基于此,在一种具体的实施方式中,根据通讯报文的拆解处理结果确定氢气泵的运行故障,包括:
77.将通讯报文进行拆解,拆解可以基于通讯报文的初始编码制式实施,拆解后可以获得目标变量,由于目标变量表征了所有检测项在当前检测周期的检测结果,进而可以获得氢气泵每种运行故障的检测值;根据多个检测值对应用层中预设的多个局部变量进行对应赋值;配置预设模型的数据字典,并将多个局部变量输入预设模型进行处理,以获得氢气泵的运行故障,其中,数据字典用于定义多个局部变量是否为运行故障的参照阈值。
78.具体的,请参阅图4,以目标变量为hcp_err为例,为便于对多种故障检测结果进行处理,可以在应用层设置对应故障检测项的多个局部变量,图中bit0-bit23对应的变量即为预设的局部变量,由于局部变量仅在应用层参与计算,可以减少对系统资源的占用。检测值可以表征为故障检测项的数字信号,例如具体的驱动电流、驱动电压、运行温度等;也可以表征该检测项是否存在故障,例如驱动电流是否在目标范围内,通过不同的二进制数值表征。每个检测值对应一个局部变量,因而可以将检测值对应赋值至局部变量,便于预设模型进行处理。预设模式可以是simulink软件,也可以是故障处理程序,能够基于多个局部变量确定氢气泵的运行故障即可,在此不作具体限制。需要说明的是,由于燃料电池系统的型号规格存在差异,对应氢气泵故障检测的参照阈值也将跟随变化,例如规格较大的燃料电池系统,氢气泵泵送的氢气流量上限相较小规格的燃料电池系统会增大,检测氢气流量故障的设定值将对应提高,对于不同场景下的使用,可以通过数据字典进行定义,以适配对应场景下的检测需求。
79.由于氢气泵故障检测项较多,在预设模型中对应处理的方式可能存在差异,直接拆解后可能无法对应进行处理应用。基于此,在一种具体的实施方式中,将通讯报文进行拆解,获得氢气泵每种运行故障的检测值,包括:
80.根据通讯报文的拆解结果,获得目标变量的字符串,字符串表征了故障检测数据按预设方式的排列数组;根据预设的映射关系对字符串进行移位运算,获得每种运行故障的移位计算值,其中,映射关系为每种故障检测结果在字符串中的编码位置;判断移位计算
值与对应局部变量的数据类型是否相同;若是,则将移位计算值输出为对应运行故障的检测值;若否,则将移位计算值的当前数据类型转换为对应局部变量的目标数据类型,并输出为对应运行故障的检测值。
81.具体的,字符串可以存储于配置的寄存器中,基于映射关系在寄存器中提取每种故障的检测值。可以通过位操作模块(或称bitwise operator)和移位算术运算模块(或称shift arithmtic)实施计算得出移位计算值,例如字符串以数据矩阵的方式表征时,由于每种故障检测结果在字符串中存在对应的编码位置,因此可以通过位操作模块确定每种故障检测结果在数据矩阵的对应位置,再通过移位算术运算模块在对应位置实施移位操作,即可获得每种运行故障的移位计算值。由于目标变量仅能对应一种数据类型,但不同运行故障在进行信号处理时存在一定差异,例如当目标变量为int型时,解析出的移位计算值也为int型,部分检测值的局部变量定义为char或float类型,因此需要判断移位计算值与对应局部变量的数据类型是否相同,若不同,则将其进行变量转换,以适用布局变量进行数据之间的多次流转使用。可以将数据类型转换的计算封装为数据类型转换模块(或称data type conversion),基于该模块的输入和输出操作获得移位计算值的数据类型转换结果。通过对目标变量的字符串进行移位运算和数据类型转换,可以使各种故障检测值适用预设模型的处理方式。
82.由于氢气泵的故障检测项较多,且不同的应用场景下处理方式存在差异,基于此,在一种具体的实施方式中,将多个局部变量输入预设模型进行处理,以获得氢气泵的运行故障,包括:
83.将多个局部变量的每个局部变量输入预设模型中对应的故障处理模块进行处理,其中,故障处理模块为与多个局部变量数量相等的封装程序;根据每个故障处理模块的输出结果,获得氢气泵每种运行故障的故障等级。
84.具体的,在预设模型中可以根据局部变量的数量封装多个程序,以获得多个故障封装模块,便于对局部变量对应处理,将每个故障封装模块的处理结果确定为该种故障检测项的检测结果。请参阅图5-1,故障处理模块可以包括两个输入端口和两个输出端口,输入端口1(state in)用于输入局部变量,输入端口2(debounse times)用于输入时间阈值或次数阈值。请参阅图5-2,局部变量和对应阈值输入故障处理模块后,内部按预设条件进行计算,确定当前周期下局部变量是否表征该检测项存在运行故障,确定后输出表征是否存在运行故障的信号,例如通过输出端口1(fult state)输出表征存在运行故障的信号,通过输出端口2(counter)输出表征不存在运行故障的信号。
85.需要说明的是,故障处理模块可以通过matlab/simulink提供的mask/create mask功能进行模块的封装操作,封装模块命名及图标设置、模块输入参数定义、封装模块描述信息,封装后的形态可参阅图5-3。在simulink中,可以将封装的模块自定义为模块库纳入simulink的模块库统一管理,方便重用,遵循simulink的模块库的通用规则。封装时可以先创建matlab环境的m脚本文件,创建封装模块的自定义文件夹,并在matlab的“设置路径”中添加该路径;自定义文件夹中,包含已封装模块的扩展名为mdl的模块文件和需要创新的m文件。m脚本文件用于实现如下功能:simulink浏览器模块库中的自定义模块库文件名称(不带扩展名mdl的封装模块文件)定义;simulink浏览器库文件夹显示名称定义;simulink浏览器库浏览执行命令定义;自定义模块库启动命令定义;自定义模块库在库浏览器中的
排序设置。封装时执行m脚本文件,可以在matlab的命名窗口执行m文件;matlab弹出框选择“generate repositories in memory”选项,加载自定义的模块库。将上述封装模块从simulink的模块库中载入,增加输入和输出信息,以对各局部变量进行故障诊断。
86.在确定局部变量是否表征该检测项存在运行故障时,若仅以检测值进行确定,可以因信号跳变引起误判。基于此,在一种具体的实施方式中,故障处理模块包括封装的诊断子模块和输出子模块;将多个局部变量的每个局部变量输入预设模型中对应的故障处理模块进行处理,包括:
87.将局部变量输入诊断子模块;当确定局部变量表征为存在运行故障时,诊断子模块输出故障信号至输出子模块;当输出子模块确定故障信号的累计时长大于预设的时间阈值时,输出故障信号。
88.具体的,诊断子模块和输出子模块可以封装在模块库中,需要应用时直接进行调用,诊断子模块用于诊断局部变量表征对应的检测项是否存在运行故障,输出子模块用于确定存在故障的运行时间是否大于预设的时间阈值,大于时输出该检测项的故障信号。请参阅图6-1,局部变量以预设周期进行输入,检测项的局部变量为igbt_over_heat_1_protection,该检测项的作用域上限为dmske_fcsst_hcp,时间阈值为msgcycpmp_timeout_filt,若局部变量大于作用域上限,说明该检测项存在故障,进一步确定故障信号的累计时长是否大于时间阈值,大于时输出故障信号;反之,则输出非故障信号。是否存在故障可以通过hcp_igbt_over_heat_1_protection_st表征,其值为0或1,代表是否确认为该故障信号的故障状态。
89.需要说明的是,还可以通过封装的确定子模块对故障信号的有效性进一步确定,请参阅图6-2,设定故障掩码devdiagmask_bit4,将故障信号与故障掩码输入确定子模块进行位与运算,以提高故障信号确定的准确性。可以理解,故障掩码可以基于预先设定,也可以基于氢气泵的故障检测状态设定,在此不作具体限制。在确定存在故障时,输出对应的控制信号,例如输出过热保护的故障信号hcp_igbt_over_heat_1_protection。
90.在实际应用时,由于燃料电池系统较为庞大,若仅给出是否存在故障,将无法确定各故障的变化趋势。基于此,在一种具体的实施方式中,根据每个故障处理模块的输出结果,获得氢气泵每种运行故障的故障等级,包括:
91.将每个故障处理模块输出故障信号的输出次数进行累加计算,累计计算可以通过预设函数或封装的模块实施,以获得每种运行故障的累计统计次数;根据累计统计次数在预设关系表中确定出每种运行故障的故障等级,其中,预设关系表为累计统计次数与故障等级的对应关系表,可以通过标定试验确定累计统计次数和故障等级的对应关系,例如累计统计次数越高,对应的故障等级越高。
92.具体的,故障统计可以封装统计子模块实施,请参阅图7-1和7-2,统计子模块为布尔逻辑体系(或称boolen),通过输入端口reset和resetmode设置统计方式,输入端口risinginput捕捉到上升沿时,输出将设置为1,直到端口接收到上升沿,可以将每一个具体故障信号输入,结合统计子模块模块(risingtrigger)、移位算术运算模块(shift arithmtic)、位操作模块(bitwise operator)三个模块,并考虑辅助输入变量:故障冻结标志复位使能(errorflag_reset_enable_c)、电气开始诊断标志(flag_devdiagstart)、key钥匙信号(himve_di_ignraw)三个输入条件的逻辑判断,实现氢泵所有故障信号的存储统
计计算。每一个具体故障信号输入,结合移位算术运算模块、位操作模块两个模块,并考虑辅助输入变量:故障冻结标志复位使能、电气开始诊断标志、key钥匙信号三个输入条件的逻辑判断,实现所有故障信号的当前故障统计计算,再通过累加子模块(sum)进行累加计算,23个故障信号,利用simulink提供的数据存储读取(data store read)、数据存储写入(data store write)、数据存储内存(data store memory)三个模块,在不同simulink子系统之间进行多次的数据传递与使用。故障信号分别输入5个等级故障信号的识别模块,分别与事先给定的故障信号等级标定量进行比较,与哪个故障信号标定量保持一致,则故障信号等级被确定为当前故障信号等级标定量的值,即对应的故障等级。通过对各故障信号的统计处理,可以得出各种故障的变化趋势,便于对氢气泵故障进行精细化统计和分析,使本发明实施例的氢气泵故障检测方法适用于燃料电池系统。
93.确定故障等级后还可以确定出对应的故障码,将故障码分别输入5种故障等级下的故障码识别模块,并与事先定义的氢泵故障码标定量进行比较,是否保持相同,如果输入的实时故障码与当前故障码识别模块的故障码标定保持一致,则输入的氢泵故障码被认为此种故障等级下的氢泵故障码标定量的值,由前面获得的故障码、故障等级及故障总数信息,通过fccu发送至vcu,进行相应的故障处理。
94.基于与检测方法同样的发明构思,本发明实施例还提供了一种氢气泵的故障检测装置,应用于燃料电池系统中氢气泵的故障检测,请参阅图8,所述装置包括:
95.获取模块801,用于获取所述氢气泵的故障检测数据,其中,所述故障检测数据为所述氢气泵所有运行故障检测结果的数据;
96.赋值模块802,用于根据所述故障检测数据对目标变量进行赋值,其中,所述目标变量为燃料电池系统中预设的单个全局变量;
97.编制发送模块803,用于根据预设编码方式将所述目标变量编制至所述氢气泵的通讯报文中,并发送所述通讯报文;
98.接收处理模块804,用于在所述燃料电池系统的应用层接收所述通讯报文,并根据所述通讯报文的拆解处理结果确定所述氢气泵的运行故障。
99.在一种可选的实施例中,所述获取模块,包括:
100.获取子模块,用于获取所述氢气泵的故障集合,其中,所述故障集合中的每个元素对应所述氢气泵的一种运行故障;
101.第一获得子模块,用于根据所述故障集合运行所述氢气泵的底层检测程序,以获得所述氢气泵每种运行故障的检测信号;
102.第二获得子模块,用于将所有所述检测信号的检测值组合为字符串,以获取所述故障检测数据。
103.在一种可选的实施例中,所述接收处理模块,包括:
104.第三获得子模块,用于将所述通讯报文进行拆解,获得所述氢气泵每种运行故障的检测值;
105.赋值子模块,用于根据多个所述检测值对所述应用层中预设的多个局部变量进行对应赋值;
106.处理子模块,用于配置预设模型的数据字典,并将所述多个局部变量输入所述预设模型进行处理,以获得所述氢气泵的运行故障,其中,所述数据字典用于定义所述多个局
部变量是否为所述运行故障的参照阈值。
107.在一种可选的实施例中,所述第三获得子模块,包括:
108.第一获得单元,用于根据所述通讯报文的拆解结果,获得所述目标变量的字符串;
109.第二获得单元,用于根据预设的映射关系对所述字符串进行移位运算,获得所述每种运行故障的移位计算值,其中,所述映射关系为所述每种故障检测结果在所述字符串中的编码位置;
110.判断单元,用于判断所述移位计算值与对应局部变量的数据类型是否相同;
111.第一输出单元,用于在所述移位计算值与对应局部变量的数据类型相同时,则将所述移位计算值输出为对应运行故障的检测值;
112.第二输出单元,用于所述移位计算值与对应局部变量的数据类型不相同时,则将所述移位计算值的当前数据类型转换为所述对应局部变量的目标数据类型,并输出为对应运行故障的检测值。
113.在一种可选的实施例中,所述处理子模块,包括:
114.处理单元,用于将所述多个局部变量的每个局部变量输入所述预设模型中对应的故障处理模块进行处理,其中,所述故障处理模块为与所述多个局部变量数量相等的封装程序;
115.第三获得单元,用于根据每个所述故障处理模块的输出结果,获得所述氢气泵每种运行故障的故障等级。
116.在一种可选的实施例中,所述故障处理模块包括封装的诊断子模块和输出子模块;所述处理单元,包括:
117.输入子单元,用于将所述局部变量输入所述诊断子模块;
118.第一输出子单元,用于在确定所述局部变量表征为存在运行故障时,所述诊断子模块输出故障信号至所述输出子模块;
119.第二输出子单元,用于在所述输出子模块确定所述故障信号的累计时长大于预设的时间阈值时,输出所述故障信号。
120.在一种可选的实施例中,所述第三获得单元,包括:
121.获得子单元,用于将每个所述故障处理模块输出故障信号的输出次数进行累加计算,获得所述每种运行故障的累计统计次数;
122.确定子单元,用于根据所述累计统计次数在预设关系表中确定出所述每种运行故障的故障等级,其中,所述预设关系表为所述累计统计次数与所述故障等级的对应关系表。
123.基于与检测方法同样的发明构思,本发明实施例还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行检测方法中任一项所述方法的步骤。
124.基于与检测方法同样的发明构思,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现检测方法中任一项所述方法的步骤。
125.本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
126.通过获取表征氢气泵所有运行故障检测结果的故障检测数据,将故障检测数据赋值至目标变量,根据预设编码方式将目标变量编制至氢气泵的通讯报文中并发送,在燃料
电池系统的应用层接收通讯报文,并根据通讯报文的拆解处理结果确定氢气泵的运行故障,由于目标变量为燃料电池系统中预设的单个全局变量,通讯报文的拆解处理只需对目标变量实施即可,省略传统方式中每种运行故障定义一个对应的全局变量,在进行报文拆解时需要逐个解析每个全局变量,因此本发明的检测方法节省大量的硬件开销以及程序的计算量,在保障相同故障检测功能下使冗余计算变的精简,进而提高了燃料电池系统中氢气泵的故障检测效率。
127.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
128.本发明是参照根据本发明实施例的方法、装置(模块、系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
129.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
130.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
131.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
132.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
技术特征:
1.一种氢气泵的故障检测方法,其特征在于,应用于燃料电池系统中氢气泵的故障检测,所述方法包括:获取所述氢气泵的故障检测数据,其中,所述故障检测数据为所述氢气泵所有运行故障检测结果的数据;根据所述故障检测数据对目标变量进行赋值,其中,所述目标变量为燃料电池系统中预设的单个全局变量;根据预设编码方式将所述目标变量编制至所述氢气泵的通讯报文中,并发送所述通讯报文;在所述燃料电池系统的应用层接收所述通讯报文,并根据所述通讯报文的拆解处理结果确定所述氢气泵的运行故障。2.根据权利要求1所述的氢气泵的故障检测方法,其特征在于,所述获取所述氢气泵的故障检测数据,包括:获取所述氢气泵的故障集合,其中,所述故障集合中的每个元素对应所述氢气泵的一种运行故障;根据所述故障集合运行所述氢气泵的底层检测程序,以获得所述氢气泵每种运行故障的检测信号;将所有所述检测信号的检测值组合为字符串,以获取所述故障检测数据。3.根据权利要求1所述的氢气泵的故障检测方法,其特征在于,所述根据所述通讯报文的拆解处理结果确定所述氢气泵的运行故障,包括:将所述通讯报文进行拆解,获得所述氢气泵每种运行故障的检测值;根据多个所述检测值对所述应用层中预设的多个局部变量进行对应赋值;配置预设模型的数据字典,并将所述多个局部变量输入所述预设模型进行处理,以获得所述氢气泵的运行故障,其中,所述数据字典用于定义所述多个局部变量是否为所述运行故障的参照阈值。4.根据权利要求3所述的氢气泵的故障检测方法,其特征在于,所述将所述通讯报文进行拆解,获得所述氢气泵每种运行故障的检测值,包括:根据所述通讯报文的拆解结果,获得所述目标变量的字符串;根据预设的映射关系对所述字符串进行移位运算,获得所述每种运行故障的移位计算值,其中,所述映射关系为所述每种故障检测结果在所述字符串中的编码位置;判断所述移位计算值与对应局部变量的数据类型是否相同;若是,则将所述移位计算值输出为对应运行故障的检测值;若否,则将所述移位计算值的当前数据类型转换为所述对应局部变量的目标数据类型,并输出为对应运行故障的检测值。5.根据权利要求3所述的氢气泵的故障检测方法,其特征在于,所述将所述多个局部变量输入所述预设模型进行处理,以获得所述氢气泵的运行故障,包括:将所述多个局部变量的每个局部变量输入所述预设模型中对应的故障处理模块进行处理,其中,所述故障处理模块为与所述多个局部变量数量相等的封装程序;根据每个所述故障处理模块的输出结果,获得所述氢气泵每种运行故障的故障等级。6.根据权利要求5所述的氢气泵的故障检测方法,其特征在于,所述故障处理模块包括
封装的诊断子模块和输出子模块;所述将所述多个局部变量的每个局部变量输入所述预设模型中对应的故障处理模块进行处理,包括:将所述局部变量输入所述诊断子模块;当确定所述局部变量表征为存在运行故障时,所述诊断子模块输出故障信号至所述输出子模块;当所述输出子模块确定所述故障信号的累计时长大于预设的时间阈值时,输出所述故障信号。7.根据权利要求5所述的氢气泵的故障检测方法,其特征在于,所述根据每个所述故障处理模块的输出结果,获得所述氢气泵每种运行故障的故障等级,包括:将每个所述故障处理模块输出故障信号的输出次数进行累加计算,获得所述每种运行故障的累计统计次数;根据所述累计统计次数在预设关系表中确定出所述每种运行故障的故障等级,其中,所述预设关系表为所述累计统计次数与所述故障等级的对应关系表。8.一种氢气泵的故障检测装置,其特征在于,应用于燃料电池系统中氢气泵的故障检测,所述装置包括:获取模块,用于获取所述氢气泵的故障检测数据,其中,所述故障检测数据为所述氢气泵所有运行故障检测结果的数据;赋值模块,用于根据所述故障检测数据对目标变量进行赋值,其中,所述目标变量为燃料电池系统中预设的单个全局变量;编制发送模块,用于根据预设编码方式将所述目标变量编制至所述氢气泵的通讯报文中,并发送所述通讯报文;接收处理模块,用于在所述燃料电池系统的应用层接收所述通讯报文,并根据所述通讯报文的拆解处理结果确定所述氢气泵的运行故障。9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行权利要求1-7中任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
技术总结
本发明公开了一种氢气泵的故障检测方法和装置,所述方法通过获取氢气泵所有运行故障检测结果的故障检测数据,将故障检测数据赋值至目标变量,根据预设编码方式将目标变量编制至氢气泵的通讯报文中并发送,在燃料电池系统的应用层接收通讯报文,并根据通讯报文的拆解处理结果确定氢气泵的运行故障,由于目标变量为燃料电池系统中预设的单个全局变量,通讯报文的拆解处理只需对目标变量实施即可,因此本发明的检测方法节省大量的硬件资源以及程序的计算量,在保障相同故障检测功能下使冗余计算变的精简,进而提高了燃料电池系统中氢气泵的故障检测效率。的故障检测效率。的故障检测效率。
技术研发人员:王秋来 尤海泉 张明凯 张富 王涛
受保护的技术使用者:东风汽车集团股份有限公司
技术研发日:2023.05.29
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:儿童复杂性阑尾炎预测方法及预测装置与流程 下一篇:起步提醒方法和系统与流程
