CN116185486A - Can模块配置方法、装置及系统 - Google Patents

Can模块配置方法、装置及系统 Download PDF

Info

Publication number
CN116185486A
CN116185486A CN202310465740.1A CN202310465740A CN116185486A CN 116185486 A CN116185486 A CN 116185486A CN 202310465740 A CN202310465740 A CN 202310465740A CN 116185486 A CN116185486 A CN 116185486A
Authority
CN
China
Prior art keywords
module
sub
class
name
library
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.)
Pending
Application number
CN202310465740.1A
Other languages
English (en)
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.)
Suzhou Tsing Standard Automobile Technology Co ltd
Original Assignee
Suzhou Tsing Standard Automobile Technology 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 Suzhou Tsing Standard Automobile Technology Co ltd filed Critical Suzhou Tsing Standard Automobile Technology Co ltd
Priority to CN202310465740.1A priority Critical patent/CN116185486A/zh
Publication of CN116185486A publication Critical patent/CN116185486A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种CAN模块配置方法、装置及系统,CAN模块配置方法应用于CAN模块配置系统,CAN模块配置系统中存储有多种CAN模块对应的子类类库和动态链接库;方法包括:响应CAN模块的选择操作;基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库;如果否,按照预设的子类模板编写CAN模块对应的子类代码,并根据子类代码生成CAN模块对应的动态链接库。其中,在选择的CAN模块的模块名称对应的子类类库未存储于CAN模块配置系统中时,按照预设的子类模板编写对应的子类代码,进而生成相应的动态链接库,此时可以完成软件开发,缩短了软件开发的时间。

Description

CAN模块配置方法、装置及系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种CAN模块配置方法、装置及系统。
背景技术
CAN技术被广泛应用于汽车领域,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。在实际应用中,往往有对CAN进行监控、CAN报文模拟发送,CAN数据接收并保存等需求。即市场上各种CAN盒产品应运而生。而在实际的应用开发过程中根据客户要求及实际需求,可能经常更换CAN盒的品牌和型号,而每次硬件的更换都需要做相应的软件开发,增加一定的工作量和开发时间。
发明内容
有鉴于此,本发明的目的在于提供一种CAN模块配置方法、装置及系统,可以提高软件开发的效率。
第一方面,本发明实施例提供了一种CAN模块配置方法,该CAN模块配置方法应用于CAN模块配置系统,CAN模块配置系统中存储有多种CAN模块对应的子类类库和动态链接库;该方法包括:响应CAN模块的选择操作;基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库;如果否,按照预设的子类模板编写CAN模块对应的子类代码,并根据子类代码生成CAN模块对应的动态链接库。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,CAN模块配置系统中存储有配置文件,配置文件用于描述CAN模块名称和子类类库的名称的对应关系;基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库的步骤,包括:根据CAN模块名称,判断配置文件中是否存储有CAN模块名称对应的子类类库的名称;如果是,确定CAN模块配置系统中存储有CAN模块名称对应的子类类库。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,按照预设的子类模板编写CAN模块对应的子类代码的步骤,包括:根据CAN模块名称指示的模块种类,确定CAN模块对应的功能;从预先存储的功能代码集合中获取CAN模块的功能对应的目标功能代码;将目标功能代码输入至预设的子类模板中,得到CAN模块对应的子类代码。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,将目标功能代码输入至预设的子类模板中,得到CAN模块对应的子类代码的步骤,包括:基于CAN模块对应的模块种类获取预先存储的结构体;将目标功能代码输入至结构体中,得到CAN模块对应的子类代码。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,结构体包括虚函数的方法代码;将目标功能代码输入至结构体中,得到CAN模块对应的子类代码的步骤,包括:按照目标功能代码对结构体的方法代码进行重写,覆盖方法代码对应的虚函数,得到CAN模块对应的子类代码。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,CAN模块配置系统中包括软件界面,该方法还包括:将生成的动态链接库,以及对应的CAN模块的模块名称和子类代码指示的子类类库的名称存储至软件界面中。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,该方法还包括:当CAN模块配置系统中存储有CAN模块名称对应的子类类库时,根据子类类库的名称调用对应的动态链接库。
第二方面,本发明实施例还提供一种CAN模块配置装置,CAN模块配置装置应用于CAN模块配置系统,CAN模块配置系统中存储有多种CAN模块对应的子类类库和动态链接库;装置包括:通信模块,用于响应CAN模块的选择操作;判断模块,用于基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库;执行模块,用于在判断模块的判断结果为否时,按照预设的子类模板编写CAN模块对应的子类代码,并根据子类代码生成CAN模块对应的动态链接库。
第三方面,本发明实施例还提供一种CAN模块配置系统,CAN模块配置系统包括UI界面和业务层;UI界面用于展示配置的多种CAN模块,以使用户根据展示内容选择目标CAN模块;以及存储每种CAN模块对应的动态链接库;业务层用于根据用户在UI界面的选择操作从预设的配置文件中查找选择操作指示的CAN模块对应的子类类库,并在找到对应的子类类库时调用对应的动态链接库。
结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,CAN模块配置系统中存储有配置文件,配置文件用于描述CAN模块的模块名称和子类类库的名称的对应关系。
本发明实施例带来了以下有益效果:本发明提供一种CAN模块配置方法、装置及系统,通过响应CAN模块的选择操作,基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库。如果否,按照预设的子类模板编写CAN模块对应的子类代码,并根据子类代码生成CAN模块对应的动态链接库。其中,在选择的CAN模块的模块名称对应的子类类库未存储于CAN模块配置系统中时,按照预设的子类模板编写对应的子类代码,进而生成相应的动态链接库,此时可以完成软件开发,缩短了软件开发的时间。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种CAN模块配置方法的流程图;
图2为本发明实施例提供的另一种CAN模块配置方法的流程图;
图3为本发明实施例提供的一种CAN模块配置装置的结构示意图;
图4为本发明实施例提供的另一种CAN模块配置装置的结构示意图;
图5为本发明实施例提供的一种CAN模块配置系统的结构示意图;
图6为本发明实施例提供的一种CAN盒的子类示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
CAN技术被广泛应用于汽车领域,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。在实际应用中,往往有对CAN进行监控、CAN报文模拟发送,CAN数据接收并保存等需求。即市场上各种CAN盒产品应运而生。而在实际的应用开发过程中根据客户要求及实际需求,可能经常更换CAN盒的品牌和型号,而每次硬件的更换都需要做相应的软件开发,增加一定的工作量和开发时间。
基于此,本发明实施例提供的一种CAN模块配置方法、装置及系统,可以提高软件开发的效率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种CAN模块配置方法进行详细介绍,该方法包括以下步骤:
步骤S102,响应CAN模块的选择操作。
步骤S104,基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库。
步骤S106,如果否,按照预设的子类模板编写CAN模块对应的子类代码,并根据子类代码生成CAN模块对应的动态链接库。
其中,上述CAN模块配置于CAN盒,CAN盒一般是指USBCAN分析仪,是一类具备多种功能的CANBUS配套工具,包括:1、数据收发和显示;2、数据转发;3、数据转存;4、数据过滤;5、CANopen主站控制;6、OBD II解码;7、自识别CAN设备波特率等功能。由于CAN盒是一个比较大的家族,其可以根据集成CANBUS接口数以及硬件组成划分成很多的子分类,不同分类的CAN盒支持的功能种类可能也不一样。
在具体实现时,本发明实施例在于根据客户要求及实际需求调用对应的CAN盒的动态链接库,以得到对应的CAN模块,该动态链接库基于预设的子类模板编写子类代码后生成,生成动态链接库的过程无需重新开发对应软件,开发效率有效提高。动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是“.dll"、".ocx"(包含ActiveX控制的库)或者 ".drv"(旧式的系统驱动程序)。
具体的,本发明实施例应用于CAN模块配置系统,该CAN模块配置系统中存储有多种CAN模块对应的子类类库和动态链接库。当选择对应的CAN盒的品牌和型号时,根据选择操作指示的CAN模块名称,也即CAN盒名称,判断CAN模块配置系统中是否存储有所述CAN模块名称对应的子类类库,若CAN模块配置系统中没有对应的子类类库,则按照预设的子类模板编写对应的子类代码,进而生成对应的动态链接库。
本发明实施例提供的一种CAN模块配置方法,通过响应CAN模块的选择操作,基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库。如果否,按照预设的子类模板编写CAN模块对应的子类代码,并根据子类代码生成CAN模块对应的动态链接库。其中,在选择的CAN模块的模块名称对应的子类类库未存储于CAN模块配置系统中时,按照预设的子类模板编写对应的子类代码,进而生成相应的动态链接库,此时可以完成软件开发,缩短了软件开发的时间。
为了便于理解,在上述实施例的基础上,本发明实施例还提供了另一种CAN模块配置方法,图2示出了本发明实施例提供的另一种CAN模块配置方法的流程图,如图2所示,该方法包括以下步骤:
步骤S202,响应CAN模块的选择操作。
步骤S204,根据CAN模块名称,判断配置文件中是否存储有CAN模块名称对应的子类类库的名称。
在具体实现时,CAN模块配置系统包括软件界面,可以根据需求在软件界面选择需要用到的CAN盒硬件名称,此时,若CAN模块配置系统中存储的已有的动态链接库中没有此CAN盒硬件对应的子类类库,则按照预设的子类模板编写对应的子类代码后生成相应的动态链接库。其中,CAN模块配置系统中存储有配置文件,配置文件用于描述CAN模块名称和子类类库的名称的对应关系。如CAN模块的模块名称为CAN盒1时,子类类库的名称为DeviceCAN1,配置文件中描述为CAN盒1:DeviceCAN1。当选择CAN模块后,可以根据配置文件中是否存储有该CAN模块的CAN模块名称对应的子类类库的名称,确定CAN模块配置系统是否存储有该CAN模块的子类类库。
步骤S206,如果是,确定CAN模块配置系统中存储有CAN模块名称对应的子类类库。
步骤S208,如果否,根据CAN模块名称指示的模块种类,确定CAN模块对应的功能。
步骤S210,从预先存储的功能代码集合中获取CAN模块的功能对应的目标功能代码。
步骤S212,将目标功能代码输入至预设的子类模板中,得到CAN模块对应的子类代码。
若配置文件中没有找到相应的子类类库的名称,则可以根据CAN模块名称指示的模块种类,确定CAN模块对应的功能。再从预先存储的功能代码集合中获取CAN模块的功能对应的目标功能代码。将目标功能代码输入至预设的子类模板中,得到CAN模块对应的子类代码。
具体的,一般的CAN的功能都是通用的,包括初始化CAN、打开设备、关闭设备、发送CAN报文、接收CAN报文、设置波特率等功能。本发明实施例根据现有的CAN盒品牌和种类,完成对CAN盒软件功能的封装,每种CAN盒的代码用一个类实现,每种CAN盒设计为相同的函数数量和函数名称。
其中,一种CAN盒对应一个类,每种CAN模块指示的子类中的函数名称和参数是相同的,对于不同的CAN模块,其子类中函数的内部实现是不同的。本发明实施例基于CAN模块对应的模块种类获取预先存储的结构体;将目标功能代码输入至结构体中,得到CAN模块对应的子类代码。在具体实现时,每种CAN模块对应于一个共用的结构体,描述CAN盒的共用属性,如CANID、数据长度、发送类型、周期等。其中,结构体是多个关联变量的集合,不包含函数,在面向对象的程序设计中,对象具有状态和行为,状态保存在成员变量中,行为通过成员函数实现。所以,类应运而生。也即,不同结构体对应不同的父类。具体的,结构体包括虚函数的方法代码,本发明实施例按照目标功能代码对结构体的方法代码进行重写,覆盖方法代码对应的虚函数,得到CAN模块对应的子类代码。在具体实现时,所有CAN的功能使用参数配置,函数中提供接口用于配置这些参数,本发明实施例在CAN的父类定义好CAN类中所有的函数方法,父类中的函数方法使用虚函数,根据不同的CAN盒具体实现CAN的子类。父类和子类有共同的方法类,子类继承父类,子类中对方法进行重写,覆盖虚函数。此外,上述结构体也作为类中每个函数方法的参数值。
步骤S214,根据子类代码生成CAN模块对应的动态链接库。
步骤S216,将生成的动态链接库,以及对应的CAN模块的模块名称和子类代码指示的子类类库的名称存储至软件界面中。
当子类代码实现后,对子类代码进行编译,形成对应的动态链接库。同时,在软件界面上导入此动态链接库,并在软件界面中重新增加一个CAN盒的名称及CAN的子类名称,此名称同时会在配置文件中更新。如CAN盒1:DeviceCAN1。
步骤S218,当CAN模块配置系统中存储有CAN模块名称对应的子类类库时,根据子类类库的名称调用对应的动态链接库。
具体的,CAN模块配置系统包括UI界面和业务层,UI界面将选择的CAN盒名称传给业务层,业务层根据名称到配置文件中找到相对应的CAN子类名称,并根据CAN子类名称,利用反射实例化CAN类,调用相对应的动态链接库,如:classTest=Assembly.Load("命名空间").CreateInstance("命名空间. DeviceCan1”)。当更换CAN硬件设备时,如果已生成动态链接库,则直接在软件界面上对CAN硬件进行重新选择,再按照上述步骤调用相对于的动态链接库即可。
本发明实施例提供的另一种CAN模块配置方法,当对应的CAN硬件已存在相应的动态链接库时,不需要更改代码,只需要修改软件界面CAN盒的选择项,即使不会编写代码也可以完成此项工作,提高工作效率,减少更换CAN盒的工作量。当对应的CAN硬件不存在相应的动态链接库时,只需要完成子类的代码编写并生成动态链接库,在软件界面上添加CAN盒名称及类名称,并导入动态链接库就可以完成相应的软件开发,缩短了软件开发的时间。
进一步地,在上述方法实施例的基础上,本发明实施例还提供一种CAN模块配置装置,CAN模块配置装置应用于CAN模块配置系统,CAN模块配置系统中存储有多种CAN模块对应的子类类库和动态链接库;图3示出了本发明实施例提供的一种CAN模块配置装置的结构示意图,如图3所示,该装置包括:
通信模块100,用于响应CAN模块的选择操作;
判断模块200,用于基于选择操作指示的CAN模块名称,判断CAN模块配置系统中是否存储有CAN模块名称对应的子类类库;
执行模块300,用于在判断模块的判断结果为否时,按照预设的子类模板编写CAN模块对应的子类代码,并根据子类代码生成CAN模块对应的动态链接库。
本发明实施例提供的一种CAN模块配置装置,与上述实施例提供的一种CAN模块配置方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
进一步地,本发明实施例还提供另一种CAN模块配置装置,图4示出了本发明实施例提供的另一种CAN模块配置装置的结构示意图,其中,CAN模块配置系统中存储有配置文件,配置文件用于描述CAN模块名称和子类类库的名称的对应关系;上述判断模块200,还用于根据CAN模块名称,判断配置文件中是否存储有CAN模块名称对应的子类类库的名称;如果是,确定CAN模块配置系统中存储有CAN模块名称对应的子类类库。
上述执行模块300,还用于根据CAN模块名称指示的模块种类,确定CAN模块对应的功能;从预先存储的功能代码集合中获取CAN模块的功能对应的目标功能代码;将目标功能代码输入至预设的子类模板中,得到CAN模块对应的子类代码。
上述执行模块300,还用于基于CAN模块对应的模块种类获取预先存储的结构体;将目标功能代码输入至结构体中,得到CAN模块对应的子类代码。
其中,结构体包括虚函数的方法代码;上述执行模块300,还用于按照目标功能代码对结构体的方法代码进行重写,覆盖方法代码对应的虚函数,得到CAN模块对应的子类代码。
进一步地,CAN模块配置系统中包括软件界面,该装置还包括存储模块400,用于将生成的动态链接库,以及对应的CAN模块的模块名称和子类代码指示的子类类库的名称存储至软件界面中。
该装置还包括调用模块500,用于当CAN模块配置系统中存储有CAN模块名称对应的子类类库时,根据子类类库的名称调用对应的动态链接库。
进一步地,在上述实施例的基础上,本发明实施例还提供一种CAN模块配置系统,图5示出了本发明实施例提供的一种CAN模块配置系统的结构示意图,其中,图5为使用结构示意图,将配置文件也进行示意。如图5所示。CAN模块配置系统包括UI界面10和业务层20;UI界面10用于展示配置的多种CAN模块,以使用户根据展示内容选择目标CAN模块。
在具体实现时,UI界面10可以列出所有支持的CAN盒,以使用户可以根据实际需求对CAN盒进行选择。其中,可以根据配置文件的描述确定UI界面10支持哪些CAN盒。此外,UI界面10还用于存储每种CAN模块对应的动态链接库。在具体实现时,可以在CAN模块配置系统的UI界面10增加新的CAN盒,同时,还需填入在UI界面10显示的CAN模块名称和DLL文件中的CAN类名称。进一步地,该UI界面10还支持DLL文件的导入功能。
业务层20用于根据用户在UI界面10的选择操作从预设的配置文件中查找选择操作指示的CAN模块对应的子类类库,并在找到对应的子类类库时调用对应的动态链接库。其中,一般的CAN的功能都是通用的,包括初始化CAN、打开设备、关闭设备、发送CAN报文、接收CAN报文、设置波特率等功能,业务层20可以根据现有的CAN盒品牌和种类,完成对CAN盒软件功能的封装,每种CAN盒的代码用一个类实现,每种CAN盒设计为相同的函数数量和函数名称。在具体实现时,在业务层20中创建一个共用的结构体,描述CAN盒的共用属性,如CANID,数据长度,发送类型,周期等。此结构体也要作为类中每个函数方法的参数值。创建一个CAN的父类,定义好CAN类中所有的函数方法。根据不同的CAN盒具体实现CAN的子类,父类和子类有共同的方法类,参照图6,图6示出了一种CAN盒的子类示意图。其中,子类继承父类,父类中方法用虚函数,子类中对父类中的方法进行重写,覆盖虚函数。子类实现后,进行编译形成动态链接库。此外,CAN模块配置系统中存储有配置文件,该配置文件用于描述CAN模块的模块名称和子类类库的名称的对应关系。该配置文件的作用与上述实施例相同,在此不再赘述。
本发明实施例提供的一种CAN模块配置系统,与上述实施例提供的一种CAN模块配置方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述图1至图2所示的方法的步骤。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述图1至图2所示的方法的步骤。
本发明实施例还提供了一种电子设备的结构示意图,如图7所示,为该电子设备的结构示意图,其中,该电子设备包括处理器71和存储器70,该存储器70存储有能够被该处理器71执行的计算机可执行指令,该处理器71执行该计算机可执行指令以实现上述图1至图2所示的方法。
在图7示出的实施方式中,该电子设备还包括总线72和通信接口73,其中,处理器71、通信接口73和存储器70通过总线72连接。
其中,存储器70可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线72可以是ISA(Industry StandardArchitecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等,还可以是AMBA(Advanced Microcontroller Bus Architecture,片上总线的标准)总线,其中,AMBA定义了三种总线,包括APB(Advanced Peripheral Bus)总线、AHB(Advanced High-performance Bus)总线和AXI(Advanced eXtensible Interface)总线。总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器71可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器71中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器71可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器71读取存储器中的信息,结合其硬件完成前述图1至图2任一所示的方法。
本发明实施例所提供的一种CAN模块配置方法、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种CAN模块配置方法,其特征在于,所述CAN模块配置方法应用于CAN模块配置系统,所述CAN模块配置系统中存储有多种CAN模块对应的子类类库和动态链接库;所述方法包括:
响应CAN模块的选择操作;
基于所述选择操作指示的CAN模块名称,判断所述CAN模块配置系统中是否存储有所述CAN模块名称对应的子类类库;
如果否,按照预设的子类模板编写所述CAN模块对应的子类代码,并根据所述子类代码生成所述CAN模块对应的动态链接库。
2.根据权利要求1所述的方法,其特征在于,所述CAN模块配置系统中存储有配置文件,所述配置文件用于描述所述CAN模块名称和子类类库的名称的对应关系;
所述基于所述选择操作指示的CAN模块名称,判断所述CAN模块配置系统中是否存储有所述CAN模块名称对应的子类类库的步骤,包括:
根据所述CAN模块名称,判断所述配置文件中是否存储有所述CAN模块名称对应的子类类库的名称;
如果是,确定所述CAN模块配置系统中存储有所述CAN模块名称对应的子类类库。
3.根据权利要求1所述的方法,其特征在于,所述按照预设的子类模板编写所述CAN模块对应的子类代码的步骤,包括:
根据所述CAN模块名称指示的模块种类,确定所述CAN模块对应的功能;
从预先存储的功能代码集合中获取所述CAN模块的功能对应的目标功能代码;
将所述目标功能代码输入至所述预设的子类模板中,得到所述CAN模块对应的子类代码。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标功能代码输入至所述预设的子类模板中,得到所述CAN模块对应的子类代码的步骤,包括:
基于所述CAN模块对应的模块种类获取预先存储的结构体;
将所述目标功能代码输入至所述结构体中,得到所述CAN模块对应的子类代码。
5.根据权利要求4所述的方法,其特征在于,所述结构体包括虚函数的方法代码;
所述将所述目标功能代码输入至所述结构体中,得到所述CAN模块对应的子类代码的步骤,包括:
按照所述目标功能代码对所述结构体的方法代码进行重写,覆盖所述方法代码对应的虚函数,得到所述CAN模块对应的子类代码。
6.根据权利要求1所述的方法,其特征在于,所述CAN模块配置系统中包括软件界面,所述方法还包括:
将生成的所述动态链接库,以及对应的所述CAN模块的模块名称和子类代码指示的子类类库的名称存储至软件界面中。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述CAN模块配置系统中存储有所述CAN模块名称对应的子类类库时,根据所述子类类库的名称调用对应的动态链接库。
8.一种CAN模块配置装置,其特征在于,所述CAN模块配置装置应用于CAN模块配置系统,所述CAN模块配置系统中存储有多种CAN模块对应的子类类库和动态链接库;所述装置包括:
通信模块,用于响应CAN模块的选择操作;
判断模块,用于基于所述选择操作指示的CAN模块名称,判断所述CAN模块配置系统中是否存储有所述CAN模块名称对应的子类类库;
执行模块,用于在所述判断模块的判断结果为否时,按照预设的子类模板编写所述CAN模块对应的子类代码,并根据所述子类代码生成所述CAN模块对应的动态链接库。
9.一种CAN模块配置系统,其特征在于,所述CAN模块配置系统包括UI界面和业务层;
所述UI界面用于展示配置的多种CAN模块,以使用户根据展示内容选择目标CAN模块;以及存储每种CAN模块对应的动态链接库;
所述业务层用于根据用户在所述UI界面的选择操作从预设的配置文件中查找选择操作指示的CAN模块对应的子类类库,并在找到对应的子类类库时调用对应的动态链接库。
10.根据权利要求9所述的CAN模块配置系统,其特征在于,所述CAN模块配置系统中存储有配置文件,所述配置文件用于描述CAN模块的模块名称和子类类库的名称的对应关系。
CN202310465740.1A 2023-04-27 2023-04-27 Can模块配置方法、装置及系统 Pending CN116185486A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310465740.1A CN116185486A (zh) 2023-04-27 2023-04-27 Can模块配置方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310465740.1A CN116185486A (zh) 2023-04-27 2023-04-27 Can模块配置方法、装置及系统

Publications (1)

Publication Number Publication Date
CN116185486A true CN116185486A (zh) 2023-05-30

Family

ID=86449355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310465740.1A Pending CN116185486A (zh) 2023-04-27 2023-04-27 Can模块配置方法、装置及系统

Country Status (1)

Country Link
CN (1) CN116185486A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170222828A1 (en) * 2014-07-28 2017-08-03 Mylaps B.V. Transponder module and access module for activating and configuring such transponder module over a can bus
CN112395564A (zh) * 2020-11-17 2021-02-23 平安普惠企业管理有限公司 类文件的保护与运行方法、装置、设备及存储介质
CN112558946A (zh) * 2020-12-16 2021-03-26 中国平安人寿保险股份有限公司 一种生成代码的方法、装置、设备和计算机可读存储介质
CN112732248A (zh) * 2020-12-30 2021-04-30 武汉木仓信息技术有限公司 一种模块化软件开发方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170222828A1 (en) * 2014-07-28 2017-08-03 Mylaps B.V. Transponder module and access module for activating and configuring such transponder module over a can bus
CN112395564A (zh) * 2020-11-17 2021-02-23 平安普惠企业管理有限公司 类文件的保护与运行方法、装置、设备及存储介质
CN112558946A (zh) * 2020-12-16 2021-03-26 中国平安人寿保险股份有限公司 一种生成代码的方法、装置、设备和计算机可读存储介质
CN112732248A (zh) * 2020-12-30 2021-04-30 武汉木仓信息技术有限公司 一种模块化软件开发方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US6023578A (en) Systems, methods and computer program products for generating an object oriented application for an object oriented environment
US7827527B1 (en) System and method of application development
US8392877B1 (en) System and method of application development using replaceable self-contained components (RSCCS)
US20110131555A1 (en) External programmatic interface for ios cli compliant routers
CN111708537A (zh) 基于组件模板的页面渲染方法、设备及可读存储介质
CA2621810A1 (en) Extensible mechanism for object composition
CN110912782B (zh) 一种数据采集方法、装置及存储介质
CN109471773A (zh) 一种前端日志多通道输出的方法、装置、服务器及存储介质
CN115167831A (zh) 基于autosar的软件集成方法、设备和使用方法
CN111858957B (zh) 一种知识图谱自动构建方法及系统
CN113407255A (zh) 组件调用方法、装置及计算机可读存储介质
CN115407988A (zh) 一种表单组件的处理方法、系统、存储介质及电子设备
CN116185486A (zh) Can模块配置方法、装置及系统
CN116107669B (zh) 深度学习框架的算子注册方法、装置、设备及存储介质
CN113900633A (zh) 物联网场景的低代码开发方法及装置、存储介质、开发平台
CN105335164B (zh) 一种基于windows的窗口绘制方法及绘制装置
CN115576980A (zh) Sql语句配置方法、装置及电子设备
CN114461960B (zh) 页面生成方法、页面展示方法及装置
CN110837500A (zh) 基于socal内嵌窗口的数据筛选方法、装置以及计算机设备
CN113050935A (zh) 生成混入对象的方法、装置、计算设备及计算机可读存储介质
CN112000644B (zh) 一种数据处理方法、系统及电子设备和存储介质
CN112486378B (zh) 图形生成方法、装置、终端及存储介质
CN114254068A (zh) 一种数据流转方法和系统
CN113791766A (zh) 组合数据接口的方法、电子设备和可读存储介质
CN110333870B (zh) Simulink模型变量分配的处理方法、装置及设备

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20230530

RJ01 Rejection of invention patent application after publication