本发明涉及燃料电池数据存储管理,具体涉及一种燃料电池系统运行数据存储及调取分析方法。
背景技术:
1、随着燃料电池技术的发展,相关的测试及技术手段也越发先进,测试及保存数据量越来越大,特别是燃料电池系统装车后,需要在实际运行过程中对燃料电池系统工况运行数据进行实时保存,以便后期对燃料电池系统的故障处理、预期寿命进行综合分析,而且为了满足远程监控需要和确保数据安全可靠,需要将运行数据实时储存在云端,为此对数据的保存提出了更高的要求。
2、现阶段燃料电池系统运行数据的保存大多是采用excel数据结构或tdms数据结构来进行,excel文本打开需要一段时间,随着积累数据的增加,打开这类文件需要的时间的也逐步增加,且无法将数据库便捷的存储在云端;tdms文件格式能实现高频率、大容量的数据保存,但因是二进制记录文件,其文件结构必须符合一定的存储规律,终端设备如果不借助相应程序则无法直接打开并查看tdms文件,例如一般需要安装matlab或excel的相应插件软件才能打开,同样采用tdms文件格式也无法直接将数据保存至云端。
3、此外在数据分析中,面对庞杂繁复的数据库内容,如果人工查询并处理相关数据再进行分析,需要花费大量的时间,同时在数据查找中需要极大的耐心和细心,十分不便,急需一种自动数据调取分析方法。为了上述解决上述技术问题,本申请提出一种燃料电池系统运行数据存储及调取分析方法,旨在一定程度上解决相关技术中的技术问题。
技术实现思路
1、针对现有技术中存在的缺陷,本发明的目的在于提供一种燃料电池系统运行数据存储及调取分析方法,旨在一定程度上解决相关技术中的技术问题。
2、为达到以上目的,本发明采取的技术方案是:
3、一种燃料电池系统运行数据存储方法,包括以下步骤:
4、s101、开始存储程序,输入系统型号、系统编号,通过动态注册路径搜索mysql数据库第一级目录;
5、s102、判断mysql数据库第一级目录是否存在;如果存在,则进入下一步,如果不存在,则上位机程序根据系统型号、系统编号在动态注册路径的文件夹内自动创建mysql数据库第一级目录,再进入步骤s103;
6、s103、根据开始保存标志位自动获取当前时间构建mysql第二级目录,进入下一步;
7、s104、判断mysql数据库第二级目录是否存在,如果是,则在上位机中选择燃料电池系统参数构建mysql数据库第三级目录,并在数据保存同时根据主从复制备份在云端,进入步骤s106,如果不是,进入下一步;
8、s105、重新输入保存标志位自动获取当前时间并构建mysql数据库第二级目录,进入下一步;
9、s106、判断每个数据保存周期是否新增燃料电池参数,如果是,在mysql数据库第三级目录的最后一列中增加燃料电池参数名称,并在数据保存同时根据主从复制备份在云端,进入下一步;如果不是,则直接在数据保存同时根据主从复制备份在云端,进入下一步;
10、s107、数据存储完毕,结束。
11、在上述技术方案的基础上,步骤s102中动态注册路径根据上位机的开发环境与应用环境的不同来构建,步骤s102通过拆分的方式进行动态注册路径构建。
12、在上述技术方案的基础上,步骤s103中开始保存标志位为根据数据存储要求标定的数据保存标志位,存储程序自动获取当前时间再构建mysql第二级目录。
13、在上述技术方案的基础上,步骤s104中mysql第三级目录包括系统运行状态、氢气路状态、空气路状态、水路状态。
14、在上述技术方案的基础上,在mysql第三级目录中第一行第一列为数据采集时间,该采集时间根据数据保存周期间隔自动获取当前时间;第一行第二列为主键并作为燃料电池系统启停标志位,每一个mysql第三级目录只允许存在一个主键。
15、在上述技术方案的基础上,在mysql第三级目录中还设有保存数据的参数名称;参数名称包括字段名称、数据类型和字段大小,字段名称包括电堆电压、电堆电流、电堆功率、空气路进出口温度、进出堆压力;数据类型为浮点型、字符串、整型、布尔型中的一种。
16、在上述技术方案的基础上,步骤s106中在数据保存每一个周期开始时均判断是否新增燃料电池系统新参数,如果有新增参数,则在下一个数据保存周期内将新参数名称的数据保存在第三级目录的第一行最后一列。
17、在上述技术方案的基础上,一种燃料电池系统运行数据调取分析方法,包括以下步骤:
18、s201、数据分析开始,输入系统型号、系统编号进行数据库筛选,并进入下一步;
19、s202、判断筛选结果是否为空,如果是,则重新输入系统型号、系统编号,返回上一步进行数据库筛选,如果不是,进入下一步;
20、s203、输入起始时间与终止时间,判断筛选结果是否为空,如果是,则重新输入起始时间与终止时间并再次筛选;如果不是,则选中测试数据表,查询主键并判定系统状态,当主键为2或3,项列表删除该表,当主键为1且总个数不超过180,则在列表项中删除该表,当主键为1且总个数超过180,则将该数据库表存在新的列表项中,进入下一步;
21、s204、根据上一步中新的列表项中主键前一行的值与后一行的值是否一致,记录启停数据,将每一次启停数据存入相应的缓存区,进入下一步;
22、s205、设定查询条件,选定燃料电池参数对缓存区的数据进行查询,缓存区中只要有一个结果不为空,则表示数据库中有想要查询分析的数据,缓存区结果均为空,则表示数据库中没有想要查询分析的数据,进入下一步;
23、s206、查询结果不为空时,判断查询结果是否为不同缓存区的数据拼接,如果是,则以采集点为横坐标的图表将参数进行显示;如果不是,则以查询结果中的相同类型参数为横坐标输出波形图,将不同缓存区数据进行比对显示;
24、s207、结束。
25、在上述技术方案的基础上,步骤s205中如果缓存区查询结果都为空,则表示数据库中不存在分析筛选的数据,此时将两个或多个不同缓存区的数据进行拼接组合。
26、在上述技术方案的基础上,步骤s201中进行筛选的数据库为本地存储数据库或云端备份数据库。
27、与现有技术相比,本发明的优点在于:
28、本发明中的一种燃料电池系统运行数据存储及调取分析方法与现有技术相比,可以针对燃料电池系统运行数据的特点,存储大量即时数据,并且可以快速打开查看,无需安装插件或辅助软件,且可将直接将数据保存至云端;另一方面,本申请可以对燃料电池系统存储记录的数据进行远程自动调取分析,方便快捷地展现对比分析结果,省时省力,提高了对燃料电池运存数据中的异常情况分析和处理效率。
1.一种燃料电池系统运行数据存储方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种燃料电池系统运行数据存储方法,其特征在于:所述步骤s102中动态注册路径根据上位机的开发环境与应用环境的不同来构建,步骤s102通过拆分的方式进行动态注册路径构建。
3.根据权利要求1所述的一种燃料电池系统运行数据存储方法,其特征在于:所述步骤s103中开始保存标志位为根据数据存储要求标定的数据保存标志位,存储程序自动获取当前时间再构建mysql第二级目录。
4.根据权利要求1所述的一种燃料电池系统运行数据存储方法,其特征在于:所述步骤s104中mysql第三级目录包括系统运行状态、氢气路状态、空气路状态、水路状态。
5.根据权利要求4所述的一种燃料电池系统运行数据存储方法,其特征在于:在mysql第三级目录中第一行第一列为数据采集时间,该采集时间根据数据保存周期间隔自动获取当前时间;第一行第二列为主键并作为燃料电池系统启停标志位,每一个mysql第三级目录只允许存在一个主键。
6.根据权利要求5所述的一种燃料电池系统运行数据存储方法,其特征在于:在mysql第三级目录中还设有保存数据的参数名称;参数名称包括字段名称、数据类型和字段大小,字段名称包括电堆电压、电堆电流、电堆功率、空气路进出口温度、进出堆压力;数据类型为浮点型、字符串、整型、布尔型中的一种。
7.根据权利要求1所述的一种燃料电池系统运行数据存储方法,其特征在于:所述步骤s106中在数据保存每一个周期开始时均判断是否新增燃料电池系统新参数,如果有新增参数,则在下一个数据保存周期内将新参数名称的数据保存在第三级目录的第一行最后一列。
8.基于权利要求1-7任意一项的一种燃料电池系统运行数据调取分析方法,其特征在于,包括以下步骤:
9.根据权利要求8所述的一种燃料电池系统运行数据调取分析方法,其特征在于:所述步骤s205中如果缓存区查询结果都为空,则表示数据库中不存在分析筛选的数据,此时将两个或多个不同缓存区的数据进行拼接组合。
10.根据权利要求8所述的一种燃料电池系统运行数据调取分析方法,其特征在于:所述步骤s201中进行筛选的数据库为本地存储数据库或云端备份数据库。
