CN103064410A - 一种发动机电控系统中标定数据的转换方法和装置 - Google Patents

一种发动机电控系统中标定数据的转换方法和装置 Download PDF

Info

Publication number
CN103064410A
CN103064410A CN2012105831712A CN201210583171A CN103064410A CN 103064410 A CN103064410 A CN 103064410A CN 2012105831712 A CN2012105831712 A CN 2012105831712A CN 201210583171 A CN201210583171 A CN 201210583171A CN 103064410 A CN103064410 A CN 103064410A
Authority
CN
China
Prior art keywords
original
data
target
value
electric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105831712A
Other languages
English (en)
Other versions
CN103064410B (zh
Inventor
秦涛
刘兴义
王传荣
武迎迎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weichai Power Co Ltd
Original Assignee
Weichai Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Weichai Power Co Ltd filed Critical Weichai Power Co Ltd
Priority to CN201210583171.2A priority Critical patent/CN103064410B/zh
Publication of CN103064410A publication Critical patent/CN103064410A/zh
Application granted granted Critical
Publication of CN103064410B publication Critical patent/CN103064410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种发动机电控系统中标定数据的转换方法,分别在第一电控系统和第二电控系统下对初始发动机进行标定,得到第一标定数据和第二标定数据;建立所述第一标定数据与所述第二标定数据之间的对应关系,并将所述对应关系确定为真实值转换规则;所述方法包括:根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值;根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值;根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据。通过本发明的技术方案,可以避免对进行相同系统升级的每台发动机都重新进行标定,从而节省消耗的资源和时间。

Description

一种发动机电控系统中标定数据的转换方法和装置
技术领域
本发明涉及发动机电控领域,特别涉及一种发动机电控系统中标定数据的转换方法和装置。
背景技术
在发动机电控系统的控制逻辑中,许多计算结果的计算过程需要利用一些常数变量以及一维或者二维变量之间的对应关系。这些变量发生改变,就会致使控制逻辑的计算结果改变,进而引起发动机的各种运行状态指标的变化。而对于不同的产品的发动机而言,由于产品的性能、功能不同,所以不同产品的电控系统中这些变量所需要的值大多不相同。因此,为了使电控系统的控制逻辑能够满足各个产品的功能要求并发挥最优的性能,对于每个产品就需要根据其特性和表现对其电控系统中的变量进行修正,这一修正的过程称之为标定,而这些影响产品发动机运行状态指标的常数变量、一维变量及二维变量的设定值称之为标定数据。
在发动机的实际使用过程中,经常会对其电控系统进行升级更新。由于升级过程中涉及到控制逻辑的改变,所以,在升级后的系统中使用原系统的标定数据就会造成发动机不能发挥最优的性能,从而不能满足产品的功能要求。所以,在发动机的电控系统升级之后,原标定数据就不再适用于该电控系统,这样,就需要为该电控系统重新设定合适的标定数据。
目前,在解决为升级后的电控系统设定标定数据这一问题时,因为每台发动机中同一标定数据的变量数值都不相同,即使是属于同一种机型的不同发动机,由于具有不同的功率段和用途,其标定数据也会不同,所以现有技术采用的主要方式是对每台发动机升级后的电控系统都进行重新标定,从而得到标定数据。而由于对电控系统进行标定的过程需要在发动机上反复进行多次标定试验,因此通过重新标定来得到每台发动机的标定数据,会耗费较多的资源和时间,因此,目前发动机电控系统升级所耗费的时间过长,并且资源耗费也过多。
发明内容
本发明要解决的问题是提供一种发动机电控系统中标定数据的转换方法和装置,以克服现有技术中对每台需要系统升级的发动机都通过重新标定系统的方式来获取升级后的标定数据而导致的耗费较多资源和时间的缺陷。
为达到上述目的,本发明提供了一种发动机电控系统中标定数据的转换方法,在第一电控系统下对初始发动机进行标定,得到第一标定数据;在第二电控系统下对初始发动机进行标定,得到第二标定数据;建立所述第一标定数据与所述第二标定数据之间的对应关系,并将所述对应关系确定为真实值转换规则;
所述方法包括如下步骤:
根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值;
根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值;
根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据。
优选的,所述根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值,包括:
获取目标发动机在第一电控系统下的原始标定数据的原始二进制代码数据文件和原始A2L文件;
从所述原始二进制代码数据文件中提取所述原始标定数据的原始实际存储值;
利用所述原始A2L文件对所述原始实际存储值进行解析,得到所述原始真实物理值。
优选的,所述根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值,包括:
获取目标发动机在第一电控系统下的原始标定数据的原始数据源文件;
从所述原始数据源文件中提取所述原始标定数据的原始实际存储值;
利用预设的所述第一电控系统的数据类型转换规则对所述原始实际存储值进行解析,得到所述原始真实物理值。
优选的,所述根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值,包括:
获取目标发动机在第一电控系统下的原始标定数据的原始DCM文件;
从所述原始DCM文件中提取所述原始标定数据的原始真实物理值。
优选的,所述根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值,包括:
从所述原始标定数据中确定当前转换变量;
从所述真实值转换规则中确定所述当前转换变量对应的当前真实值转换规则;
将所述当前转换变量的原始真实物理值按照所述当前真实值转换规则转换成目标真实物理值。
优选的,所述根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据,包括:
根据预设的所述第二电控系统的数据类型转换规则,将所述目标真实物理值转换成所述目标标定数据的目标实际存储值;
将所述目标标定数据的目标实际存储值生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
优选的,所述目标标定数据中包括表格变量,所述将所述目标标定数据的目标实际存储值生成所述第二电控系统的二进制代码数据文件,包括:
判断所述目标标定数据中所有表格变量在转换前后的表格维数是否均相同;
如果是,则将所述目标实际存储值生成所述目标发动机在第二电控系统下的二进制代码数据文件;
如果否,则将所述目标实际存储值生成目标数据源文件,并调用编译器对所述目标数据源文件进行编译,生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
优选的,其特征在于,所述根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据之后,还包括:
利用所述目标标定数据,在所述第二电控系统下对所述目标发动机进行控制。
本发明还提供了一种发动机电控系统中标定数据的转换装置,包括:
第一标定模块,用于在第一电控系统下对初始发动机进行标定,得到第一标定数据;
第二标定模块,用于在第二电控系统下对初始发动机进行标定,得到第二标定数据;
转换规则建立模块,用于建立所述第一标定数据与所述第二标定数据之间的对应关系,并将所述对应关系确定为真实值转换规则;
原始真实值获取模块,用于根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值;
原始真实值转换模块,用于根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值;
目标标定数据生成模块,用于根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据。
优选的,所述原始真实值获取模块包括:
原始二进制代码数据获取子模块,用于获取目标发动机在第一电控系统下的原始标定数据的原始二进制代码数据文件和原始A2L文件;
第一原始实际值提取子模块,用于从所述原始二进制代码数据文件中提取所述原始标定数据的原始实际存储值;
第一原始实际值解析子模块,用于利用所述原始A2L文件对所述原始实际存储值进行解析,得到所述原始真实物理值。
优选的,所述原始真实值获取模块包括:
原始数据源获取子模块,用于获取目标发动机在第一电控系统下的原始标定数据的原始数据源文件;
第二原始实际值提取子模块,用于从所述原始数据源文件中提取所述原始标定数据的原始实际存储值;
第二原始实际值解析子模块,用于利用预设的所述第一电控系统的数据类型转换规则对所述原始实际存储值进行解析,得到所述原始真实物理值。
优选的,所述原始真实值获取模块包括:
原始DCM获取子模块,用于获取目标发动机在第一电控系统下的原始标定数据的原始DCM文件;
原始真实值提取子模块,用于从所述原始数据源文件中提取所述原始标定数据的原始真实物理值。
优选的,所述原始真实值转换模块包括:
当前变量确定子模块,用于从所述原始标定数据中确定当前转换变量;
当前规则确定子模块,用于从所述真实值转换规则中确定所述当前转换变量对应的当前真实值转换规则;
当前真实值转换子模块,用于将所述当前转换变量的原始真实物理值按照所述当前真实值转换规则转换成目标真实物理值。
优选的,所述目标标定数据生成模块包括:
目标实际值生成子模块,用于根据预设的所述第二电控系统的数据类型转换规则,将所述目标真实物理值转换成所述目标标定数据的目标实际存储值;
目标二进制代码数据生成子模块,用于将所述目标标定数据的目标实际存储值生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
优选的,所述目标标定数据中包括表格变量,所述目标二进制代码数据生成子模块包括:
目标判断子模块,用于判断所述目标标定数据所有表格变量在转换前后的表格维数是否均相同;
二进制代码数据直接生成子模块,用于在所述维数判断子模块的判断结果为是的情况下,将所述目标实际存储值生成所述目标发动机在第二电控系统下的二进制代码数据文件;
目标数据源生成子模块,用于在所述维数判断子模块的判断结果为否的情况下,将所述目标实际存储值生成目标数据源文件;
数据源编译子模块,用于调用编译器对所述目标数据源文件进行编译,生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
优选的,还包括:
控制模块,用于利用所述目标标定数据,在所述第二电控系统下对所述目标发动机进行控制。
与现有技术相比,本发明具有以下优点:
本发明的技术方案,采用的是利用预先建立的转换规则来对不同的发动机在进行相同的系统升级时进行标定数据转换的方式,预先分别对初始发动机在第一电控系统和第二电控系统下进行标定得到第一标定数据和第二标定数据,从而以两者的对应关系建立真实值转换规则,这样,在之后对从第一电控系统升级到第二电控系统的各个目标发动机进行标定时,可以根据前述真实值转换规则,直接该目标发动机在第一电控系统下原始标定数据的原始真实物理值转换成在第二电控系统下的目标真实物理值,从而生成目标标定数据,完成对该目标发动机在第二电控系统下标定数据的获取。由此可见,通过上述技术方案,对完成同一系统升级的发动机标定数据时,只需要进行一次通过重新标定建立标定数据的转换规则,而对于建立转换规则之后升级的发动机来说,只需要通过该转换规则就可以获取升级后的标定数据,而不再需要重新标定,从而可以避免对进行相同系统升级的每台发动机都重新进行标定,从而可以节省升级后获取发动机标定数据所消耗的资源和资源,进而可以节省发动机电控系统升级所消耗的资源和时间。
附图说明
图1是本发明发动机电控系统中标定数据的转换方法实施例1的流程图;
图2是本发明本发明方法实施例1中步骤104的实施方式1的流程图;
图3是本发明本发明方法实施例1中步骤104的实施方式2的流程图;
图4是本发明本发明方法实施例1中步骤104的实施方式3的流程图;
图5是本发明本发明方法实施例1中步骤105的实施方式1的流程图;
图6是本发明本发明方法实施例1中步骤106的实施方式1的流程图;
图7是本发明本发明方法实施例1中图6所示步骤602的实施方式1的流程图;
图8是本发明发动机电控系统中标定数据的转换装置实施例1的结构图;
图9是本发明装置实施例1中原始真实值获取模块的实施例1的结构图;
图10是本发明装置实施例1中原始真实值获取模块的实施例2的结构图;
图11是本发明装置实施例1中原始真实值获取模块的实施例3的结构图;
图12是本发明装置实施例1中原始真实值转换模块的一种结构图;
图13是本发明装置实施例1中目标标定数据生成模块的一种结构图;
图14是本发明装置实施例1中图13所示的目标二进制代码数据生成子模块的一种结构图;
图15是本发明发动机电控系统中标定数据的转换装置实施例2的结构图。
具体实施方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
本发明的技术方案适用于各种具有电控系统的发动机,例如柴油机、汽油机等。本发明的技术方案适用于各种发动机的系统升级过程,尤其是,适用于在升级前的旧系统已经被标定过、在旧系统中具有成熟标定数据的发动机升级过程。
发动机电控系统在升级过程中,发动机在原有的旧系统中已经具有成熟的标定数据。该标定数据中各个变量体现了电信号的控制量与发动机运行状态之间的对应关系。而在该发动机升级为新系统之后,由于是同一台发动机,所以电信号的控制量与发动机运行状态之间的对应关系并没有改变,只是由于新系统软件改变,从而使得电信号控制量所对应的标定数据变量数值在升级成新系统后发生了改变。其中,造成标定数据变量数值改变的原因主要包括新系统相对于旧系统,同一变量具有不同的单位、不同的坐标轴位置、不同的数据类型等。由此可见,同一台发动机在升级以后,新系统的标定数据发生改变只是由于系统的改变而引起的,所以,对于从同一旧系统升级为同一新系统的各个发动机来说,虽然各个发动机中标定数据变量的数值都不相同,但是其旧系统标定数据与新系统标定数据之间具有相同的对应关系,也即,不同发动机上同一变量的旧系统数值经过相同的转换规则都可以转换为其对应的新系统数值。
基于上述的原理,本发明的基本思想是:对于从同一旧系统升级为同一新系统的各个发动机来说,可以预先对一个发动机分别在旧系统和新系统进行标定,获取两个系统下的标定数据,并根据两个系统下的标定数据建立标定数据中每个变量之间的对应关系,从而得到每个变量的该旧系统下数值和该新系统下数值之间的转换规则,这样,对于得到转换规则之后的发动机从该旧系统升级到该新系统时,直接将该发动机的标定数据中每个变量的旧系统数值按照转换规则转换为新系统数值,就可以得到该发动机在该新系统下的标定数据,从而实现避免对每一台发动机在系统升级时都需要重新标定,从而节省资源和时间。
下面结合附图,详细说明本发明发动机电控系统中标定数据的转换方法和装置的实现方式。
参见图1,示出了本发明发动机电控系统中标定数据的转换方法实施例1的流程图,本实施例可以包括:
步骤101、在第一电控系统下对初始发动机进行标定,得到第一标定数据。
其中,初始发动机是从第一电控系统升级到第二电控系统的发动机。在实际应用中,可以将第一次从第一电控系统升级到第二电控系统的发动机作为初始发动机。当然,也可以在没有发动机需要被从第一电控系统升级到第二电控系统,预先任选一台来完成步骤101~103,以完成对第一电控系统升级到第二电控系统所使用的真实值转换规则的获取。
需要说明的是,为了简化操作,一般选取的初始发动机都是需要从第一电控系统升级到第二电控系统的发动机,这样该初始发动机已经具有第一电控系统下的第一标定数据,所以此时不需要再对初始发动机进行标定,而可以直接从第一电控系统中获取到第一标定数据。该获取的过程与下面的步骤104中获取原始标定数据相同,具体将在对步骤104的说明中解释,在此不再赘述。
步骤102、在第二电控系统下对初始发动机进行标定,得到第二标定数据。
步骤103、建立所述第一标定数据与所述第二标定数据之间的对应关系,并将所述对应关系确定为真实值转换规则。
其中,真实值转换规则可以包括单位换算、数据转置、溢出处理、零点偏移、字符型数据处理、数据填充、删减处理等。
在本实施例中,所建立的对应关系可以采用函数关系,也即真实值转换规则采用函数关系,具体地说,对标定数据中的每个变量,将其在第一电控系统下的数值作为自变量,并将其在第二电控系统下的数值作为因变量,以此建立因变量与自变量的函数表达式,这样,在后续转换过程中,可以直接将需要转换的该变量第一电控系统下数值代入函数表达式直接计算出该变量第二电控系统下数据。
其中,所采用的函数表达式可以根据变量在转换时实际所执行的转换规则来确定,例如单位换算、零点偏移等可以采用y=ax+b的一次函数形式。
另外,对于有些变量,实际所执行的转换不能用数量关系来表述,如字符型数据处理等,对于这种情况,所建立的对应关系也可以是以表格、集合或数据库等形式表达的一一对应的对应关系。
需要说明的是,通常建立的对应关系需要被存储,并且,通常所要存储的对应关系不仅是一个系统升级的过程,而是涉及多个系统升级的过程,所以,为了使存储在一起的对应关系在使用时方便查找,可以以数据库或者数据表的形式将所建立的对应关系进行存储。
在步骤103完成以后,即可以实现对第一电控系统升级到第二电控系统所需要的真实值转换规则的获取。
可以理解的是,本实施例的步骤101~103是预先执行的步骤,只要执行一次步骤101~103之后,就可以获取第一电控系统升级到第二电控系统所需要的真实值转换规则,对于此后从第一电控系统升级到第二电控系统的发动机,都可以直接从步骤104开始执行,而不需要再次执行步骤101~103。
步骤104、根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值。
其中,真实物理值表示在标定过程中直接获得的数值,该值代表对应变量在物理意义上的真实数值。但通常情况下,发动机电控系统中实际存储的是可以直接参与运算的数值,即实际存储值,并且通常实际存储值不等于真实物理值,所以在获取第一电控系统下原始标定数据时,还需要进一步获取其原始真实物理值。
发动机的标定数据一般都以数据文件的形式存储在电控系统中。一般地,电控系统中的数据文件有三种,分别为二进制代码数据文件、数据源文件和DCM文件。其中,标定数据的各个变量数值,在二进制代码数据文件和数据源文件中是以实际存储值存储的,而在DCM文件中是以真实物理值存储的。
为了便于本领域技术人员理解从数据文件中获取原始真实物理值的方法,在本实施例中,提供了三种步骤104的实施方式,以分别说明从上述三种数据文件中获取原始真实物理值的方法。
参见图2,示出了本实施例104步骤实施方式1的流程图,本实施方式采用从二进制代码数据文件中解析得到原始真实物理值,本实施方式可以包括:
步骤201、获取目标发动机在第一电控系统下的原始标定数据的原始二进制代码数据文件和原始A2L文件。
其中,二进制代码数据文件可以是HEX文件、S19文件、MOT文件等,其中数据是以二进制形式存储为对应机器语言码和/或常量数据的十六进制编码数字组成,例如,HEX文件,HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。这些十六进制编码包含了程序和数据等内容。A2L文件是包含有变量的描述信息、数据类型、数据类型的解析方式以及在内存的存储地址的文件,所述解析关系是文件中储存的二进制形式与真实物理值的转换关系。
基于二进制代码数据文件和A2L文件的特性,二进制代码数据文件只存储了数据地址及数值,其需要使用A2L文件来获取数据的变量名、描述信息、数据类型等信息。所以二进制代码数据文件和A2L文件在系统中是同时存在的。也是由于这种特性,为得到标定时所用的原始真实物理值,就需要A2L文件来解析二进制代码数据文件中存储的原始实际存储值。
步骤202、从所述原始二进制代码数据文件中提取所述原始标定数据的原始实际存储值。
步骤203、利用所述原始A2L文件对所述原始实际存储值进行解析,得到所述原始真实物理值。
通常二进制代码数据文件中实际存储值为16进制,需要利用A2L文件将16进制的实际存储值转换为10进制的真实物理值。
参见图3,示出了本实施例104步骤实施方式2的流程图,本实施方式采用从数据源文件中解析得到原始真实物理值,本实施方式可以包括:
步骤301、获取目标发动机在第一电控系统下的原始标定数据的原始数据源文件。
其中,数据源文件实际为软件代码的源文件,其以软件代码的形式存在。数据源文件直接参与代码编译过程,但其也是数据文件的一种形式。
步骤302、从所述原始数据源文件中提取所述原始标定数据的原始实际存储值;
步骤303、利用预设的所述第一电控系统的数据类型转换规则对所述原始实际存储值进行解析,得到所述原始真实物理值。
通常系统是将真实物理值转换为实际存储值而存储在数据源文件中的,在转换的同时,系统都会为数据源文件建立一个对应的数据类型转换规则表或文件,其中存储有数据源文件中实际存储值与真实物理值的转换关系。所以,在需要从数据源文件中解析出原始真实物理值,可以直接按照系统中对应的数据类型转换规则对数据源文件中的实际存储值进行转换即可。
参见图4,示出了本实施例104步骤实施方式3的流程图,本实施方式采用从数据源文件中解析得到原始真实物理值,本实施方式可以包括:
步骤401、获取目标发动机在第一电控系统下的原始标定数据的原始DCM文件。
其中,DCM文件是包含有变量的描述信息、数据类型、数据类型的解析方式以及变量真实物理值的文件。DCM文件可以由标定软件INCA从二进制代码数据文件导出。
步骤402、从所述原始DCM文件中提取所述原始标定数据的原始真实物理值。
由于DCM文件中存储的就是真实物理值,所以,当系统中具有通过标定软件INCA导出的DCM文件的时候,可以直接从DCM文件中提取原始物理值。
需要说明的是,以上图2~图4所示的三种实施方式可以单独实施,也可以组合实施。由于系统中标定数据可能同时存储在上述文件的任意两种或三种文件中,因此可以根据实际情况来选择上述三种实施方式的一种来获取真实物理值。
例如,由于DCM文件是由二进制代码数据文件导出的,所以通常情况下系统中具有DCM文件时也有具有二进制代码数据文件,而具有二进制代码数据文件时却不一定具有DCM文件。在这种情况下,由于从DCM文件中获取原始真实物理值更为简便,因此,可以先判断系统中是否具有DCM文件,如果是,则执行图4的实施方式3来获取原始真实物理值,如果否,则执行图2的实施方式1来获取原始真实物理值。
接着返回图1,执行完步骤104之后,进入步骤105的执行。
步骤105、根据所述真实值转换规则,将所述原始真实物理值转换生成目标真实物理值。
发动机的标定数据中具有多个变量,在所有变量中有些需要转换,而有些不需要转换,而且各个变量的转换规则也不相同。所以通常对每个变量的转换是独立进行的,各个变量的转换之间并不产生相互影响。当然,转换的时候,可以对变量进行逐一转换,也可以同时对部分或全部变量进行转换。
参见图5,示出了本实施例105步骤实施方式1的流程图,本实施方式可以包括:
步骤501、从所述原始标定数据中确定当前转换变量。
具体地,可以根据预先设定的标定数据转换表,将目标发动机所需要转换的变量提取出去作为当前转换变量。对于不需要转换的变量,可以将该变量的原始真实物理值直接确定为目标真实物理值。
步骤502、从所述真实值转换规则中确定所述当前转换变量对应的当前真实值转换规则。
具体地,在预先建立的真实值转换规则中,查找每一个当前转换变量所对应的转换规则。而由于对预先建立的真实值转换规则通常是将多个系统升级过程的转换规则存储在一起,所以,在这种情况下,步骤502可以具体包括:从存储的真实值转换规则中,查找第一电控系统升级到第二电控系统对应的真实值转换规则;从查找到的真实值转换规则中,为每个当前转换变量查找对应的真实值转换规则。
需要说明的是,在转换规则丢失或查找故障时,可能会查找不到某些当前转换变量对应的真实值转换规则,这时可以输出没有查找到对应转换规则的当前转换变量来提示操作人员。此时,还可以进一步判断数据转换过程是否为应该存在的转换规则,如果该转换规则应该存在但实际并不存在,则可以输出该转换规则提示操作人员。
步骤503、将所述当前转换变量的原始真实物理值按照所述当前真实值转换规则转换成目标真实物理值。
具体地,如对应的转换规则为函数关系,则可以将原始真实物理值代入该函数表达式计算出目标真实物理值;如对应的转换规则为一一对应的对应关系,则可以直接将对应关系中的值直接确定为目标真实物理值。
接着返回图1,步骤105执行完成之后,进入执行步骤106。
步骤106、根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据。
由于电控系统中所能直接应用于运算的是实际存储值,所以在获得目标真实物理值之后,还需要将该目标真实物理值转换成实际存储值,进而生成目标发动机在第二电控系统下的目标标定数据。
参见图6,示出了本实施例步骤105的实施方式1的流程图,本实施方式可以包括:
步骤601、根据预设的所述第二电控系统的数据类型转换规则,将所述目标真实物理值转换成所述目标标定数据的目标实际存储值。
其中,第二电控系统的数据类型转换规则为第二电控系统标定而预设的。
步骤602、将所述目标标定数据的目标实际存储值生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
其中,在生成二进制代码数据文件的同时,还可以生成对应的A2L文件。
需要说明的是,本实施例中,原始标定数据和目标标定数据中的各个变量可以有两种,一种为单变量,一种为表格变量。其中表格变量采用数据表来存储,此时,每个表格变量的数据都对应数据表上的表格维数。而在生成二进制代码数据文件时,只有在目标标定数据中所有表格变量在转换前后的表格维数都相同时,才能直接生成二进制代码数据文件。而在原始标定数据中各个变量的原始真实物理值在转换成目标真实物理值的过程中,由于各个变量的转换规则可能不相同,所以各个变量的转换后的表格维数可能不同。而在各个变量的表格维数不同时,则各个变量的目标实际存储值需要进行编译之后,才能生成二进制代码数据文件。
本实施例为解决上述问题提供了一种步骤602的实施方式,应用于所述目标标定数据中包括表格变量的情况下,如图7所示,本实施例的步骤602的实施方式1可以包括:
步骤701、判断所述目标标定数据中所有表格变量在转换前后的表格维数是否均相同;如果是,进入步骤702,如果否,进入步骤703;
其中,步骤701之前可以先在步骤105的转换过程中,记录每个变量的表格维数在转换前后的表格维数是否相同的情况,这样,根据记录来判断是否有表格维数前后不一致的变量。
步骤702、将所述目标实际存储值生成所述目标发动机在第二电控系统下的二进制代码数据文件;
步骤703、将所述目标实际存储值生成目标数据源文件,并调用编译器对所述目标数据源文件进行编译,生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
返回图1,步骤106执行完成之后,本实施例的流程可以结束。
为了使系统升级完成后的目标发动机可以运行,本实施例在步骤106之后还可以包括:利用所述目标标定数据,在所述第二电控系统下对所述目标发动机进行控制。
可以理解的是,本实施例中的真实值转换规则、第一电控系统及第二电控系统的数据类型转换规则在预先设置之后,可以通过系统的规则修改单元来对其进行修改,以适应系统升级中可能发生的变化。
需要说明的是,为了使本实施例所实现的标定数据转换更加准确,因此,可以分别对每个系统升级中每种机型的发动机建立真实值转换规则,这样,目标发动机在系统升级时,根据所属机型的真实值转换规则来转换标定数据,从而使得目标标定数据更加准确。
通过本实施例的技术方案,对完成同一系统升级的发动机标定数据时,只需要进行一次通过重新标定建立标定数据的转换规则,而对于建立转换规则之后升级的发动机来说,只需要通过该转换规则就可以获取升级后的标定数据,而不再需要重新标定,从而可以避免对进行相同系统升级的每台发动机都重新进行标定,从而可以节省升级后获取发动机标定数据所消耗的资源和资源,进而可以节省发动机电控系统升级所消耗的资源和时间。
此外,在将转换而得的标定数据的实际存储值生成二进制代码数据文件时,由于考虑了各个变量的表格维数是否一致的问题,所以本实施例可以避免不能生成二进制代码数据文件的情况。
对应于方法实施例,本发明还提供了一种发动机电控系统中标定数据的转换装置。参见图8,示出了本发明发动机电控系统中标定数据的转换装置实施例1的结构图,本实施例的装置可以包括:
第一标定模块801,用于在第一电控系统下对初始发动机进行标定,得到第一标定数据;
第二标定模块802,用于在第二电控系统下对初始发动机进行标定,得到第二标定数据;
转换规则建立模块803,用于建立所述第一标定数据与所述第二标定数据之间的对应关系,并将所述对应关系确定为真实值转换规则;
原始真实值获取模块804,用于根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值;
原始真实值转换模块805,用于根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值;
目标标定数据生成模块806,用于根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据。
参见图9,示出了本发明装置实施例1中原始真实值获取模块804的实施例1的结构图,除了包括图8所示的所有结构外,其中原始真实值获取模块804可以包括:
原始二进制代码数据获取子模块901,用于获取目标发动机在第一电控系统下的原始标定数据的原始二进制代码数据文件和原始A2L文件;
第一原始实际值提取子模块902,用于从所述原始二进制代码数据文件中提取所述原始标定数据的原始实际存储值;
第一原始实际值解析子模块903,用于利用所述原始A2L文件对所述原始实际存储值进行解析,得到所述原始真实物理值。
参见图10,示出了本发明装置实施例1中原始真实值获取模块804的实施例2的结构图,除了包括图8所示的所有结构外,其中原始真实值获取模块804可以包括:
原始数据源获取子模块1001,用于获取目标发动机在第一电控系统下的原始标定数据的原始数据源文件;
第二原始实际值提取子模块1002,用于从所述原始数据源文件中提取所述原始标定数据的原始实际存储值;
第二原始实际值解析子模块1003,用于利用预设的所述第一电控系统的数据类型转换规则对所述原始实际存储值进行解析,得到所述原始真实物理值。
参见图11,示出了本发明装置实施例1中原始真实值获取模块804的实施例3的结构图,除了包括图8所示的所有结构外,其中原始真实值获取模块804可以包括:
原始DCM获取子模块1101,用于获取目标发动机在第一电控系统下的原始标定数据的原始DCM文件;
原始真实值提取子模块1102,用于从所述原始数据源文件中提取所述原始标定数据的原始真实物理值。
参见图12,示出了本发明装置实施例1中原始真实值转换模块805的一种结构图,除了包括图8所示的所有结构外,其中原始真实值转换模块805可以包括:
当前变量确定子模块1201,用于从所述原始标定数据中确定当前转换变量;
当前规则确定子模块1202,用于从所述真实值转换规则中确定所述当前转换变量对应的当前真实值转换规则;
当前真实值转换子模块1203,用于将所述当前转换变量的原始真实物理值按照所述当前真实值转换规则转换成目标真实物理值。
参见图13,示出了本发明装置实施例1中目标标定数据生成模块806的一种结构图,除了包括图8所示的所有结构外,其中目标标定数据生成模块806可以包括:
目标实际值生成子模块1301,用于根据预设的所述第二电控系统的数据类型转换规则,将所述目标真实物理值转换成所述目标标定数据的目标实际存储值;
目标二进制代码数据生成子模块1302,用于将所述目标标定数据的目标实际存储值生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
参见图14,示出了图13所示的目标标定数据生成模块806中目标二进制代码数据生成子模块1302的一种结构图,除了包括图13所示的所有结构外,所述目标标定数据中包括表格变量,其中目标二进制代码数据生成子模块1302可以包括:
目标判断子模块1401,用于判断所述目标标定数据所有表格变量在转换前后的表格维数是否均相同;
二进制代码数据直接生成子模块1402,用于在所述维数判断子模块1401的判断结果为是的情况下,将所述目标实际存储值生成所述目标发动机在第二电控系统下的二进制代码数据文件;
目标数据源生成子模块1403,用于在所述维数判断子模块1401的判断结果为否的情况下,将所述目标实际存储值生成目标数据源文件;
数据源编译子模块1404,用于调用编译器对所述目标数据源文件进行编译,生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
参见图15,示出了本发明发动机电控系统中标定数据的转换装置实施例2的结构图,除了包括图8所示的所有结构外,本实施例中的装置还可以包括:
控制模块1501,用于利用所述目标标定数据,在所述第二电控系统下对所述目标发动机进行控制。
采用本实施例的装置来对发动机标定数据,对完成同一系统升级的发动机标定数据时,只需要进行一次通过重新标定建立标定数据的转换规则,而对于建立转换规则之后升级的发动机来说,只需要通过该转换规则就可以获取升级后的标定数据,而不再需要重新标定,从而可以避免对进行相同系统升级的每台发动机都重新进行标定,从而可以节省升级后获取发动机标定数据所消耗的资源和资源,进而可以节省发动机电控系统升级所消耗的资源和时间。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种发动机电控系统中标定数据的转换方法,其特征在于,在第一电控系统下对初始发动机进行标定,得到第一标定数据;在第二电控系统下对初始发动机进行标定,得到第二标定数据;建立所述第一标定数据与所述第二标定数据之间的对应关系,并将所述对应关系确定为真实值转换规则;
所述方法包括:
根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值;
根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值;
根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据。
2.根据权利要求1所述的方法,其特征在于,所述根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值,包括:
获取目标发动机在第一电控系统下的原始标定数据的原始二进制代码数据文件和原始A2L文件;
从所述原始二进制代码数据文件中提取所述原始标定数据的原始实际存储值;
利用所述原始A2L文件对所述原始实际存储值进行解析,得到所述原始真实物理值。
3.根据权利要求1所述的方法,其特征在于,所述根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值,包括:
获取目标发动机在第一电控系统下的原始标定数据的原始数据源文件;
从所述原始数据源文件中提取所述原始标定数据的原始实际存储值;
利用预设的所述第一电控系统的数据类型转换规则对所述原始实际存储值进行解析,得到所述原始真实物理值。
4.根据权利要求1所述的方法,其特征在于,所述根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值,包括:
获取目标发动机在第一电控系统下的原始标定数据的原始DCM文件;
从所述原始DCM文件中提取所述原始标定数据的原始真实物理值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值,包括:
从所述原始标定数据中确定当前转换变量;
从所述真实值转换规则中确定所述当前转换变量对应的当前真实值转换规则;
将所述当前转换变量的原始真实物理值按照所述当前真实值转换规则转换成目标真实物理值。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据,包括:
根据预设的所述第二电控系统的数据类型转换规则,将所述目标真实物理值转换成所述目标标定数据的目标实际存储值;
将所述目标标定数据的目标实际存储值生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
7.根据权利要求6所述的方法,其特征在于,所述目标标定数据中包括表格变量,所述将所述目标标定数据的目标实际存储值生成所述第二电控系统的二进制代码数据文件,包括:
判断所述目标标定数据中所有表格变量在转换前后的表格维数是否均相同;
如果是,则将所述目标实际存储值生成所述目标发动机在第二电控系统下的二进制代码数据文件;
如果否,则将所述目标实际存储值生成目标数据源文件,并调用编译器对所述目标数据源文件进行编译,生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
8.根据权利要求1~7任意一项所述的方法,其特征在于,所述根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据之后,还包括:
利用所述目标标定数据,在所述第二电控系统下对所述目标发动机进行控制。
9.一种发动机电控系统中标定数据的转换装置,其特征在于,包括:
第一标定模块,用于在第一电控系统下对初始发动机进行标定,得到第一标定数据;
第二标定模块,用于在第二电控系统下对初始发动机进行标定,得到第二标定数据;
转换规则建立模块,用于建立所述第一标定数据与所述第二标定数据之间的对应关系,并将所述对应关系确定为真实值转换规则;
原始真实值获取模块,用于根据获取的目标发动机在所述第一电控系统下的原始标定数据,得到所述原始标定数据的原始真实物理值;
原始真实值转换模块,用于根据所述真实值转换规则,将所述原始真实物理值转换成目标真实物理值;
目标标定数据生成模块,用于根据所述目标真实物理值生成所述目标发动机在所述第二电控系统下的目标标定数据。
10.根据权利要求9所述的装置,其特征在于,所述原始真实值获取模块包括:
原始二进制代码数据获取子模块,用于获取目标发动机在第一电控系统下的原始标定数据的原始二进制代码数据文件和原始A2L文件;
第一原始实际值提取子模块,用于从所述原始二进制代码数据文件中提取所述原始标定数据的原始实际存储值;
第一原始实际值解析子模块,用于利用所述原始A2L文件对所述原始实际存储值进行解析,得到所述原始真实物理值。
11.根据权利要求9所述的装置,其特征在于,所述原始真实值获取模块包括:
原始数据源获取子模块,用于获取目标发动机在第一电控系统下的原始标定数据的原始数据源文件;
第二原始实际值提取子模块,用于从所述原始数据源文件中提取所述原始标定数据的原始实际存储值;
第二原始实际值解析子模块,用于利用预设的所述第一电控系统的数据类型转换规则对所述原始实际存储值进行解析,得到所述原始真实物理值。
12.根据权利要求9所述的装置,其特征在于,所述原始真实值获取模块包括:
原始DCM获取子模块,用于获取目标发动机在第一电控系统下的原始标定数据的原始DCM文件;
原始真实值提取子模块,用于从所述原始数据源文件中提取所述原始标定数据的原始真实物理值。
13.根据权利要求9所述的装置,其特征在于,所述原始真实值转换模块包括:
当前变量确定子模块,用于从所述原始标定数据中确定当前转换变量;
当前规则确定子模块,用于从所述真实值转换规则中确定所述当前转换变量对应的当前真实值转换规则;
当前真实值转换子模块,用于将所述当前转换变量的原始真实物理值按照所述当前真实值转换规则转换成目标真实物理值。
14.根据权利要求9所述的装置,其特征在于,所述目标标定数据生成模块包括:
目标实际值生成子模块,用于根据预设的所述第二电控系统的数据类型转换规则,将所述目标真实物理值转换成所述目标标定数据的目标实际存储值;
目标二进制代码数据生成子模块,用于将所述目标标定数据的目标实际存储值生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
15.根据权利要求14所述的装置,其特征在于,所述目标标定数据中包括表格变量,所述目标二进制代码数据生成子模块包括:
目标判断子模块,用于判断所述目标标定数据所有表格变量在转换前后的表格维数是否均相同;
二进制代码数据直接生成子模块,用于在所述维数判断子模块的判断结果为是的情况下,将所述目标实际存储值生成所述目标发动机在第二电控系统下的二进制代码数据文件;
目标数据源生成子模块,用于在所述维数判断子模块的判断结果为否的情况下,将所述目标实际存储值生成目标数据源文件;
数据源编译子模块,用于调用编译器对所述目标数据源文件进行编译,生成所述目标发动机在所述第二电控系统下的二进制代码数据文件。
16.根据权利要求8~15任意一项所述的装置,其特征在于,还包括:
控制模块,用于利用所述目标标定数据,在所述第二电控系统下对所述目标发动机进行控制。
CN201210583171.2A 2012-12-28 2012-12-28 一种发动机电控系统中标定数据的转换方法和装置 Active CN103064410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210583171.2A CN103064410B (zh) 2012-12-28 2012-12-28 一种发动机电控系统中标定数据的转换方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210583171.2A CN103064410B (zh) 2012-12-28 2012-12-28 一种发动机电控系统中标定数据的转换方法和装置

Publications (2)

Publication Number Publication Date
CN103064410A true CN103064410A (zh) 2013-04-24
CN103064410B CN103064410B (zh) 2015-09-09

Family

ID=48107071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210583171.2A Active CN103064410B (zh) 2012-12-28 2012-12-28 一种发动机电控系统中标定数据的转换方法和装置

Country Status (1)

Country Link
CN (1) CN103064410B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408248A (zh) * 2014-11-26 2015-03-11 宁波威孚天力增压技术有限公司 一种基于matlab的发动机与增压器的自动匹配方法
CN104850570A (zh) * 2014-08-29 2015-08-19 北汽福田汽车股份有限公司 A2l文件自动生成方法及系统
CN109255105A (zh) * 2018-09-29 2019-01-22 潍柴动力股份有限公司 一种ecu数据标定方法及装置
CN111159980A (zh) * 2019-12-30 2020-05-15 潍柴动力股份有限公司 数据转换的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020035440A1 (en) * 2000-09-20 2002-03-21 Unisia Jecs Corporation System and method for calibrating control unit
CN101063428A (zh) * 2007-05-11 2007-10-31 北京交通大学 一种燃气发动机电控系统的标定装置及控制方法
CN101266495A (zh) * 2008-04-23 2008-09-17 北京理工大学 一种电控单元的测试方法和装置
CN102787932A (zh) * 2012-08-28 2012-11-21 江西直方数控动力有限公司 基于串行通信的电控柴油发动机匹配标定装置和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020035440A1 (en) * 2000-09-20 2002-03-21 Unisia Jecs Corporation System and method for calibrating control unit
CN101063428A (zh) * 2007-05-11 2007-10-31 北京交通大学 一种燃气发动机电控系统的标定装置及控制方法
CN101266495A (zh) * 2008-04-23 2008-09-17 北京理工大学 一种电控单元的测试方法和装置
CN102787932A (zh) * 2012-08-28 2012-11-21 江西直方数控动力有限公司 基于串行通信的电控柴油发动机匹配标定装置和方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850570A (zh) * 2014-08-29 2015-08-19 北汽福田汽车股份有限公司 A2l文件自动生成方法及系统
CN104408248A (zh) * 2014-11-26 2015-03-11 宁波威孚天力增压技术有限公司 一种基于matlab的发动机与增压器的自动匹配方法
CN109255105A (zh) * 2018-09-29 2019-01-22 潍柴动力股份有限公司 一种ecu数据标定方法及装置
CN109255105B (zh) * 2018-09-29 2023-04-18 潍柴动力股份有限公司 一种ecu数据标定方法及装置
CN111159980A (zh) * 2019-12-30 2020-05-15 潍柴动力股份有限公司 数据转换的方法和装置
CN111159980B (zh) * 2019-12-30 2023-11-17 潍柴动力股份有限公司 数据转换的方法和装置

Also Published As

Publication number Publication date
CN103064410B (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
CN110795455B (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
CN102521254B (zh) 异构数据库的统一访问方法
Czyzyk et al. PCx user guide
US9164742B2 (en) Method and a system for searching for parts of a computer program which affects a given symbol
CN102141990A (zh) 一种搜索方法和装置
CN110309125A (zh) 数据校验方法、电子装置及存储介质
CN111736954B (zh) 多智能合约虚拟机实现方法、多智能合约虚拟机及系统
US20070185851A1 (en) Generating Queries Using Cardinality Constraints
CN103064410A (zh) 一种发动机电控系统中标定数据的转换方法和装置
CN105809309A (zh) 一种电力系统安控策略仿真系统及其仿真方法
CN104424018A (zh) 分布式计算事务处理方法及装置
CN104461625A (zh) 一种热补丁实现方法和系统
CN106547527A (zh) 一种JavaScript文件构建方法及装置
CN103186455A (zh) 页面自动化测试脚本生成方法及系统
CN101739258A (zh) Aadl模型的自动代码生成方法
US20210406281A1 (en) Data configuration query method and device
CN104461531A (zh) 一种报表系统自定义函数的实现方法
CN101655942A (zh) 业务协同流程配置、业务协同方法及装置
CN104361040A (zh) 一种定制查询的方法及装置
CN108460068A (zh) 报表导入导出的方法、装置、存储介质及终端
CN112148343A (zh) 规则发布方法、装置及终端设备
CN101499015A (zh) 一种高级语言转换成其它高级语言的方法及转换器
CN106933591A (zh) 代码合并的方法及装置
CN112947960A (zh) 一种基于机器学习的风险模型部署方法及系统
CN108874954A (zh) 一种数据库查询的优化方法、介质及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant