CN115314413B - 一种can信号测试方法及装置 - Google Patents
一种can信号测试方法及装置 Download PDFInfo
- Publication number
- CN115314413B CN115314413B CN202210714750.XA CN202210714750A CN115314413B CN 115314413 B CN115314413 B CN 115314413B CN 202210714750 A CN202210714750 A CN 202210714750A CN 115314413 B CN115314413 B CN 115314413B
- Authority
- CN
- China
- Prior art keywords
- signal
- signals
- enumeration
- message
- file
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种CAN信号测试方法及装置,该方法包括以下步骤:统计对应车型需要的CAN信号;通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;通过软件图形化直观地看到CAN信号测试结果。在上述技术方案中,可以通过自动化测试程序快速批量验证CAN信号收发以及监听回调是否能够验证通过的、车辆控制器是否有问题。提高检测效果。
Description
技术领域
本申请涉及到汽车技术领域,尤其涉及到一种CAN信号测试方法及装置。
背景技术
现有的对CAN信号问题的定位是开发完后在台架上用CAN信号仿真工具模拟返回值去逐个用专项开发的TestApp对已完成代码部分进行单元测试,在实车环境下也是需要集成开发好的项目集成到实车里由测试人员进行黑盒测试发现并提出Bug,再由开发先排查代码逻辑,在确保代码逻辑无误后才去排查CAN信号或者控制器是否存在问题。不同车型会有成百上千个CAN信号的收发,在时间紧,任务重的情况下逐个单元测试会,而且同个信号不同值的问题也是需要通过查询文档逐个甄别,这样即增加研发人员的时间和劳动成本,查文档甄别又难免会出现批漏。而测试的黑盒测试也同样因无法定位到具体原因或偶有遗漏从而增加人工成本和Bug率。
发明内容
本申请提供了一种CAN信号测试方法及装置,旨在提高CAN信号的检测效果。
第一方面,提供了一种CAN信号测试方法,该CAN信号测试方法包括以下步骤:
统计对应车型需要的CAN信号;
通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;
将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;
通过软件图形化直观地看到CAN信号测试结果。
在上述技术方案中,可以通过自动化测试程序快速批量验证CAN信号收发以及监听回调是否能够验证通过的、车辆控制器是否有问题。提高检测效果。
在一个具体的可实施方案中,所述统计对应车型需要的CAN信号,具体为:
将收/发的信号名和功能描述以Json的形式写入Json文件;
将供应商提供的Jar包导入到信号收发测试程序当中用于编写消息收发状态机;
提取定义Signal Id的类导出来,通过Python查找到Json文件中对应的Signal逐一写入到Json文件中,没找到Signal Id的Signal写入到其它文件中并提供给供应商补全。
在一个具体的可实施方案中,所述通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;具体为:
使用Python解析DBC文件;
查找Json文件中对应的CAN信号,分别以Signal和Message为单位生成两个类;其中Signal类是存储所有Signal的信息以及对应值的枚举类,Message类是存储所有Message的信息以及所包含的Signal。
在一个具体的可实施方案中,所述将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;具体为:
将以Signal和Message为单位生成枚举类和Json文件导入到设定的CAN信号收发框架中;
根据需求写入信号迭代发送规则、信号接收规则、信号发送间隔时间、信号发送完成提示音、问题项文件输出格式和问题项文件输出路径;其中设定的CAN信号收发框架是根据不同车型配置flavor。
第二方面,提供了一种CAN信号测试装置,该装置包括:
查找模块,用于统计对应车型需要的CAN信号;
分类模块,用于通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;
测试模块,用于将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;
查询模块,用于通过软件图形化直观地看到CAN信号测试结果。
在上述技术方案中,可以通过自动化测试程序快速批量验证CAN信号收发以及监听回调是否能够验证通过的、车辆控制器是否有问题。提高检测效果。
在一个具体的可实施方案中,所述查找模块具体用于将收/发的信号名和功能描述以Json的形式写入Json文件;将供应商提供的Jar包导入到信号收发测试程序当中用于编写消息收发状态机;提取定义Signal Id的类导出来,通过Python查找到Json文件中对应的Signal逐一写入到Json文件中,没找到Signal Id的Signal写入到其它文件中并提供给供应商补全。
在一个具体的可实施方案中,所述分类模块具体用于使用Python解析DBC文件;查找Json文件中对应的CAN信号,分别以Signal和Message为单位生成两个类;其中Signal类是存储所有Signal的信息以及对应值的枚举类,Message类是存储所有Message的信息以及所包含的Signal。
在一个具体的可实施方案中,所述测试模块具体用于将以Signal和Message为单位生成枚举类和Json文件导入到设定的CAN信号收发框架中;根据需求写入信号迭代发送规则、信号接收规则、信号发送间隔时间、信号发送完成提示音、问题项文件输出格式和问题项文件输出路径;其中设定的CAN信号收发框架是根据不同车型配置flavor。
第三方面,提供了一种电子设备,该电子设备包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第二方面及第二方面的任一所述的CAN信号测试方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第二方面及第二方面的任一所述的CAN信号测试方法。
第五方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如第二方面及第二方面的任一所述的CAN信号测试方法。
第六方面,还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行本申请第二方面及第二方面的任一所述的CAN信号测试方法的使用方法。
另外,第三方面至第六方面中任一种可能设计方式所带来的技术效果可参见方法部分中不同设计方式带来的效果,在此不再赘述。
附图说明
图1为本申请实施例提供的CAN信号测试方法的流程图;
图2为本申请实施例提供的Python解析引擎流程图;
图3示出了本申请实施例提供的Python识别引擎流程图;
图4为本申请实施例提供的CAN信号测试装置的结构;
图5示出了本申请实施例提供的电子设备的结构框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本说明书实施例中所述通信的技术载体,例如可以包括近场通信(Near FieldCommunication,NFC)、WIFI、3G、4G、5G、、蓝牙、红外、多媒体消息(Multimedia MessageService,MMS)等。
本申请实施提供的CAN信号测试方法用以对CAN信号进行检测。在该方法中,首先将能够用到的CAN信号的信号名整理出来,通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类。将生成的枚举类导入到事先编写好的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送。台架环境下发送修改状态的CAN信号可以通过软件图形化直观地看到结果,而接收状态的CAN信号同样可以通过CAN信号仿真工具模拟出来达到测试CAN信号是否可用的目的。实车环境下可以逐一自动化测试发送改变状态消息和查询获取状态的CAN信号,用来判断CAN信号和控制器是否有问题。以上所有的问题项都在生成的Excel文档中进行统计,也可以通过定制自动化比对不同车型的Signal来发现差异项。下面结合具体的附图以及实施例对其进行说明。
参考图1,图1示出了CAN信号测试方法的流程图。该方法包括以下步骤:
步骤001:统计对应车型需要的CAN信号;
具体的,包含以下步骤:
将收/发的信号名和功能描述以Json的形式写入Json文件;
将供应商提供的Jar包导入到信号收发测试程序当中用于编写消息收发状态机;
提取定义Signal Id的类导出来,通过Python查找到Json文件中对应的Signal逐一写入到Json文件中,没找到Signal Id的Signal写入到其它文件中并提供给供应商补全。
也即在该步骤中,需要将对应车型需要的CAN信号统计出来,将收/发的信号名和功能描述以Json的形式写入到文件当中,再将供应商提供的Jar包导入到信号收发测试程序当中用于编写消息收发状态机,提取其中定义Signal Id的类导出来,通过Python查找到Json文件中对应的Signal逐一写入到Json文件中,没找到Signal Id的Signal写入到其它文件中并提供给供应商补全;
如图2中所示,在该步骤中,首先解析Json文件,读取Json里的一个Signal,读取Signal Id文件,并判断该Id是否存在,在存在时,将其写入到Signal Id对应写入到Json文件;若该Id不存在,则写入到缺失信号的文档中。之后判断是否为最后的Signal,若是,则跳出循环,输出文件;或不是则执行Signal+1,也即读取下一个Signal,直至到租后的Signal。
步骤002:通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;
具体的,可包含以下步骤:
使用Python解析DBC文件;
查找Json文件中对应的CAN信号,分别以Signal和Message为单位生成两个类;其中Signal类是存储所有Signal的信息以及对应值的枚举类,Message类是存储所有Message的信息以及所包含的Signal。
参考图3,首先执行解析Json文件,该Json文件为步骤001得到的文件。朱行读取DBC文件,并查找信号;判断查找到的信号是否为Message,若是,则存取Message Id状态并写入到Message当中;如查找到的信号不是Message,则判断查找到的信号是否为Signal,若是Signal,存取Signal Id/SignalName键值对并写入;若查找到的信号不是Signal,则判断是否为Value或Range,若是,则存取Value-Name键值对并写入对应的Signal当中。
在判断完上述查找到的信号后,行位置+1,进行下一轮的判断,直至判断到最后一行后,输出文件,并结束。
步骤003:将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;
具体的,可包含以下步骤:将以Signal和Message为单位生成枚举类和Json文件导入到设定的CAN信号收发框架中;
根据需求写入信号迭代发送规则、信号接收规则、信号发送间隔时间、信号发送完成提示音、问题项文件输出格式和路径;其中设定的CAN信号收发框架是根据不同车型配置flavor。
在上述方案中,将Signal和Message为单位生成枚举类和Json文件导入到信号收发测试程序当中,并根据需求写入信号迭代发送规则、信号接收规则、信号发送间隔时间、信号发送完成提示音、问题项文件输出格式和路径等根据需求自定义配置,其中信号收发测试程序是根据不同车型配置flavor,这样有针对性地给不同车型测试,到这里一个完整的信号收发测试程序就完成了,其中封装完善的消息收发状态机部分的代码可以直接移植到项目中去;
在项目前期将信号收发测试程序运行在车机上,在台架环境需要CAN信号仿真测试工具和仿真分析软件来初步测试有问题的Signal,并将问题及时反馈给供应商去修正;
在项目中后期可以将项目直接运行在实车环境下,可以直接验收CAN信号是否有问题,如果控制器有问题也可以在这期间暴露出来,这时同样需要CAN信号仿真测试工具和仿真分析软件来抓取CAN Log提供给供应商分析定位原因,达到在测试进行全面黑盒测试前将潜在非项目研发人员的Bug抛出去的目的;
步骤004:通过软件图形化直观地看到CAN信号测试结果。
具体的,对应在车机里生成文档,只需要连接车机取出就可以直观地看出问题。
由上述描述可看出,本发明可以解决在与各个平台不同车型对接CAN信号收发业务时部分信号不同或控制器不响应的问题,主要目的在于能够先于开发和测试阶段排查部分能够阻塞开发进程的中断项,能够在不同平台、不同车型、台架或者实车环境都能进行全功能的自动化测试。在开发初期就进行一轮CAN信号收发功能验收,并将发现的问题项暴露给供应方修改。也可以在开发后期测试冒烟测试前在实车上进行一轮测试,用来逐一排查控制器是否存在问题。通过不断地迭代和完善功能达到开发和测试工作的平稳进行。从而可以通过自动化测试程序快速批量验证CAN信号收发以及监听回调是否能够验证通过的、车辆控制器是否有问题。提高检测效果。
参考图4,本申请实施例还提供了一种CAN信号测试装置,该装置包括:查找模块10、分类模块20、测试模块30及查询模块40,上述功能模块对CAN信号进行处理以及测试,从而获取对CAN信号的测试结果。下面分别介绍各模块的功能。
查找模块10用于查找CAN信号,具体的用于统计对应车型需要的CAN信号。
示例性的,查找模块10具体用于将收/发的信号名和功能描述以Json的形式写入Json文件;将供应商提供的Jar包导入到信号收发测试程序当中用于编写消息收发状态机;提取定义Signal Id的类导出来,通过Python查找到Json文件中对应的Signal逐一写入到Json文件中,没找到Signal Id的Signal写入到其它文件中并提供给供应商补全。具体可参考步骤001中的相关描述。
分类模块20,用于通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类。
具体的,分类模块20具体用于使用Python解析DBC文件;查找Json文件中对应的CAN信号,分别以Signal和Message为单位生成两个类;其中Signal类是存储所有Signal的信息以及对应值的枚举类,Message类是存储所有Message的信息以及所包含的Signal。具体可参考步骤002中的相关描述。
测试模块30,用于将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;
具体的,测试模块30具体用于将以Signal和Message为单位生成枚举类和Json文件导入到设定的CAN信号收发框架中;根据需求写入信号迭代发送规则、信号接收规则、信号发送间隔时间、信号发送完成提示音、问题项文件输出格式和路径;其中设定的CAN信号收发框架是根据不同车型配置flavor。具体可参考步骤003中的相关描述。
查询模块40,用于通过软件图形化直观地看到CAN信号测试结果。
具体可参考步骤004中的描述。
结合方法可看出,本申请实施例提供的装置可以通过自动化测试程序快速批量验证CAN信号收发以及监听回调是否能够验证通过的、车辆控制器是否有问题。提高检测效果。
本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现执行上述任一设计的方法。
本申请实施例还提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行上述任一设计的方法。
本申请实施例还还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行本申请上述任一设计的方法。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (4)
1.一种CAN信号测试方法,其特征在于,包括以下步骤:
统计对应车型需要的CAN信号;
通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;
将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;
通过软件图形化直观地看到CAN信号测试结果;
其中,所述统计对应车型需要的CAN信号,具体为:
将收/发的信号名和功能描述以Json的形式写入Json文件;
将供应商提供的Jar包导入到信号收发测试程序当中用于编写消息收发状态机;
提取定义Signal Id的类导出来,通过Python查找到Json文件中对应的Signal逐一写入到Json文件中,没找到Signal Id的Signal写入到其它文件中并提供给供应商补全;
其中,所述通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;具体为:
使用Python解析DBC文件;
查找Json文件中对应的CAN信号,分别以Signal和Message为单位生成两个类;其中Signal类是存储所有Signal的信息以及对应值的枚举类,Message类是存储所有Message的信息以及所包含的Signal;
其中,所述将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;具体为:
将以Signal和Message为单位生成枚举类导入到CAN信号收发框设定的CAN信号收发框架中;
根据需求写入信号迭代发送规则、信号接收规则、信号发送间隔时间、信号发送完成提示音、问题项文件输出格式和问题项文件输出路径;其中设定的CAN信号收发框架是根据不同车型配置flavor。
2.一种CAN信号测试装置,其特征在于,包括
查找模块,用于统计对应车型需要的CAN信号;
分类模块,用于通过Python解析的DBC文件中找到对应的CAN信号并分别以Signal和Message为单位生成枚举类;
测试模块,用于将生成的枚举类导入到设定的CAN信号收发框架中,并按照顺序在设置的时间间隔逐一发送到车机;
查询模块,用于通过软件图形化直观地看到CAN信号测试结果;
所述查找模块具体用于将收/发的信号名和功能描述以Json的形式写入Json文件;将供应商提供的Jar包导入到信号收发测试程序当中用于编写消息收发状态机;提取定义Signal Id的类导出来,通过Python查找到Json文件中对应的Signal逐一写入到Json文件中,没找到Signal Id的Signal写入到其它文件中并提供给供应商补全;
所述分类模块具体用于使用Python解析DBC文件;查找Json文件中对应的CAN信号,分别以Signal和Message为单位生成两个类;其中Signal类是存储所有Signal的信息以及对应值的枚举类,Message类是存储所有Message的信息以及所包含的Signal;
所述测试模块具体用于将以Signal和Message为单位生成枚举类和Json文件导入到设定的CAN信号收发框架中;根据需求写入信号迭代发送规则、信号接收规则、信号发送间隔时间、信号发送完成提示音、问题项文件输出格式和问题项文件输出路径;其中设定的CAN信号收发框架是根据不同车型配置flavor。
3.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1所述的CAN信号测试方法。
4.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1所述的CAN信号测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210714750.XA CN115314413B (zh) | 2022-06-22 | 2022-06-22 | 一种can信号测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210714750.XA CN115314413B (zh) | 2022-06-22 | 2022-06-22 | 一种can信号测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115314413A CN115314413A (zh) | 2022-11-08 |
CN115314413B true CN115314413B (zh) | 2023-09-29 |
Family
ID=83855010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210714750.XA Active CN115314413B (zh) | 2022-06-22 | 2022-06-22 | 一种can信号测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115314413B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749451B (zh) * | 2023-12-12 | 2024-08-09 | 镁佳(北京)科技有限公司 | 一种adas信号的正确性验证方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861882A (zh) * | 2019-01-24 | 2019-06-07 | 深圳市元征科技股份有限公司 | 车辆总线协议识别的方法、装置及车载终端 |
CN111538628A (zh) * | 2020-04-21 | 2020-08-14 | 斑马网络技术有限公司 | 信息处理方法、装置、设备及介质 |
CN113518015A (zh) * | 2021-04-08 | 2021-10-19 | 重庆长安汽车股份有限公司 | 基于车机can网络信号测试的自动化实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170262543A1 (en) * | 2016-03-09 | 2017-09-14 | Dell Products L.P. | Method and system for improving sessions and open files enumerations by data structures changes |
-
2022
- 2022-06-22 CN CN202210714750.XA patent/CN115314413B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861882A (zh) * | 2019-01-24 | 2019-06-07 | 深圳市元征科技股份有限公司 | 车辆总线协议识别的方法、装置及车载终端 |
CN111538628A (zh) * | 2020-04-21 | 2020-08-14 | 斑马网络技术有限公司 | 信息处理方法、装置、设备及介质 |
CN113518015A (zh) * | 2021-04-08 | 2021-10-19 | 重庆长安汽车股份有限公司 | 基于车机can网络信号测试的自动化实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115314413A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897724B (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN110474900B (zh) | 一种游戏协议测试方法及装置 | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN108427580B (zh) | 配置对命名重复的检测方法、存储介质和智能设备 | |
CN115314413B (zh) | 一种can信号测试方法及装置 | |
CN115757100A (zh) | 面向用户界面的自动化测试框架以及方法、设备、介质 | |
CN110287700B (zh) | 一种iOS应用安全分析方法及装置 | |
CN117370203B (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
CN112882948A (zh) | 一种应用的稳定性测试方法、装置、系统及存储介质 | |
CN110908882A (zh) | 一种应用程序的性能分析方法、装置、终端设备及介质 | |
CN111258562A (zh) | Java代码质量检查方法、装置、设备和存储介质 | |
CN115292178A (zh) | 测试数据搜索方法、装置、存储介质以及终端 | |
CN113254107B (zh) | 遥测数据的解算方法、装置、电子设备及计算机存储介质 | |
CN113342600A (zh) | 一种程序依赖插件的监测方法及装置 | |
CN113419738A (zh) | 接口文档的生成方法、装置及接口管理设备 | |
CN114020645A (zh) | 测试方法、装置、设备、可读存储介质及计算机程序产品 | |
CN111399843B (zh) | 将sql运行信息映射到sql文件的方法、系统及电子设备 | |
CN114047923A (zh) | 错误代码定位方法、装置、存储介质以及电子设备 | |
CN113806231A (zh) | 一种代码覆盖率分析方法、装置、设备和介质 | |
CN110795338B (zh) | 一种基于前后端交互的自动化测试方法、装置及电子设备 | |
CN113032254A (zh) | 测试覆盖情况的评估方法和装置 | |
CN112445491B (zh) | 文件序列处理方法、装置、终端设备及存储介质 | |
CN112115046B (zh) | 一种软件故障定位方法、装置及终端 | |
CN118261143B (zh) | Unity环境下的Json数据解析方法、装置、设备及介质 | |
CN112989736B (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 | ||
GR01 | Patent grant |