燃料电池测试系统的二次开发编译工具的系统及方法技术方案

技术编号:27974627 阅读:30 留言:0更新日期:2021-04-06 14:08
本发明专利技术公开一种燃料电池测试系统的二次开发编译工具的系统及方法,包括语法规则单元,定义了燃料电池测试系统的功能操作的函数指令,以及这些函数调用的具体规范;队列结构单元,包括入队列模块、优先插入队列模块以及出队列模块;消息数据结构单元,包含所述语法规则单元定义的一系列函数的输入输出参数、函数名组成的消息数组以及所述队列结构单元的队列调度的内部参数。其方法包括:队列结构单元是否为空状态,若为空则等待元素进入,非空则等待执行入队列的操作;识别当前入队列元素中指令并将其编译成对应的函数,加载元素中的相应的参数后开始执行操作。本发明专利技术对燃料电池系统测试过程中对采样数据的处理和定制化功能具有多样化需求。

【技术实现步骤摘要】
燃料电池测试系统的二次开发编译工具的系统及方法
本专利技术涉及燃料电池的测试系统,尤其是针对燃料电池测试系统的二次开发编译工具的系统及方法。
技术介绍
在燃料电池测试系统功能开发的
中,广泛使用的是上位机视窗操作系统结合下位机实时操作系统进行设计。这种结构既能满足使用者操作便捷性和可视化的要求,又能保证测试系统可靠稳定的工作。然而,这样的系统结构设计对上位机的软件功能设计带来很大挑战,用户在对燃料电池电堆及系统的测试过程中对于采样数据的处理和定制化功能的多样需求,基于配置方式的程序开发已经不能满足需要。因此,如何提供更加易用、可扩展的二次开发工具以满足客户在测试过程中的多样诉求已成为燃料电池测试系统功能开发领域的技术人员迫切希望解决的问题。
技术实现思路
本专利技术要解决的技术问题是:提供一种燃料电池测试系统的二次开发编译工具的系统以及方法,满足用户更加易用、可扩展的二次开发工具以满足客户在测试过程中的多样诉求。为了解决上述技术问题,本专利技术提供了一种燃料电池测试系统的二次开发编译工具的系统,其包括:语法规则单元,定义了一系列对应燃料电池测试系统的功能操作的函数指令,以及这些函数调用的具体规范;队列结构单元,包括入队列模块、优先插入队列模块以及出队列模块;消息数据结构单元,是存储符合语法规则的一系列指令参数的数据结构体;包含由所述语法规则单元定义的一系列函数的输入参数、输出参数和函数名组成的消息数组以及所述队列结构单元的队列调度的内部参数。<br>进一步:所述语法规则单元包括指令标签和指令名,该指令名有具有输入参数和输出参数。进一步:其还包括判断队列是否进入队列首的位置的高优先级元素判断单元。本专利技术还公开了另一种技术方案:燃料电池测试系统的二次开发编译工具的方法,包括以下步骤:S1:加载燃料电池测试系统;S2:判断队列结构单元是否为空状态,若为空的状态,则等待元素进入,如果是非空的状态,等执行入队列的操作;S3:识别当前所述入队列的元素中指令并将其编译成对应的函数,加载元素中的相应的参数后开始执行操作;S4:循环执行上述步骤直到结束。进一步,包括以下步骤:在所述步骤S3之前还设有步骤S21:判断非空的队列是否为高优先级元素为空状态,如为空状态,元素进入队列首位置,如果为非空状态,执行步骤S3。本专利技术的技术效果在于:本专利技术提供一种燃料电池测试系统的二次开发编译工具的系统以及方法,满足用户在对燃料电池电堆及系统的测试过程中对于采样数据的处理和定制化功能的多样化需求。附图说明图1是本专利技术一种燃料电池测试系统的二次开发编译工具的系统的示意图;图2是本专利技术一种燃料电池测试系统的二次开发编译工具的方法流程图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好的理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。如图1和图2所示,为本专利技术提供一种燃料电池测试系统的二次开发编译工具的系统以及方法的示意图。其中,语法规则单元,定义了一系列对应燃料电池测试系统的功能操作的函数指令,以及这些函数调用的具体规范;所述语法规则单元包括指令标签和指令名,该指令名有具有输入参数和输出参数。队列结构单元,包括入队列模块、优先插入队列模块以及出队列模块;消息数据结构单元,是存储符合语法规则的一系列指令参数的数据结构体;包含由所述语法规则单元定义的一系列函数的输入参数、输出参数和函数名组成的消息数组以及所述队列结构单元的队列调度的内部参数。本专利技术二次开发编译工具的系统还包括判断队列是否进入队列首的位置的高优先级元素判断单元。本专利技术还公开了另一种技术方案:燃料电池测试系统的二次开发编译工具的方法,包括以下步骤:S1:加载燃料电池测试系统;S2:判断队列结构单元是否为空状态,若为空的状态,则等待元素进入,如果是非空的状态,等执行入队列的操作;S3:识别当前所述入队列的元素中指令并将其编译成对应的函数,加载元素中的相应的参数后开始执行操作。S4:循环执行上述步骤直到结束。进一步,包括以下步骤:在所述步骤S3之前还设有步骤S21:判断非空的队列是否为高优先级元素为空状态,如为空状态,元素进入队列首位置,如果为非空状态,执行步骤S3。下面结合具体实施例进行说明:消息数据结构单元,是存储符合语法规则的一系列指令参数的数据结构体,定义为:Typedefstructure{StringID;StringinstructionLable;StringinputParameter[];StringoutputParameter[];StringinstructionName;BooleanpriorityFlag;}messageDataUnit;此消息数据结构单元作为标准单元进出队列。下面主要针对燃料电池堆栈测试实例,进一步说明本专利技术的二次开发编译工具的专利技术,以下为待编译的脚本代码。1、系统初始化,InitializeSystem(date,mac;0);2、加载测试项目,LoadProj(HCU_VCU_Sykwell;0,ProjFlag);3、系统运行,System(ProjFlag;0,runFlag);//ProjFlag==1,执行;反之,不执行;4、系统报警输出,SystemAlarm(!ProjFlag;0,information);//!ProjFlag==1,执行;反之,不执行;5、氢气路初始化,HydroRouteInit(runFlag;0,ExeFlag);runFlag==1,执行;反之,不执行;6、执行报警输出,ExecuteAlarm(ExeFlag;0,information);//!ExeFlag==1,执行;反之,不执行7、空气路初始化,OxygenRouteInit(ExeFlag;0,ExeFlag);//ExeFlag==1,执行;反之,不执行8、设置氢气质量流量,SetHydroMassFlow(ExeFlag,500;0);9、设置空气质量流量,SetAirMassFlow(ExeFlag,800;0);10、检查开路电压是否正,CheckOpenCircVolt(ExeFlag,162,180;0,CheckFlag);11、跳转至标签100,goto(ExeFlag,CheckFlag,0,100;);100,结束,End(ExeFlag;0)。上述代码,经编译后执行后,会生成如下结构体数组,也就是消息数组,其中每一成员就是消息数据结构单元。Typedefstructure{StringID;Str本文档来自技高网...

【技术保护点】
1.一种燃料电池测试系统的二次开发编译工具的系统,其特征在于,其包括:/n语法规则单元,定义了对应燃料电池测试系统的功能操作的函数指令,以及这些函数调用的具体规范;/n队列结构单元,包括入队列模块、优先插入队列模块以及出队列模块;/n消息数据结构单元,是存储符合语法规则的一系列指令参数的数据结构体;包括所述语法规则单元定义的一系列函数的输入参数、输出参数和函数名组成的消息数组以及所述队列结构单元的队列调度的内部参数。/n

【技术特征摘要】
1.一种燃料电池测试系统的二次开发编译工具的系统,其特征在于,其包括:
语法规则单元,定义了对应燃料电池测试系统的功能操作的函数指令,以及这些函数调用的具体规范;
队列结构单元,包括入队列模块、优先插入队列模块以及出队列模块;
消息数据结构单元,是存储符合语法规则的一系列指令参数的数据结构体;包括所述语法规则单元定义的一系列函数的输入参数、输出参数和函数名组成的消息数组以及所述队列结构单元的队列调度的内部参数。


2.根据权利要求1所述的燃料电池测试系统的二次开发编译工具的系统,其特征在于:所述语法规则单元包括指令标签和指令名,该指令名有具有输入参数和输出参数。


3.根据权利要求1所述的燃料电池测试系统的二次开发编译工具的系统,其特征在于:其还包括判断队列是否进入队列首位置的高优先级元素判断单元。

...

【专利技术属性】
技术研发人员:李朝凯周忠发魏耀晖
申请(专利权)人:江苏兴邦能源科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1