CN112532492A - 用于测试汽车仪表的can虚拟报文组建方法及系统 - Google Patents
用于测试汽车仪表的can虚拟报文组建方法及系统 Download PDFInfo
- Publication number
- CN112532492A CN112532492A CN202011423333.7A CN202011423333A CN112532492A CN 112532492 A CN112532492 A CN 112532492A CN 202011423333 A CN202011423333 A CN 202011423333A CN 112532492 A CN112532492 A CN 112532492A
- Authority
- CN
- China
- Prior art keywords
- message
- signal
- virtual message
- virtual
- tested
- 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
Links
Images
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/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
-
- 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)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
本发明的用于测试汽车仪表的CAN虚拟报文组建方法及系统涉及一种用于测试的CAN报文模拟方法和系统,目的是为了克服现有方法组建CAN虚拟报文需要显示多个控件,导致测试的过程的机械劳动致人疲劳的问题,其中方法具体如下:步骤一、读取预先存储的CAN报文格式表,识别并解析CAN报文格式表中CAN报文的格式;步骤二、构建包括待测试信号的CAN虚拟报文结构体;步骤三、根据待测试信号所位于CAN报文的数据编号、待测试信号的信号名和待测试信号所对应的物理量设定值生成JSON格式的测试指令;步骤四、将物理量设定值作为空缺的物理值填充入CAN虚拟报文结构体中,完成CAN虚拟报文的构建。
Description
技术领域
本发明涉及一种用于测试的CAN报文模拟方法和系统,具体涉及用于用于测试汽车仪表的CAN报文模拟方法和系统。
背景技术
CAN是控制器局域网络(Controller Area Network,CAN)的简称,是国际上应用最广泛的现场总线之一,大量运用于工控和汽车领域。在汽车仪表测试的过程中,只要根据该协议和信号值,就能组建CAN报文,从而模拟车上的各种CAN信号,对仪表进行测试。
要想组建一条CAN报文,首先需要知道该报文的数据编号(Message ID),数据长度(Message Length)。并且,由于每条报文中包含若干信号,还需要知道每个信号在整个报文中占哪些bit位(Bit Number)的不同,在整个报文中占的bit位的长度(Signal Length)和信号名(Signal Name)。
获得上述信息后,可以创建一个可调节的控件如进度条或文本框等,其中进度条或文本框所对应的值为相应信号的值,即代表物理量的值,而测试者通过不断调整控件的值,程序根据数值信息组建CAN报文发送给仪表,完成一次测试。
但这种方法存在一些问题,如图1所示,如果需要发送多个不同的信号,需要有多个个控件,并且记住他们的位置,并在测试的过程中需要手动不断操作,大部分时间属于重复的机械劳动,极易令测试人员产生疲劳。
而采用测试脚本进行测试,则需要编写测试脚本,这需要测试人员有一定的脚本编程能力,限制了测试脚本的普及;且编写每个脚本都需要打开报文表,手动输入起始位(start bit)和信号长度(Signal Length),也相对繁琐。
发明内容
本发明的目的是为了克服现有方法组建CAN虚拟报文需要显示多个控件,导致测试的过程的机械劳动致人疲劳的问题,提供了一种用于测试汽车仪表的CAN虚拟报文组建方法及系统。
本发明的用于测试汽车仪表的CAN虚拟报文组建方法,方法具体如下:
步骤一、读取预先存储的CAN报文格式表,识别并解析CAN报文格式表中CAN报文的格式;
CAN报文包括数据编号和至少一个信号;信号包括信号名;
步骤二、根据步骤一得到的CAN报文的格式,构建包括待测试信号的CAN虚拟报文结构体;且该CAN虚拟报文结构体中待测试信号所对应的物理值空缺;
步骤三、根据待测试信号所位于CAN报文的数据编号、待测试信号的信号名和待测试信号所对应的物理量设定值生成JSON格式的测试指令;
步骤四、通过测试指令寻找对应的CAN报文,并将物理量设定值作为空缺的物理值填充入CAN虚拟报文结构体中,完成CAN虚拟报文的构建。
进一步地,还包括,
步骤五、将CAN虚拟报文发送至汽车仪表,如果待测试信号所对应的物理值和汽车仪表中相应信号的显示值的偏差在设定误差范围内,则判断汽车仪表中相应信号的显示正常。
进一步地,步骤二还包括:
根据CAN报文的格式填充预设的列表模板,形成CAN虚拟报文列表。
本发明的用于测试汽车仪表的CAN虚拟报文组建系统,系统包括:
CAN报文表解析模块,用于读取预先存储的CAN报文格式表,识别并解析CAN报文格式表中CAN报文的格式;
CAN报文包括数据编号和至少一个信号;信号包括信号名;
CAN虚拟报文组建模块,与CAN报文表解析模块连接,用于根据CAN报文表解析模块得到的CAN报文的格式,构建包括待测试信号的CAN虚拟报文结构体;且该CAN虚拟报文结构体中待测试信号所对应的物理值空缺;
测试指令生成模块,与CAN虚拟报文组建模块连接,用于根据待测试信号所位于CAN报文的数据编号、待测试信号的信号名和待测试信号所对应的物理量设定值生成JSON格式的测试指令;
CAN虚拟报文填充模块,同时与CAN虚拟报文组建模块和测试指令生成模块连接,用于通过测试指令寻找对应的CAN报文,并将物理量设定值作为空缺的物理值填充入CAN虚拟报文结构体中,完成CAN虚拟报文的构建。
进一步地,还包括:
报文发送测试模块,与CAN虚拟报文填充模块连接,用于将CAN虚拟报文发送至汽车仪表,如果待测试信号所对应的物理值和汽车仪表中相应信号的显示值的偏差在设定误差范围内,则判断汽车仪表中相应信号的显示正常。
进一步地,CAN虚拟报文组建模块还包括:
列表生成模块,用于根据CAN报文的格式填充预设的列表模板,形成CAN虚拟报文列表。
本发明的有益效果是:
测试指令生成后,便可代替手工触发信号。而且一旦JSON测试脚本写好,在第二轮、第三轮测试时也只需执行脚本。节省了大量人工,测试效率大幅提高。
经过实际检验,该本发明的方法和系统具有自动化,能提高工作效率和生产力,尤其适合测试信号灯、故障码这些种类大、数据多的功能。
附图说明
图1为采用现有方法创建的可调节的控件的界面示意图;
图2为CAN虚拟报文列表的界面示意图;
图3为采用本发明的用于测试汽车仪表的CAN虚拟报文组建方法或系统组建的CAN虚拟报文中待测试信号的结构示意图;
图4为本发明的用于测试汽车仪表的CAN虚拟报文组建方法的流程图;
图5为本发明的用于测试汽车仪表的CAN虚拟报文组建系统的结构示意图。
具体实施方式
本发明的用于测试汽车仪表的CAN虚拟报文组建方法中,采用JavaScript对象简谱格式来进行测试用例的生成。
JavaScript对象简谱(JavaScriptObject Notation,JSON)是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成,因此本方法用JSON格式编写测试用例,使测试者无需具备编写脚本的能力,大大降低了设计测试用例难度,并在系统软件(用于测试汽车仪表的CAN虚拟报文组建系统)的配合下进行CAN信号的自动发送。
该系统工作流程如下:
1、首先获得汽车部件厂家提供的CAN报文格式表,如下表:
用C#读取该CAN报文格式表,识别解析里面的内容,包括数据编号(Message ID),数据长度(Message Length),每个信号的信号名(Signal Name),起始位(Start bit),信号长度(Signal Length).填充结构体如下:
Struct Message{
Char messageName[50];
Int messageLength;
Struct Signal*sinnals[];
}
Struct Signal{
Char signalName[50];
Int startBit;
Int signalLength;
Intphysical;
}
其中,Physical是无法从报文结构表中获取的,这个需要后续进行填充。
用上述内容填充C#的数据表格(DataGridView)控件,如图2所示,为两个填充后的DataGridView控件所构成的CAN虚拟报文列表,上面的用来显示所有CAN虚拟报文组成的列表,下面的用来显示某个具体报文中所包含的信号。当点击上面的任意报文时,下面的DataGridView控件就会显示该报文的信号信息。
2、以JSON格式编写测试用例(如转速测试.txt)
{"MessageID":"0CF00400","Signal Name":"Engine speed","PhysicalValue":1000},
{"MessageID":"0CF00400","Signal Name":"Engine speed","PhysicalValue":2000},
}
测试人员只需关心Message ID,Signal Name和信号值(Physical Value)就可以(无需在打开报文表查看各个信号的Start bit,Signal Length等),因此测试文件非常简单易写。编写JSON格式的测试用例可以利用设定Physical Value后直接填充JSON格式的模板形成或测试人员直接编写。
程序加载“转速测试.txt”,读取其中一行内容,获得Message ID为“0CF00400”,信号为“Engine speed”,值为”1000“;1000转十六进制为3E8。
程序根据该行MessageID中的数值(0CF00400),去数据库中找到其对应的CAN报文的具体信息,用1000填充结构体中的physical
Struct Signal{
Char signalName[50];
Int startBit;
Int signalLength;
Intphysical;
}
到此一条CAN报文的所有信息都已获得,可以组建报文发送数据。
3、
//初始化Can
Canlib.canInitializeLibrary();
private int m_channel;
//打开Can设备
m_channel=Canlib.canOpenChannel(0,Canlib.canOPEN_ACCEPT_VIRTUAL);
//设置波特率
status=Canlib.canSetBusParams(m_channel,Canlib.canBITRATE_250K,0,0,0,0,0);
//初始化8个字节长度的数组
private byte[]msgBytes=new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
根据第1步和第2步中的信息填充该数组,填充后如下。
//调用canWrite函数发送该数组(CAN虚拟报文)
canWrite(CanHandle handle,Int32 id,Byte[]msg,Int32 dlc,Int32 flag);
如果需要测试仪表上其他信号的显示,则更换该信号的physical或更换其他信号后重复步骤2。
Claims (6)
1.用于测试汽车仪表的CAN虚拟报文组建方法,其特征在于,所述方法具体如下:
步骤一、读取预先存储的CAN报文格式表,识别并解析CAN报文格式表中CAN报文的格式;
所述CAN报文包括数据编号和至少一个信号;所述信号包括信号名;
步骤二、根据步骤一得到的CAN报文的格式,构建包括待测试信号的CAN虚拟报文结构体;且该CAN虚拟报文结构体中待测试信号所对应的物理值空缺;
步骤三、根据待测试信号所位于CAN报文的数据编号、待测试信号的信号名和待测试信号所对应的物理量设定值生成JSON格式的测试指令;
步骤四、通过测试指令寻找对应的CAN报文,并将物理量设定值作为空缺的物理值填充入CAN虚拟报文结构体中,完成CAN虚拟报文的构建。
2.根据权利要求1所述的用于测试汽车仪表的CAN虚拟报文组建方法,其特征在于,还包括,
步骤五、将CAN虚拟报文发送至汽车仪表,如果待测试信号所对应的物理值和汽车仪表中相应信号的显示值的偏差在设定误差范围内,则判断汽车仪表中相应信号的显示正常。
3.根据权利要求1所述的用于测试汽车仪表的CAN虚拟报文组建方法,其特征在于,所述步骤二还包括:
根据CAN报文的格式填充预设的列表模板,形成CAN虚拟报文列表。
4.用于测试汽车仪表的CAN虚拟报文组建系统,其特征在于,所述系统包括:
CAN报文表解析模块(1),用于读取预先存储的CAN报文格式表,识别并解析CAN报文格式表中CAN报文的格式;
所述CAN报文包括数据编号和至少一个信号;所述信号包括信号名;
CAN虚拟报文组建模块(2),与CAN报文表解析模块(1)连接,用于根据CAN报文表解析模块(1)得到的CAN报文的格式,构建包括待测试信号的CAN虚拟报文结构体;且该CAN虚拟报文结构体中待测试信号所对应的物理值空缺;
测试指令生成模块(3),与CAN虚拟报文组建模块(2)连接,用于根据待测试信号所位于CAN报文的数据编号、待测试信号的信号名和待测试信号所对应的物理量设定值生成JSON格式的测试指令;
CAN虚拟报文填充模块(4),同时与CAN虚拟报文组建模块(2)和测试指令生成模块(3)连接,用于通过测试指令寻找对应的CAN报文,并将物理量设定值作为空缺的物理值填充入CAN虚拟报文结构体中,完成CAN虚拟报文的构建。
5.根据权利要求4所述的用于测试汽车仪表的CAN虚拟报文组建系统,其特征在于,还包括:
报文发送测试模块(5),与CAN虚拟报文填充模块(4)连接,用于步骤五、将CAN虚拟报文发送至汽车仪表,如果待测试信号所对应的物理值和汽车仪表中相应信号的显示值的偏差在设定误差范围内,则判断汽车仪表中相应信号的显示正常。
6.根据权利要求5所述的用于测试汽车仪表的CAN虚拟报文组建系统,其特征在于,CAN虚拟报文组建模块(2)还包括:
列表生成模块(2-1),用于根据CAN报文的格式填充预设的列表模板,形成CAN虚拟报文列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011423333.7A CN112532492A (zh) | 2020-12-08 | 2020-12-08 | 用于测试汽车仪表的can虚拟报文组建方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011423333.7A CN112532492A (zh) | 2020-12-08 | 2020-12-08 | 用于测试汽车仪表的can虚拟报文组建方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112532492A true CN112532492A (zh) | 2021-03-19 |
Family
ID=74996703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011423333.7A Pending CN112532492A (zh) | 2020-12-08 | 2020-12-08 | 用于测试汽车仪表的can虚拟报文组建方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112532492A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113532565A (zh) * | 2021-06-03 | 2021-10-22 | 惠州市德赛西威汽车电子股份有限公司 | 一种汽车油箱燃油模拟测试方法及其系统 |
CN114221890A (zh) * | 2021-12-13 | 2022-03-22 | 奇瑞汽车股份有限公司 | 报文模拟装置、报文发送方法、装置及计算机存储介质 |
CN114844816A (zh) * | 2022-03-30 | 2022-08-02 | 东风汽车集团股份有限公司 | 一种汽车通信掉线仿真方法 |
CN116800656A (zh) * | 2023-08-28 | 2023-09-22 | 上海鉴智其迹科技有限公司 | Can通信测试方法、系统、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420713A (zh) * | 2010-09-28 | 2012-04-18 | 大唐移动通信设备有限公司 | 一种测试数据包封装方法及设备 |
CN105703990A (zh) * | 2014-11-28 | 2016-06-22 | 联创汽车电子有限公司 | 车载控制器can通信报文解析方法和构建方法 |
CN110099033A (zh) * | 2018-01-30 | 2019-08-06 | 上海融聂电子科技有限公司 | 一种下位机架构及canfd总线数据库的硬件实时查询方法 |
CN110166485A (zh) * | 2019-06-14 | 2019-08-23 | 北京经纬恒润科技有限公司 | 一种协议的调度使用方法及装置 |
CN110244688A (zh) * | 2019-06-06 | 2019-09-17 | 惠州市德赛西威汽车电子股份有限公司 | 基于LabVIEW的仪表总线面板自动生成方法及其系统 |
CN111581082A (zh) * | 2020-04-21 | 2020-08-25 | 东风汽车集团有限公司 | 车载控制器测试脚本生成装置及方法 |
CN111737154A (zh) * | 2020-08-03 | 2020-10-02 | 宁波均联智行科技有限公司 | 基于uft的车联网自动化测试方法及装置 |
CN111949521A (zh) * | 2020-07-31 | 2020-11-17 | 中国工商银行股份有限公司 | 软件性能测试方法及装置 |
-
2020
- 2020-12-08 CN CN202011423333.7A patent/CN112532492A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420713A (zh) * | 2010-09-28 | 2012-04-18 | 大唐移动通信设备有限公司 | 一种测试数据包封装方法及设备 |
CN105703990A (zh) * | 2014-11-28 | 2016-06-22 | 联创汽车电子有限公司 | 车载控制器can通信报文解析方法和构建方法 |
CN110099033A (zh) * | 2018-01-30 | 2019-08-06 | 上海融聂电子科技有限公司 | 一种下位机架构及canfd总线数据库的硬件实时查询方法 |
CN110244688A (zh) * | 2019-06-06 | 2019-09-17 | 惠州市德赛西威汽车电子股份有限公司 | 基于LabVIEW的仪表总线面板自动生成方法及其系统 |
CN110166485A (zh) * | 2019-06-14 | 2019-08-23 | 北京经纬恒润科技有限公司 | 一种协议的调度使用方法及装置 |
CN111581082A (zh) * | 2020-04-21 | 2020-08-25 | 东风汽车集团有限公司 | 车载控制器测试脚本生成装置及方法 |
CN111949521A (zh) * | 2020-07-31 | 2020-11-17 | 中国工商银行股份有限公司 | 软件性能测试方法及装置 |
CN111737154A (zh) * | 2020-08-03 | 2020-10-02 | 宁波均联智行科技有限公司 | 基于uft的车联网自动化测试方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113532565A (zh) * | 2021-06-03 | 2021-10-22 | 惠州市德赛西威汽车电子股份有限公司 | 一种汽车油箱燃油模拟测试方法及其系统 |
CN114221890A (zh) * | 2021-12-13 | 2022-03-22 | 奇瑞汽车股份有限公司 | 报文模拟装置、报文发送方法、装置及计算机存储介质 |
CN114221890B (zh) * | 2021-12-13 | 2024-02-27 | 奇瑞汽车股份有限公司 | 报文模拟装置、报文发送方法、装置及计算机存储介质 |
CN114844816A (zh) * | 2022-03-30 | 2022-08-02 | 东风汽车集团股份有限公司 | 一种汽车通信掉线仿真方法 |
CN114844816B (zh) * | 2022-03-30 | 2023-05-23 | 东风汽车集团股份有限公司 | 一种汽车通信掉线仿真方法 |
CN116800656A (zh) * | 2023-08-28 | 2023-09-22 | 上海鉴智其迹科技有限公司 | Can通信测试方法、系统、装置、电子设备及存储介质 |
CN116800656B (zh) * | 2023-08-28 | 2023-10-27 | 上海鉴智其迹科技有限公司 | Can通信测试方法、系统、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112532492A (zh) | 用于测试汽车仪表的can虚拟报文组建方法及系统 | |
CN107885097B (zh) | 一种核电站模拟仪控系统dcs改造闭环验证系统及方法 | |
CN110597239B (zh) | 同界面显示车辆诊断功能节点的诊断方法 | |
CN108733552B (zh) | 一种fpga远程调试系统及远程调试方法 | |
CN104007957B (zh) | 在编辑期间显示实时数据的改进图形用户界面编辑器 | |
CN105117345B (zh) | 一种应用程序的接口测试方法及装置 | |
CN110048910A (zh) | 一种车载以太网网关测试系统及方法 | |
CN107145140A (zh) | 车载电子控制单元can接口自动测试系统及其测试方法 | |
CN106850372A (zh) | 一种控制器can信号的测试方法及系统 | |
CN113190454A (zh) | 一种车载终端软件实车测试方法及系统 | |
CN107957713A (zh) | 用于生成多工作表导出的系统和方法 | |
CN113468070A (zh) | 车载以太网的一致性测试方法 | |
WO2023082886A1 (zh) | 基于数字化仿真技术的dcs软件自动验证系统和方法 | |
CN113189970A (zh) | Can总线控制器的硬件在环自动测试方法、系统及存储介质 | |
CN110244688A (zh) | 基于LabVIEW的仪表总线面板自动生成方法及其系统 | |
CN105808510A (zh) | 一种调试数据校验方法及装置 | |
CN108447117A (zh) | 一种介于全景建模的3d远程虚实结合实验方法 | |
US6725449B1 (en) | Semiconductor test program debugging apparatus | |
CN110161944A (zh) | 一种plc编程软件的编程方法 | |
CN117763825A (zh) | 一种变电站辅助设备传感器模拟方法、系统和装置 | |
CN110825617B (zh) | 一种用于模拟设备间通讯交互的方法及装置 | |
CN111104276B (zh) | 一种芯片测试系统及方法 | |
CN108986250A (zh) | 一种车辆维修模拟训练方法及相关设备 | |
CN114741293B (zh) | 一种工业控制系统的Modbus通信自动化测试方法 | |
CN111506501A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210319 |
|
WD01 | Invention patent application deemed withdrawn after publication |