CN117687626B - 一种上位机和主程序匹配系统及方法 - Google Patents
一种上位机和主程序匹配系统及方法 Download PDFInfo
- Publication number
- CN117687626B CN117687626B CN202410154470.7A CN202410154470A CN117687626B CN 117687626 B CN117687626 B CN 117687626B CN 202410154470 A CN202410154470 A CN 202410154470A CN 117687626 B CN117687626 B CN 117687626B
- Authority
- CN
- China
- Prior art keywords
- product type
- value
- register
- main program
- access product
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000006870 function Effects 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 3
- 238000004883 computer application Methods 0.000 abstract description 2
- 238000004146 energy storage Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本申请的实施例涉及计算机应用技术领域,并提供一种上位机和主程序匹配系统及方法,其包括上位机、主程序和寄存器;主程序用于:获取项目的第一配置文件;根据第一配置文件和预设的键值关系得到主程序接入的产品类型对应的产品类型值;根据产品类型值生成寄存器值,并将寄存器值写入寄存器;上位机用于:获取第二配置文件;读取寄存器得到寄存器值;根据第二配置文件对寄存器值进行解析,得到寄存器值对应的产品类型;根据产品类型匹配对应的用户界面。本申请具有减少上位机和主程序的开发数量的效果。
Description
技术领域
本申请涉及计算机应用技术的领域,尤其是涉及一种上位机和主程序匹配系统及方法。
背景技术
目前在储能项目中,主程序和上位机的设计和开发是非常重要的环节,需要充分考虑到设备的特性和工作环境,确保设备的稳定性和可靠性,同时也需要与其他系统进行对接,实现数据的互通和共享,以确保项目的顺利进行和设备的高效运行。
相关技术中,储能公司一个项目都需要至少一个上位机和配套的主程序,主程序用于接入项目所需产品,例如电池管理系统(Battery Management System,BMS)、电力转换系统(Power Conversion System,PCS)和电池控制单元(Battery Control Unit,BCU)等产品,上位机用于运行与产品匹配的用户界面,从而实现对储能项目运行状态的监测和管理,保证设备的安全稳定运行。
然而,发明人认识到,在实际使用中,上述方法存在缺陷有:当有多个项目时,为满足不同项目的需求,则需要针对每个项目开发对应的上位机和配套的主程序,因此导致开发的上位机和主程序过多。
发明内容
本申请一个或者多个实施例提供一种上位机和主程序匹配系统,以解决或者至少部分上缓解相关技术中的上位机和主程序的开发数量过多问题。
本申请的第一方面,提供一种上位机和主程序匹配系统,采用如下的技术方案:
一种上位机和主程序匹配系统,包括上位机、主程序和寄存器;
所述主程序用于:
获取项目的第一配置文件;
根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值;
根据所述接入产品类型值生成寄存器值,并将所述寄存器值写入所述寄存器;
所述上位机用于;
获取预设的第二配置文件;
读取所述寄存器得到所述寄存器值;
根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型;
根据所述接入产品类型匹配对应的用户界面。
通过上述技术方案,可在第一操作系统,例如Linux系统中的主程序读取第一配置文件,得到储能项目需要接入主程序的产品对应的产品类型,即接入产品类型,从而根据接入产品类型运行相应的产品和逻辑,避免针对每个产品类型都要开发对应的主程序,减少了主程序的开发数量,便于软件的管理和协调,主程序通过读取第一配置文件内容,得到当前项目需要的接入产品类型,进一步通过预设的键值关系,将接入产品类型转换为对应的接入产品类型值,通过简洁的数值表示需要的接入产品类型,从而方便数据传输和运算,根据接入产品类型值生成寄存器值,并将寄存器值写入对应的寄存器中,通过将数据存入寄存器,可以将Linux系统中的数据进行传递,使第二操作系统,例如Windows系统中的上位机通过读取寄存器中的寄存器值,并根据第二配置文件中固化的协议,对得到的寄存器值进行解析,得到对应的接入产品类型,即主程序当前接入的产品类型,从而使上位机根据主程序接入的产品类型匹配对应的用户界面,最终使上位机和主程序根据项目需求共同匹配对应的接入产品类型,避免了不同的项目都需开发对应的上位机和配套的主程序,有效地降低了上位机和主程序的开发数量,提高了系统整体的运行速度和数据处理的灵活性,减少了重复数据造成的冗余,降低系统运行负担,并且还可以根据用户的需求匹配对应的用户界面,通过该用户界面可以使用户获取到更好的人机交互体验。
在其中一个实施例中,所述根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值,包括:
获取预设的键值对数据,所述键值对数据包括全部产品类型和对应的产品类型值的键值关系;
读取所述第一配置文件,得到所述主程序接入的产品对应的所述接入产品类型;
根据所述接入产品类型和所述键值关系,得到所述接入产品类型对应的所述接入产品类型值。
在其中一个实施例中,所述读取所述第一配置文件,得到所述主程序接入的产品对应的所述接入产品类型,包括:
调取所述第一操作系统中的读取函数;
通过所述读取函数,读取所述第一配置文件得到所述接入产品类型。
在其中一个实施例中,所述根据所述接入产品类型值生成寄存器值,包括:
将全部所述接入产品类型值转换为二进制数值;
将全部所述二进制数值合并,得到二进制编码;
将所述二进制编码转换为十六进制编码,得到所述寄存器值。
在其中一个实施例中,所述将所述寄存器值写入所述寄存器,包括:
调取第一操作系统中的写入函数;
通过所述写入函数,并将所述寄存器值写入所述寄存器。
在其中一个实施例中,所述根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型,包括:
将所述寄存器值进行二进制转换,得到寄存器二进制编码;
根据所述寄存器二进制编码,得到所述寄存器值对应的所述接入产品类型值;
根据所述接入产品类型值和所述第二配置文件,得到对应的所述接入产品类型。
在其中一个实施例中,所述根据所述寄存器二进制编码,得到所述寄存器值对应的所述接入产品类型值,包括:
根据预设的拆分规则将所述二进制编码拆分成多个拆分二进制值;
将所述拆分二进制值转换为十进制,得到所述接入产品类型值。
在其中一个实施例中,所述根据所述接入产品类型值和所述第二配置文件,得到对应的所述接入产品类型,包括:
根据所述第二配置文件,得到全部所述产品类型值和对应的所述产品类型的键值关系;
根据所述接入产品类型值和所述键值关系,得到所述接入产品类型。
在其中一个实施例中,所述用户界面包括显示内容、皮肤和语言;所述根据所述产品类型匹配对应的用户界面,包括:
获取全部预设的所述显示内容、所述皮肤和所述语言;
根据所述接入产品类型选取所述用户界面的所述显示内容、所述皮肤和所述语言。
本申请的第二方面,提供一种上位机和主程序匹配方法,采用如下的技术方案:
一种上位机和主程序匹配方法,包括:
主程序获取项目的第一配置文件;
根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值;
根据所述接入产品类型值生成寄存器值,并将所述寄存器值写入寄存器;
上位机获取预设的第二配置文件;
读取所述寄存器得到所述寄存器值;
根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型;
根据所述接入产品类型匹配对应的用户界面。
与相关技术相比,本申请一个或者多个实施例包括以下至少一种有益技术效果与上述上位机和主程序匹配系统具有相近似的技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例的附图做简单的介绍,显而易见地,下面描述中的附图仅仅涉及本申请的一些实施例,而非对本申请的限制。
图1为根据本申请一些实施方式的一种上位机和主程序匹配系统的结构示意图。
图2为根据本申请一些实施方式的一种上位机和主程序匹配方法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合显示出根据本申请的多个实施方式的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,应当可以理解的是,所描述的实施方式仅是本申请的一部分实施方式,而不是全部的实施方式。基于本申请中记载的实施方式,本领域普通技术人员在不用花费创造性劳动的前提下所获得的所有其他实施方式,都将属于本申请保护的范围。
除非另有定义,本申请所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本申请中在申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”、“包含”、“有”、“具有”、“含有”、“含”等为开放式的用词。因此,“包括”、“包含”、“有”例如一个或多个步骤或元件的一种方法或装置,其具有一个或多个步骤或元件,但不限于仅具有这一个或多个元件。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序或主次关系。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请中提及“实施方式”意味着,结合实施方式描述的特定特征、结构或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施方式可以与其它实施方式相结合。
如上所述,应当强调,当在本说明书中使用术语“包括/包含”时,用于明确表明表示所述特征、整数、步骤或组件的存在,但不排除存在或添加一个或更多个其他特征、整数、步骤、部件或成组的特征、整数、步骤、部件。如本申请所用,单数形式“一个”、“一”和“该”也包括复数形式,除非上下文另有明确指示。
本说明书中的用词“一”、“一个”可以表示一个,但也可与“至少一个”或“一个或多个”的含义一致。术语“约”一般表示提及的数值加上或减去10%,或更具体地是加上或减去5%。在权利要求书中使用的术语“或”,除非明确表示其仅指可替代的方案,否则其表示“和/或”的意思。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为根据本申请一些实施方式的一种上位机和主程序匹配系统的结构示意图。
本申请的一个或者多个实施例公开一种上位机和主程序匹配系统。参照图1,一种上位机和主程序匹配系统,包括上位机、主程序和寄存器,所述主程序运行在第一操作系统中,所述上位机运行在第二操作系统中。
具体地,主程序用于接入储能项目需要的产品,例如BMS、PCS和BCU等产品,通过接入的产品实现对储能项目的监测和控制,例如通过运行BMS产品实现对储能系统的电池进行监测和管理,主程序通过读取预先写好的配置文件得到该项目主程序需要接入的产品类型,并运行相应的产品类型的产品,例如配置文件中BCU的产品类型的值为B,则说明该项目需要接入主程序的BCU产品的类型为B,上位机用于运行对应的用户界面,用户通过上位机的用户界面实现对储能项目接入产品的管控。
进一步地,主程序运行在第一操作系统中,例如将主程序运行在linux系统中,由于Linux系统的可靠性和稳定性,主程序运行在Linux系统中可以确保项目需要的产品可以安全稳定地运行,并且由于Linux系统对系统资源的管理和调度相对较好,能够更好地利用硬件资源,提高系统的性能和效率,而上位机运行在第二操作系统中,例如运行在Windows系统中,由于Windows系统具有良好的用户界面、硬件兼容性、开发工具和软件生态系统,适合作为上位机软件的运行平台。但是,由于不同的系统之间的不兼容性,造成上位机和主程序无法协同工作,即无法共同匹配需要接入的产品类型,因此需要通过寄存器进行中间过渡,传递接入产品类型等数据信息,从而是上位机和主程序可以实现协同工作,共同匹配项目需要接入的产品类型。
所述主程序用于:获取项目的第一配置文件。
具体地,根据不同的项目的客户需求生成对应的配置文件,即第一配置文件,例如以初始化(Initialization)文件作为第一配置文件,根据客户的需求,将项目需要接入主程序的产品类型、ip、端口号等信息写入第一配置文件中,主程序通过读取该第一配置文件,可以得到该项目需要接入的产品类型,从而得到需要运行的产品的具体产品类型和运行的逻辑。
根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值。
具体地,在Linux系统中,主程序读取预先写好的第一配置文件,得到配置文件中的接入产品类型,即该项目需要接入主程序的产品类型,例如BCU产品的类型有两种A和B,通过读取第一配置文件得到的接入产品类型为B,通过键值关系或者预设的匹配关系,得到得到BCU产品的B类型对应的接入产品类型值,例如设定BCU产品的A类型为0,B类型为1,则得到主程序接入的BCU产品的产品类型值为1,说明当前接入的BCU产品类型是B。
根据所述产品类型值生成寄存器值,并将所述寄存器值写入所述寄存器。
示例性地,当上位机运行在Windows系统中,主程序运行在Linux系统中,而由于Windows系统和Linux系统相互不兼容,因此,需要将主程序中得到的接入产品类型对应的接入产品类型值进行转换,将转换后得到的寄存器值写入寄存器中,使上位机可以通过读取寄存器中的数据获取到转换后的寄存器值,根据约定好的通信协议进行数据传递和解析,使上位机最终匹配与主程序相同的接入产品类型,例如储能项目需要接入的BCU产品的产品类型为B,则通过键值关系得到对应的BCU产品的产品类型值为1,从而得到对应的寄存器的值也为1,该寄存器值根据预先约定的通信协议和对应的产品类型值生成,当主程序接入同一产品类型时,约定的通信协议可以约定寄存器值和接入产品类型值一致,即生成的寄存器值和产品类型值一致,而当主程序接入多个不同产品类型时,根据预设的约定规则可以将多个产品类型值同和成一个对应的寄存器值,根据该寄存器值和对应的通信协议规则可以使上位机解析出主程序接入的全部接入产品类型,然后将该寄存器值向约定好的BCU产品对应的0x0011寄存器写入1或者写入融合后的寄存器值,上位机通过读取0x0011寄存器。
所述上位机用于:获取预设的第二配置文件;
具体地,将预先约定好的通信协议固化到第二配置文件中,该第二配置文件中包括可以接入主程序的全部产品类型和对应的产品类型值等信息,例如将其固化到数据交换格式(JavaScript Object Notation,JSON)文件中,JSON是一种轻量级的数据交换格式,JSON格式常用于前后端之间的数据交换,也经常用于存储和传输结构化数据,第二配置文件中包括不同的寄存器中写入的寄存器值对应的接入产品类型,例如0x0011寄存器中BCU产品的产品类型A对应的值为0,产品类型B对应的值为1;0x0012寄存器中PSC产品的产品类型H对应的值为0,产品类型I对应的值为1。
读取所述寄存器得到所述寄存器值。
具体地,上位机通过读取约定好的寄存器中的数据,得到具体的寄存器值,该寄存器值为主程序写入该寄存器中的寄存器值。
根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型。
具体地,根据寄存器值得到产品类型值,即主程序接入的产品类型,根据该产品类型值和第二配置文件中固化的通信协议,即产品类型值和产品类型匹配关系,得到对应的产品类型,该匹配关系与预设的键值关系相对应,从而可以使上位机和主程序根据相同的产品类型值共同确定当前项目需要使用的产品类型,即Linux系统中主程序接入的产品类型,例如0x0011寄存器中存储的是BCU产品的产品类型值,当读取到0x0011寄存器中的寄存器值为1时,由于则说明接入主程序的BCU产品的产品类型为B。
根据所述接入产品类型匹配对应的用户界面。
具体地,上位机根据得到的接入产品类型,选择该接入产品类型对应的运行的功能、显示内容、皮肤和语言等内容,并通过选择的内容生成对应的用户界面,该用户界面还可以进行预先设定,例如根据不同的产品类型或产品类型组合设定固定的用户界面,该用户界面已经预先设定好需要运行的功能、显示的内容、皮肤和语言等,用户可以通过该用户界面得到接入产品类型的监测到的储能项目的监测数据。
在一些实施例中,可在第一操作系统,例如Linux系统中的主程序读取第一配置文件,得到储能项目需要接入主程序的产品对应的产品类型,即接入产品类型,从而根据接入产品类型运行相应的产品和逻辑,避免针对每个产品类型都要开发对应的主程序,减少了主程序的开发数量,便于软件的管理和协调,主程序通过读取第一配置文件内容,得到当前项目需要的接入产品类型,进一步通过预设的键值关系,将接入产品类型转换为对应的接入产品类型值,通过简洁的数值表示需要的接入产品类型,从而方便数据传输和运算,根据接入产品类型值生成寄存器值,并将寄存器值写入对应的寄存器中,通过将数据存入寄存器,可以将Linux系统中的数据进行传递,使第二操作系统,例如Windows系统中的上位机通过读取寄存器中的寄存器值,并根据第二配置文件中固化的协议,对得到的寄存器值进行解析,得到对应的接入产品类型,即主程序当前接入的产品类型,从而使上位机根据主程序接入的产品类型匹配对应的用户界面,最终使上位机和主程序根据项目需求共同匹配对应的接入产品类型,避免了不同的项目都需开发对应的上位机和配套的主程序,有效地降低了上位机和主程序的开发数量,提高了系统整体的运行速度和数据处理的灵活性,减少了重复数据造成的冗余,降低系统运行负担,并且还可以根据用户的需求匹配对应的用户界面,通过该用户界面可以使用户获取到更好的人机交互体验。
在一些实施例中,所述根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值,包括:
获取预设的键值对数据,所述键值对数据包括全部产品类型和对应的产品类型值的键值关系;
读取所述第一配置文件,得到所述主程序接入的产品对应的所述接入产品类型;
根据所述接入产品类型和所述键值关系,得到所述接入产品类型对应的所述接入产品类型值。
具体地,通过预先设定的产品类型值和产品类型的关系生成键值对数据,主程序通过获取键值对数据,得到每种产品的产品类型对应产品类型值的关系,即每种产品类型对应一个产品类型值,主程序通过读取第一匹配文件,得到需要接入主程序接入的产品类型,即接入产品类型,根据接入产品类型选择需要运行对应的产品类型和相关的逻辑,并且根据接入产品类型,通过键值关系,查找键值对数据中与该接入的产品类型对应的产品类型值,从而得到接入产品类型值。
在至少一个实施例中,通过键值对数据将接入产品类型转换为对应的接入产品类型值,通过数值进行数据传输,传递的数据更直观简洁,减少了数据传输量,提高了数据传输的效率。
在一些实施例中,所述读取所述第一配置文件,得到所述主程序接入的产品对应的所述接入产品类型,包括:
调取所述第一操作系统中的读取函数;
通过所述读取函数,读取所述第一配置文件得到所述接入产品类型。
具体地,当主程序读取第一配置文件时,调取第一操作系统中的读取函数,例如在Linux系统中,调取Linux系统中的读取函数,首先将CPU模式从用户态切换到内核态,内核根据进程文件符表,找到第一配置文件的位置信息,内核根据该位置信息找到对应的文件,并将第一配置文件中的数据,即产品类型的数据信息复制到用户空间缓冲区,从而得到接入产品类型的数据。
示例性地,在Linux系统中,读取函数read()的处理流程包括:应用程序(Application)调用读取函数,CPU模式从用户态切换到内核态;内核根据进程文件符表,找到对应的文件结构体,即第一配置文件,从而找到此文件的节点(inode)编号;内核(Kernel)将缓冲器(buf)和技术(count)参数、以及对应文件指针位置等信息传递给磁盘驱动程序(Device Driver);驱动(Driver)将请求的数据从Disk Device中直接通过内存存取系统(Direct Memory Access,DMA)复制到内核页面缓存缓冲区(Kernel Page CacheBuffer)中;Kernel将数据从Kernel Page Cache Buffer中通过CPU复制到用户空间缓冲区(Userspace Buffer)中,其中Application不能直接访问内核地址(Kernel space);读取函数最终返回读取的字节数或错误代码给Application,CPU模式从内核态切换到用户态。
在至少一个实施例中,通过对第一配置文件进行读取,得到当前项目需要接入主程序的接入产品类型,从而使不同的项目可以使用同一个主程序,主程序通过不同项目的第一配置文件,确定需要接入的产品类型,有效的减少了主程序的开发数量,方便软件管理。
在一些实施例中,所述根据所述接入产品类型值生成寄存器值,包括:
将全部所述接入产品类型值转换为二进制数值;
将全部所述二进制数值合并,得到二进制编码;
将所述二进制编码转换为十六进制编码,得到所述寄存器值。
在一些实施例中,所述将所述寄存器值写入所述寄存器,包括:
调取第一操作系统中的写入函数;
通过所述写入函数,并将所述寄存器值写入所述寄存器。
示例性地,一个项目的主程序需要接入5个型号的BCU产品,即5个不同的BCU产品的接入产品类型,其中,接入产品类型分别为:产品类型A、产品类型B、产品类型C、产品类型D和产品类型E,就需要一种复杂的算法,向一个寄存器写入多个产品类型,按照上位机和主程序预设的约定的规则,首先根据接入产品类型和约定的键值对数据,得到每个接入产品类型对应的接入产品类型值,即A=0,B=1,C=2,D=3,E=5,再将对应的接入产品类型值转化为二进制,得到A=000,B=001,C=010,D=011,E=100;将5个产品类型的二进制数字融合为一个16比特位数字,即二进制编码,末位补0,得到的二进制编码为0000010100111000,再将其转化为十六进制编码为0x0538,通过Linux系统中的写入函数,将0x0538写入0x0011的寄存器中,其中,0x0011为寄存器的编号,在这里值存放BCU产品对应的寄存器值。
进一步地,通过调取第一操作系统中的写入函数,将寄存器值写入寄存器中,例如在Linux系统中,通过写入函数write()将寄存器值写入到对应的寄存器中,其中,写入函数write()的处理流程包括:通过Application调用写入函数,CPU模式从用户态切换到内核态;Kernel根据内存数据(socket buffer)查表,找到对应的file结构体(套接字文件),从而找到该用户进程和内核网络协议栈之间的编程接口(Socket)的网络传输(sock)结构体;Kernel将buf和count参数、以及文件指针位置等信息传递给网卡驱动程序(DeviceDriver);Device Driver将请求的数据从Userspace Buffer中CPU复制到内核套接字缓冲区(Kernel Socket Buffer)中;Kernel将数据从Kernel Socket Buffer中DMA复制到网卡装置(Network Interface Card Device);写入函数最终返回写入的字节数或错误代码给Application,CPU模式从内核态切换到用户态。
在至少一个实施例中,通过将全部接入主程序的接入产品类型值转换成对应的二进制数值,再将全部二进制融合生成二进制编码,通过该二进制编码同时融合多个需要接入主程序的接入产品类型,最后为了计算和存储数据方便,将二进制编码转换为更简短的十六进制编码,并将该十六进制编码作为寄存器值写入寄存器中,通过将多个接入产品类型值进行合并和转换,将多个接入产品类型值转换为简短的十六进制数值,从而使数据的传递更加简洁,避免了多组数据反复传输,提高了数据的传输速度和系统运行效率。
在一些实施例中,所述根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型,包括:
将所述寄存器值进行二进制转换,得到寄存器二进制编码;
根据所述寄存器二进制编码,得到所述寄存器值对应的所述接入产品类型值;
根据所述接入产品类型值和所述第二配置文件,得到对应的所述接入产品类型。
在一些实施例中,所述根据所述寄存器二进制编码,得到所述寄存器值对应的所述接入产品类型值,包括:
根据预设的拆分规则将所述二进制编码拆分成多个拆分二进制值;
将所述拆分二进制值转换为十进制,得到所述接入产品类型值。
在一些实施例中,所述根据所述接入产品类型值和所述第二配置文件,得到对应的所述接入产品类型,包括:
根据所述第二配置文件,得到全部所述产品类型值和对应的所述产品类型的键值关系;
根据所述接入产品类型值和所述键值关系,得到所述接入产品类型。
示例性地,上位机读取寄存器得到主程序写入的寄存器值,即得到十六进制编码为0x0538,然后根据对应的预设的拆分规则对该十六进制编码进行解析运算:先右移1位,和0x7做与运算,得到4,根据第二配置文件可知,4对应的BCU产品类型为E;再右移3位,和0x7做与运算,得到3,根据第二配置文件可知,3对应的BCU产品类型为D;再右移3位,和0x7做与运算,得到2,根据第二配置文件可知,2对应的BCU产品类型为C;再右移3位,和0x7做与运算,得到1,根据第二配置文件可知,1对应的BCU产品类型为B;再右移3位,和0x7做与运算,得到0,根据第二配置文件可知,0对应的BCU产品类型为A。
进一步地,当主程序接入的是同一个产品类型,则该寄存器值对应第二匹配文件中产品类型值一致,例如当寄存器值为1时,根据对应的第二匹配文件,得到1对应的BCU产品类型为B。
在至少一个实施例中,通过对读取的寄存器值进行解析,得到主程序接入的每个接入产品类型值,根据第二匹配值文件进一步得到每个接入产品类型值对应的具体的接入产品类型,通过寄存器值得到对应的主程序接入的接入产品类型,从而使上位机和主程序根据项目需求同时匹配相同的接入产品类型。
在一些实施例中,所述用户界面包括显示内容、皮肤和语言;所述根据所述产品类型匹配对应的用户界面,包括:
获取全部预设的所述显示内容、所述皮肤和所述语言;
根据所述接入产品类型选取所述用户界面的所述显示内容、所述皮肤和所述语言。
具体地,获取预先设定好的所有产品类型或者多个产品类型组合分别对应的显示内容信息,用户界面的皮肤选择,以及对应用户选择的用户界面中的语言,根据上位机确定当前接入产品类型后,从而得到当前接入产品类型或者接入产品类型组合对应的用户界面预设的显示内容信息,用户界面的皮肤选择,以及对应用户选择的用户界面中的语言。
在至少一个实施例中,上位机确定当前产品类型后,调用不同的JSON文件、层叠样式表(Cascading Style Sheets,CSS)文件和翻译(translate)文件,解决了不同项目用户界面显示不同内容、皮肤、语言,运行不同的功能的问题,可以实现每个项目、每个产品、甚至每个客户定制化的效果,从而满足用户喜好设置用户界面,提高了用户的体验。
本申请一个或者多个实施例还公开一种上位机和主程序匹配方法。参照图2,一种上位机和主程序匹配方法,包括:
主程序获取项目的第一配置文件;
根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值;
根据所述接入产品类型值生成寄存器值,并将所述寄存器值写入寄存器;
上位机获取预设的第二配置文件;
读取所述寄存器得到所述寄存器值;
根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型;
根据所述接入产品类型匹配对应的用户界面。
本申请提供的上位机和主程序匹配方法与上述上位机和主程序匹配系统具有相近似的技术效果,在此不再赘述。
以上描述了本申请的基本原理、主要特征和本申请的优点。本行业的技术人员应该了解,本申请不受上述实施例的限制,上述实施例和说明书中描述的只是本申请的原理,在不脱离本申请精神和范围的前提下本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请的范围内。本申请要求的保护范围由所附的权利要求书及其等同物界定。
Claims (9)
1.一种上位机和主程序匹配系统,其特征在于,包括上位机、主程序和寄存器,所述主程序运行在第一操作系统中,所述上位机运行在第二操作系统中;
所述主程序用于:
获取项目的第一配置文件;
根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值;
根据所述接入产品类型值生成寄存器值,并将所述寄存器值写入所述寄存器;
所述上位机用于:
获取预设的第二配置文件;
读取所述寄存器得到所述寄存器值;
根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型;
根据所述接入产品类型匹配对应的用户界面;
所述根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值,包括:获取预设的键值对数据,所述键值对数据包括全部产品类型和对应的产品类型值的键值关系;读取所述第一配置文件,得到所述主程序接入的产品对应的所述接入产品类型;根据所述接入产品类型和所述键值关系,得到所述接入产品类型对应的所述接入产品类型值。
2.如权利要求1所述的上位机和主程序匹配系统,其特征在于,所述读取所述第一配置文件,得到所述主程序接入的产品对应的所述接入产品类型,包括:
调取所述第一操作系统中的读取函数;
通过所述读取函数,读取所述第一配置文件得到所述接入产品类型。
3.如权利要求1所述的上位机和主程序匹配系统,其特征在于,所述根据所述接入产品类型值生成寄存器值,包括:
将全部所述接入产品类型值转换为二进制数值;
将全部所述二进制数值合并,得到二进制编码;
将所述二进制编码转换为十六进制编码,得到所述寄存器值。
4.如权利要求1所述的上位机和主程序匹配系统,其特征在于,所述将所述寄存器值写入所述寄存器,包括:
调取第一操作系统中的写入函数;
通过所述写入函数,并将所述寄存器值写入所述寄存器。
5.如权利要求1所述的上位机和主程序匹配系统,其特征在于,所述根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型,包括:
将所述寄存器值进行二进制转换,得到寄存器二进制编码;
根据所述寄存器二进制编码,得到所述寄存器值对应的所述接入产品类型值;
根据所述接入产品类型值和所述第二配置文件,得到对应的所述接入产品类型。
6.如权利要求5所述的上位机和主程序匹配系统,其特征在于,所述根据所述寄存器二进制编码,得到所述寄存器值对应的所述接入产品类型值,包括:
根据预设的拆分规则将所述二进制编码拆分成多个拆分二进制值;
将所述拆分二进制值转换为十进制,得到所述接入产品类型值。
7.如权利要求5所述的上位机和主程序匹配系统,其特征在于,所述根据所述接入产品类型值和所述第二配置文件,得到对应的所述接入产品类型,包括:
根据所述第二配置文件,得到全部所述产品类型值和对应的所述产品类型的键值关系;
根据所述接入产品类型值和所述键值关系,得到所述接入产品类型。
8.如权利要求1所述的上位机和主程序匹配系统,其特征在于,所述用户界面包括显示内容、皮肤和语言;所述根据所述产品类型匹配对应的用户界面,包括:
获取全部预设的所述显示内容、所述皮肤和所述语言;
根据所述接入产品类型选取所述用户界面的所述显示内容、所述皮肤和所述语言。
9.一种上位机和主程序匹配方法,其特征在于,包括:
主程序获取项目的第一配置文件;
根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值;
根据所述接入产品类型值生成寄存器值,并将所述寄存器值写入寄存器;
上位机获取预设的第二配置文件;
读取所述寄存器得到所述寄存器值;
根据所述第二配置文件对所述寄存器值进行解析,得到所述寄存器值对应的所述接入产品类型;
根据所述接入产品类型匹配对应的用户界面;
所述根据所述第一配置文件和预设的键值关系得到所述主程序的接入产品类型对应的接入产品类型值,包括:获取预设的键值对数据,所述键值对数据包括全部产品类型和对应的产品类型值的键值关系;读取所述第一配置文件,得到所述主程序接入的产品对应的所述接入产品类型;根据所述接入产品类型和所述键值关系,得到所述接入产品类型对应的所述接入产品类型值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410154470.7A CN117687626B (zh) | 2024-02-04 | 2024-02-04 | 一种上位机和主程序匹配系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410154470.7A CN117687626B (zh) | 2024-02-04 | 2024-02-04 | 一种上位机和主程序匹配系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117687626A CN117687626A (zh) | 2024-03-12 |
CN117687626B true CN117687626B (zh) | 2024-05-03 |
Family
ID=90130398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410154470.7A Active CN117687626B (zh) | 2024-02-04 | 2024-02-04 | 一种上位机和主程序匹配系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687626B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105116868A (zh) * | 2015-06-29 | 2015-12-02 | 江苏大学 | 一种基于can总线的小型电控汽油机触摸式hmi标定方法 |
WO2015196885A1 (zh) * | 2014-06-27 | 2015-12-30 | 阿里巴巴集团控股有限公司 | 云计算系统的性能数据的采集与存储方法及装置 |
WO2016202001A1 (zh) * | 2015-06-17 | 2016-12-22 | 华为技术有限公司 | 计算机指令处理方法、协处理器和系统 |
CN108519947A (zh) * | 2018-04-02 | 2018-09-11 | 郑州云海信息技术有限公司 | 一种Linux下读写寄存器的方法及工具 |
CN110187953A (zh) * | 2019-06-05 | 2019-08-30 | 北京视游互动科技有限公司 | 一种应用程序的运行方法及装置 |
CN110851136A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 数据获取方法、装置、电子设备及存储介质 |
CN111367584A (zh) * | 2020-03-12 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种电源适配方法、装置和计算机可读存储介质 |
CN115357289A (zh) * | 2022-06-28 | 2022-11-18 | 海宁奕斯伟集成电路设计有限公司 | 寄存器应用信息生成方法、装置、电子设备和存储介质 |
CN116700776A (zh) * | 2023-06-25 | 2023-09-05 | 中国第一汽车股份有限公司 | 电池管理系统的信息管理方法、装置、设备及存储介质 |
CN117369993A (zh) * | 2023-09-13 | 2024-01-09 | 厦门威特科技有限公司 | 在Linux环境下兼容运行不同业务系统的方法及信创服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200272558A1 (en) * | 2019-02-21 | 2020-08-27 | Microsoft Technology Licensing, Llc | Automated layout testing for mobile device applications |
-
2024
- 2024-02-04 CN CN202410154470.7A patent/CN117687626B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196885A1 (zh) * | 2014-06-27 | 2015-12-30 | 阿里巴巴集团控股有限公司 | 云计算系统的性能数据的采集与存储方法及装置 |
WO2016202001A1 (zh) * | 2015-06-17 | 2016-12-22 | 华为技术有限公司 | 计算机指令处理方法、协处理器和系统 |
CN105116868A (zh) * | 2015-06-29 | 2015-12-02 | 江苏大学 | 一种基于can总线的小型电控汽油机触摸式hmi标定方法 |
CN108519947A (zh) * | 2018-04-02 | 2018-09-11 | 郑州云海信息技术有限公司 | 一种Linux下读写寄存器的方法及工具 |
CN110187953A (zh) * | 2019-06-05 | 2019-08-30 | 北京视游互动科技有限公司 | 一种应用程序的运行方法及装置 |
CN110851136A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 数据获取方法、装置、电子设备及存储介质 |
CN111367584A (zh) * | 2020-03-12 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种电源适配方法、装置和计算机可读存储介质 |
CN115357289A (zh) * | 2022-06-28 | 2022-11-18 | 海宁奕斯伟集成电路设计有限公司 | 寄存器应用信息生成方法、装置、电子设备和存储介质 |
CN116700776A (zh) * | 2023-06-25 | 2023-09-05 | 中国第一汽车股份有限公司 | 电池管理系统的信息管理方法、装置、设备及存储介质 |
CN117369993A (zh) * | 2023-09-13 | 2024-01-09 | 厦门威特科技有限公司 | 在Linux环境下兼容运行不同业务系统的方法及信创服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN117687626A (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3667496B1 (en) | Distributed computing system, data transmission method and device in distributed computing system | |
CN111984562A (zh) | 寄存器突发访问控制的方法、电子设备及存储介质 | |
CN114880346B (zh) | 一种数据处理方法及相关组件、加速处理器 | |
JPS6120129A (ja) | 複数コ−ド系情報処理方式 | |
KR20210124381A (ko) | 표시자를 이용해 부분 데이터 전송을 가능하게 하는 시스템, 방법 및 장치 | |
US9542111B2 (en) | Writable clone data structure | |
US6185521B1 (en) | System and method for emulating mainframe channel programs by open systems computer systems | |
CN110769002A (zh) | 基于LabVIEW的报文解析方法、系统、电子设备和介质 | |
CN111753140A (zh) | Xml文件解析方法及相关设备 | |
CN117687626B (zh) | 一种上位机和主程序匹配系统及方法 | |
CN112230873B (zh) | 一种基于dsp的显示处理方法 | |
CN113760894A (zh) | 数据调取方法、装置、电子设备及存储介质 | |
US6011871A (en) | Method and apparatus for compressing digital data | |
CN109241164A (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN114218000A (zh) | 日志管理方法、装置、电子设备及计算机可读存储介质 | |
CN113608889A (zh) | 消息数据处理方法、装置、设备和存储介质 | |
US7773534B2 (en) | Computer communication interface transmission control codes analyzing method and system | |
CN111324587A (zh) | Obj文件的数据的压缩方法、解析方法以及系统 | |
JP3610743B2 (ja) | 添付ファイル変換方法とこれを用いた電子メールシステムおよびそのための端末 | |
CN112463214B (zh) | 数据处理方法及装置、计算机可读存储介质以及电子设备 | |
Chechikov et al. | An Adaptive Data-Exchange System | |
CN107844464A (zh) | 基于数据插入的文件生成系统及方法 | |
CN114372009A (zh) | 传输控制电路、数据传输系统及操作数据传输系统的方法 | |
CN116643618A (zh) | 一种三值光学计算机的数据处理方法、设备、介质 | |
CN113687881A (zh) | 元数据调用方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |