CN107179971A - 用于can总线故障处理的自动编码方法和系统 - Google Patents

用于can总线故障处理的自动编码方法和系统 Download PDF

Info

Publication number
CN107179971A
CN107179971A CN201710369915.3A CN201710369915A CN107179971A CN 107179971 A CN107179971 A CN 107179971A CN 201710369915 A CN201710369915 A CN 201710369915A CN 107179971 A CN107179971 A CN 107179971A
Authority
CN
China
Prior art keywords
tool software
information
target information
troubleshooting
extracted
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
CN201710369915.3A
Other languages
English (en)
Other versions
CN107179971B (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.)
NIO Co Ltd
Original Assignee
NIO 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 NIO Co Ltd filed Critical NIO Co Ltd
Priority to CN201710369915.3A priority Critical patent/CN107179971B/zh
Publication of CN107179971A publication Critical patent/CN107179971A/zh
Application granted granted Critical
Publication of CN107179971B publication Critical patent/CN107179971B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种用于CAN总线故障处理的自动编码方法和系统,所述方法包括:从CAN数据库文件中获取原始数据信息;从原始数据信息中提取目标信息;对所提取的目标信息进行处理,得到自动编码所需的信息;根据自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件。本发明能自动将CAN数据库文件转换为第一工具软件可以直接调用的CAPL代码,实现CAN总线故障的测试和处理,减少了人力和时间成本,提高了效率。本发明可通过自动编码使得用户根据需求即时更改CAN总线参数,缩短CAN总线故障测试周期,避免项目长期搁置的状况。

Description

用于CAN总线故障处理的自动编码方法和系统
技术领域
本发明涉及计算机和自动控制技术领域,尤其涉及一种用于CAN总线故障处理的自动编码方法和系统。
背景技术
CAN是控制器局域网络(Controller Area Network)的简称,CAN总线是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。CANalyzer是网络和分布式系统的通用仿真分析工具,用于CAN总线分析时,使得CAN网络在监测、分析和数据通信增补方面变得容易。
电动汽车包含多个控制器,通过CAN总线进行通信,每个控制器对应一个CAN数据库文件,现有的相关项目在供应商集成数据库文件(.dbc)时,由于CAN的参数错误定义等问题导致CAN总线故障,在CAN总线出现故障时,往往采用CANalyzer软件进行仿真,从而实现CAN总线故障的检测和修正。现有实现方式中,通常需要用CAN总线访问编程语言CAPL(CANAccess Programming Language)为CANalyzer程序编写脚本程序,然后运行所编写的程序,模拟故障,得出故障提示,从而排查故障,如附图1所示。然而,为CANalyzer软件手工编写程序往往需要擅长使用CAPL的专业编程人员来完成,且即使擅长使用CAPL的准专业人员也需要花大量时间来编写代码,因此需要耗费大量的人力和时间成本。此外,整车CAN网络庞大且复杂,在测试和处理CAN总线故障时,要修改特定的CAN参数,比如帧长度、参数值、帧存在等,因此造成CAN总线故障测试周期长,且在故障解决过程中,汽车不能正常使用,从而造成项目长期搁置,带来极大的不便。
发明内容
本发明的主要目的在于,克服现有的用于CAN总线故障处理的方法和系统存在的缺陷,而提供一种新的用于CAN总线故障处理的自动编码方法和系统,将CAN数据库文件转换为软件工具可以直接调用的CAPL代码,通过自动编码实现CAN总线故障的测试和处理,减少了人力和时间成本;实现实时更改控制器发送的网络数据,通过临时更改CAN数据使汽车能够暂时使用,缩短CAN总线故障测试周期,改善项目长期搁置的状况,提升用户体验,适于实用。
根据本发明的一方面,提供了一种用于CAN总线故障处理的自动编码方法,所述方法包括以下步骤:
从CAN数据库文件中获取原始数据信息;
从所述原始数据信息中提取目标信息;
对所提取的目标信息进行处理,得到自动编码所需的信息;
根据所述自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件。
进一步的,所述从CAN数据库文件中获取原始数据信息包括以下步骤:
创建CAN数据库文件与第二工具软件的接口,所述第二工具软件具有导入文件和信息分类的功能;
通过所述CAN数据库文件与第二工具软件的接口将CAN数据库文件导入第二工具软件,从而得到原始数据信息。
进一步的,所述第二工具软件为Microsoft Excel。
进一步的,从所述原始数据信息中提取目标信息包括以下步骤:
根据特定标识符确定需要扫描的区域,然后逐行扫描所确定的需要扫描的区域,提取目标信息,其中,
所述特定标识符为所述目标信息开始位置标识符和目标信息结束位置标识符;
所述目标信息包括:CAN网络总线名称、控制器结点名称、数据帧名称、数据帧ID、CAN信号名称和CAN信号ID。
进一步的,对所提取的目标信息进行处理包括以下步骤:
采用调用子函数的形式对所提取的目标信息进行处理。
进一步的,采用调用子函数的形式对所提取的目标信息进行处理具体包括以下处理功能:实时更改CAN网络传输的所有参数的参数值、更改数据帧长度、更改数据帧的存在性、禁止参数滚动计数器更新、多数据帧参数同时更改;每一个处理过程对应一个子函数,每个子函数对应一个功能键。
进一步的,更改CAN网络传输的特定参数时,采用校验算法重新计算传输数据的校验和,所述CAN网络传输的特定参数为直接影响控制器功能实现的数据帧。
进一步的,根据所述自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件包括:
根据第一工具软件能直接调用的代码模板,将所述自动编码所需的信息自动生成第一工具软件能直接调用的代码文件,所述第一工具软件能直接调用的代码文件包括CAPL代码文件。
进一步的,利用所述目标信息生成所述第一工具软件能直接调用的代码文件的头文件和变量声明部分;
利用处理所提取的目标信息过程中所调用的所有子函数,生成所述第一工具软件能直接调用的代码文件的函数主体部分。
进一步的,所述方法还包括:创建第二工具软件和第一工具软件的接口。
进一步的,所述第一工具软件为CANalyzer或CANoe。
根据本发明的另一方面,提供了一种用于CAN总线故障处理的自动编码系统,所述系统包括:
原始数据获取模块,用于从CAN数据库文件中获取原始数据信息;
目标信息提取模块,用于从所述原始数据信息中提取目标信息;
信息处理模块,用于对所提取的目标信息进行处理,得到自动编码所需的信息;
自动代码生成模块,用于根据所述自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件。
进一步的,所述原始数据获取模块包括:
第一接口创建单元,用于创建CAN数据库文件与第二工具软件的接口,所述第二工具软件具有导入文件和信息分类的功能;
数据库文件导入单元,用于通过所述CAN数据库文件与第二工具软件的接口将CAN数据库文件导入第二工具软件,从而得到原始数据信息。
进一步的,所述第二工具软件为Microsoft Excel。
进一步的,所述目标信息提取模块还用于:
根据特定标识符确定需要扫描的区域,然后逐行扫描所确定的需要扫描的区域,提取目标信息,其中,
所述特定标识符为所述目标信息开始位置标识符和目标信息结束位置标识符;
所述目标信息包括:CAN网络总线名称、控制器结点名称、数据帧名称、数据帧ID、CAN信号名称和CAN信号ID。
进一步的,所述信息处理模块还用于:
采用调用子函数的形式对所提取的目标信息进行处理,每个子函数对应一个功能键。
进一步的,所述信息处理模块还包括以下处理功能:
实时更改CAN网络传输的所有参数的参数值、更改数据帧长度、更改数据帧的存在性、禁止参数滚动计数器更新、多数据帧参数同时更改;每一个处理过程对应一个子函数。
进一步的,所述信息处理模块更改CAN网络传输的特定参数时,采用校验算法重新计算传输数据的校验和,所述CAN网络传输的特定参数为直接影响控制器功能实现的数据帧。
进一步的,所述自动代码生成模块还用于:
根据第一工具软件能直接调用的代码模板,将所述自动编码所需的信息自动生成第一工具软件能直接调用的代码文件,所述第一工具软件能直接调用的代码文件包括CAPL代码文件。
进一步的,所述自动代码生成模块包括:
第一生成单元,用于利用所述目标信息生成所述第一工具软件能直接调用的代码文件的头文件和变量声明部分;
第二生成单元,用于利用处理所提取的目标信息过程中所调用的所有子函数,生成所述第一工具软件能直接调用的代码文件的函数主体部分。
进一步的,所述自动代码生成模块还包第二接口创建单元,用于建第二工具软件和第一工具软件的接口。
进一步的,所述第一工具软件为CANalyzer或CANoe。
根据本发明的又一方面,提供一种控制器,其包括存储器与处理器,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现上述任一种用于CAN总线故障处理的自动编码方法的步骤。
根据本发明的又一方面,提供一种计算机可读存储介质,用于存储计算机指令,所述指令在由一计算机或处理器执行时实现上述任一种用于CAN总线故障处理的自动编码方法的步骤。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明一种用于CAN总线故障处理的自动编码方法和系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,至少具有下列优点:
(1)本发明将CAN数据库文件转换为软件工具可以直接调用的CAPL代码,即使不是擅长使用CAPL的专业编程人员,也可以简单的实现为CANalyzer或CANoe软件编写所需程序,从而实现CAN总线故障的测试和处理,大大减少了人力和时间成本,提高了效率。
(2)本发明将功能键和功能函数相互关联,由函数的功能很容易想到功能键,且整个流都能实现代码自动生成,无需手动编写,具有友好的用户体验。
(3)本发明通过自动编码,实现实时更改控制器发送的网络数据,针对CAN总线故障,根据用户需求更改CAN总线数据,缩短CAN总线故障测试周期,改善项目长期搁置的状况,提升用户体验,适于实用。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1是现有技术基于手动编码的CAN总线故障处理示意图。
图2是本发明基于自动编码的CAN总线故障处理示意图。
图3是本发明实施例用于CAN总线故障处理的自动编码方法流程图。
图4是本发明实施例用于CAN总线故障处理的自动编码系统示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的用于CAN总线故障处理的自动编码方法和系统其具体实施方式,采用自动编码完成CAN总线故障处理,如附图3所示,以下进行详细说明。
一种用于CAN总线故障处理的自动编码方法,如附图3所示,所述方法包括以下步骤:
步骤S1、从CAN数据库文件中获取原始数据信息;
从CAN数据库文件中获取原始数据信息,从而得到原始数据信息,具体包括:
创建CAN数据库文件与第二工具软件的接口,所述第二工具软件具有导入文件和信息分类的功能;
具体的,设定按下自动生成工具按钮时,弹出加载文件的对话框,并限制要加载文件的类型必须为.dbc,此处需要使用人员手动选择加载对象。
通过所述CAN数据库文件与第二工具软件的接口将CAN数据库文件导入第二工具软件,从而得到原始数据信息。
本实施例中,所述第二工具软件为Microsoft Excel,本发明的第二工具软件不限于Microsoft Excel,其他具有导入文件和信息分类的功能的工具软件同样适用于本发明。
具体的,选中目标.dbc文件并点击对话框的打开,系统自动调用Microsoft Excel的导入文件和信息分类功能,并且把目标.dbc文件中的所有信息逐行储存在EXCEL的指定区域。
步骤S2、从所述原始数据信息中提取目标信息;
所述步骤S2具体包括:根据特定标识符确定需要扫描的区域,然后逐行扫描所确定的需要扫描的区域,提取目标信息。
所述特定标识符为所述目标信息开始位置标识符和目标信息结束位置标识符。
所述目标信息包括:CAN网络总线名称、控制器结点名称、数据帧名称、数据帧ID、CAN信号名称和CAN信号ID,其中,CAN信号为CAN网络上实际传输的信号,用于控制器之间的控制或信息共享,CAN信号名称用来识别其用途,参数ID用来识别信号的相关属性,例如优先级,故障等。
将所提取的目标信息复制到另外一个新建的Microsoft Excel页面中,新建页面只保留了制作工具所需要的必要信息,并且按照需求进行了信息的排列和整理,因此方便了后续处理。
步骤S3、对所提取的目标信息进行处理,得到自动编码所需的信息;
对所提取的目标信息进行处理包括以下处理功能:
采用调用子函数的形式对所提取的目标信息进行以下处理:实时更改CAN网络传输的所有参数的参数值、更改数据帧长度、更改数据帧的存在性、禁止参数滚动计数器更新、多数据帧参数同时更改;每一个处理过程对应一个子函数,每个子函数对应一个功能键。用键盘上不同的键来触发或者确认功能的实施,选择功能键时考虑键和所实现功能的相互关联性,能够通过要实现的功能联想到需要使用的键,更容易上手使用,提升了用户体验。采用调用子函数的形式以保证函数功能的完整性和可维护性,且实现了实时更改控制器发送的网络数据。
或者,在自动编码形成的代码文件中,保持上述处理功能,根据用户实际需求设置实体键盘上的键,供用户进行相关处理,例如:
按“space”键(空格键)——选择期望的参数;
按“p”键——停止或重启处理器计数器更新;
按“I”键——激活或者停止帧长度变化;
按“n”键——在CAN网络上关断或者重新发送帧;
键入“m”切换到参数值的输入,通过键盘输入理想的值(例如12.3),然后按“enter”键确认输入;
键入“t”来选择需要改变的CAN网络的通道;
键入“cursor up”来执行参数值的改变;
键入“u”来激活或者停止多帧信息变化。
将功能键和功能函数相互关联,由函数的功能很容易想到功能键,且整个流都能实现代码自动生成,无需手动编写,具有友好的用户体验。
更改CAN网络传输的特定参数时,采用校验算法重新计算传输数据的校验和,以防止接收方报数据被破坏的错误,所述CAN网络传输的特定参数为直接影响控制器功能实现的数据帧。
步骤S4、根据所述自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件,所述第一工具软件能直接调用的代码文件为CAPL代码文件。
优选的,根据第一工具软件能直接调用的代码模板,将所述自动编码所需的信息自动生成第一工具软件能直接调用的代码文件。
利用所述目标信息生成所述第一工具软件能直接调用的代码文件的头文件和变量声明部分;
利用处理所提取的目标信息过程中所调用的所有子函数,生成所述第一工具软件能直接调用的代码文件的函数主体部分。
创建第二工具软件和第一工具软件的接口,将生成的第一工具软件能直接调用的代码文件导入第一工具软件。定义需要输出代码文件的类型.can并调用文件保存的函数,根据第一工具软件能够直接调用的代码模板,定义函数的开始,实体键盘上的键和第一工具软件CANalyzer的交互,函数的结束等。
所述第一工具软件为支持CAPL代码文件的软件,本实施例中第一工具软件为CANalyzer或CANoe,但本发明的第一工具软件不限于CANalyzer或CANoe,其他支持CAPL代码文件的软件也适用于本发明。
所有函数的书写全部以打印输出的形式完成,使输出的代码格式和手工直接编写的代码格式一致,以保证最后输出的代码就是工具软件CANalyzer可直接调用的代码,最后需要手动保存和命名生成的代码文件。
所述方法将CAN数据库文件转换为软件工具可以直接调用的CAPL代码,即使不是擅长使用CAPL的专业编程人员,也可以简单的实现在CANalyzer或CANoe中编写所需程序,从而实现CAN总线故障的测试和处理,大大减少了人力和时间成本,提高了效率。通过自动编码,实现实时更改控制器发送的网络数据,针对CAN总线故障,临时更改CAN数据,使汽车能够暂时使用,缩短CAN总线故障测试周期,改善项目长期搁置的状况,提升用户体验,适于实用。
本发明实施例还提供了一种用于CAN总线故障处理的自动编码系统,如附图4所示,所述系统包括:
原始数据获取模块,用于从CAN数据库文件中获取原始数据信息;
所述原始数据获取模块包括:
第一接口创建单元,用于创建CAN数据库文件与第二工具软件的接口,所述第二工具软件具有导入文件和信息分类的功能;
具体的,设定按下自动生成工具按钮时,弹出加载文件的对话框,并限制要加载文件的类型必须为.dbc,此处需要使用人员手动选择加载对象。
数据库文件导入单元,用于通过所述CAN数据库文件与第二工具软件的接口将CAN数据库文件导入第二工具软件,从而得到原始数据信息。
本实施例中,所述第二工具软件为Microsoft Excel,本发明的第二工具软件不限于Microsoft Excel,其他具有导入文件和信息分类的功能的工具软件同样适用于本发明。
具体的,选中目标.dbc文件并点击对话框的打开,系统自动调用Microsoft Excel的导入文件和信息分类功能,并且把目标.dbc文件中的所有信息逐行储存在EXCEL的指定区域。
目标信息提取模块,用于从所述原始数据信息中提取目标信息;
所述目标信息提取模块还用于:
根据特定标识符确定需要扫描的区域,然后逐行扫描所确定的需要扫描的区域,提取目标信息。
所述特定标识符为所述目标信息开始位置标识符和目标信息结束位置标识符。
所述目标信息包括:CAN网络总线名称、控制器结点名称、数据帧名称、数据帧ID、CAN信号名称和CAN信号ID,其中,CAN信号为CAN网络上实际传输的信号,用于控制器之间的控制或信息共享,CAN信号名称用来识别其用途,参数ID用来识别信号的相关属性,例如优先级,故障等。
将所提取的目标信息复制到另外一个新建的Microsoft Excel页面中,新建页面只保留了制作工具所需要的必要信息,并且按照需求进行了信息的排列和整理,因此方便了后续处理。
信息处理模块,用于对所提取的目标信息进行处理,得到自动编码所需的信息;
所述信息处理模块还用于:
采用调用子函数的形式对所提取的目标信息进行处理,以保证函数功能的完整性和可维护性,且实现了实时更改控制器发送的网络数据。
所述信息处理模块还包括以下处理功能:
实时更改CAN网络传输的所有参数的参数值、更改数据帧长度、更改数据帧的存在性、禁止参数滚动计数器更新、多数据帧参数同时更改;每一个处理过程对应一个子函数。
或者,在自动编码形成的代码文件中,保持上述处理功能,根据用户实际需求设置实体键盘上的键,供用户进行相关处理,例如:
按“space”键(空格键)选择期望的参数;
“p”键——停止或重启处理器计数器更新;
“I”键——激活或者停止帧长度变化;
“n”键——在CAN网络上关断或者重新发送帧;
键入“m”切换到参数值的输入,通过键盘输入理想的值(例如12.3),然后按“enter”键确认输入;
键入“t”来选择需要改变的CAN网络的通道;
键入“cursor up”来执行参数值的改变;
键入“u”来激活或者停止多帧信息变化。
将功能键和功能函数相互关联,由函数的功能很容易想到功能键,且整个流都能实现代码自动生成,无需手动编写,具有友好的用户体验。
所述信息处理模块更改CAN网络传输的特定参数时,采用校验算法重新计算传输数据的校验和,以防止接收方报数据被破坏的错误,所述CAN网络传输的特定参数为直接影响控制器功能实现的数据帧。
每个子函数对应一个功能键,用键盘上不同的键来触发或者确认功能的实施,选择功能键时考虑键和所实现功能的相互关联性,能够通过要实现的功能联想到需要使用的键,更容易上手使用,提升了用户体验。
自动代码生成模块,用于根据所述自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件。所述自动代码生成模块还用于:
根据第一工具软件能直接调用的代码模板,将所述自动编码所需的信息自动生成第一工具软件能直接调用的代码文件,所述第一工具软件能直接调用的代码文件为CAPL代码文件。
所述自动代码生成模块包括:
第一生成单元,用于利用所述目标信息生成所述第一工具软件能直接调用的代码文件的头文件和变量声明部分;
第二生成单元,用于利用处理所提取的目标信息过程中所调用的所有子函数,生成所述第一工具软件能直接调用的代码文件的函数主体部分。所述自动代码生成模块还包第二接口创建单元,用于建第二工具软件和第一工具软件的接口,将生成的第一工具软件能直接调用的代码文件导入第一工具软件。定义需要输出代码文件的类型.can并调用文件保存的函数,根据第一工具软件能够直接调用的代码模板,定义函数的开始,实体键盘上的键和第一工具软件CANalyzer的交互,函数的结束等。
所述第一工具软件为支持CAPL代码文件的软件,本实施例中第一工具软件为CANalyzer或CANoe,但本发明的第一工具软件不限于CANalyzer或CANoe,其他支持CAPL代码文件的软件也适用于本发明。
所有函数的书写全部以打印输出的形式完成,使输出的代码格式和手工直接编写的代码格式一致,以保证最后输出的代码就是工具软件CANalyzer可直接调用的代码。最后需要手动保存和命名生成的代码文件。
所述系统将CAN数据库文件转换为软件工具可以直接调用的CAPL代码,即使不是擅长使用CAPL的专业编程人员,也可以简单的实现在CANalyzer或CANoe中编写所需程序,从而实现CAN总线故障的测试和处理,大大减少了人力和时间成本,提高了效率。通过自动编码,实现实时更改控制器发送的网络数据,针对CAN总线故障,临时更改CAN数据,使汽车能够暂时使用,缩短CAN总线故障测试周期,改善项目长期搁置的状况,提升用户体验,适于实用。
采用上述方法或系统,完成CAN网络故障测试任务,下面以制造CAN数据帧IS_DAT_BV_589丢失为例详述:
运行所述系统,或采用所述方法;
在CANalyzer写窗口直接输入这帧数据的数据帧ID 589,然后按回车键,选中数据帧IS_DAT_BV_589;
再按下键盘上的键“n”,数据帧IS_DAT_BV_589就被工具禁止向目标控制器发送,此时目标控制器因为收不到这帧数据,上报数据帧IS_DAT_BV_589丢失的故障;
重新按下键盘上的键“n”,数据帧IS_DAT_BV_589便会重新恢复在网络上的发送,目标控制器收到失而复得的数据帧后,会上报故障已修复的状态。
如果目标控制器按照期望的结果进行了故障上报,这样就完成了CAN数据帧IS_DAT_BV_589丢失的简单测试。
本发明实施例还提供一种控制器,其包括存储器与处理器,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现上述任一种用于CAN总线故障处理的自动编码方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储计算机指令,所述指令在由一计算机或处理器执行时实现上述任一种用于CAN总线故障处理的自动编码方法的步骤。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (13)

1.一种用于CAN总线故障处理的自动编码方法,其特征在于:所述方法包括以下步骤:
从CAN数据库文件中获取原始数据信息;
从所述原始数据信息中提取目标信息;
对所提取的目标信息进行处理,得到自动编码所需的信息;
根据所述自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件。
2.根据权利要求1所述的用于CAN总线故障处理的自动编码方法,其特征在于:
所述从CAN数据库文件中获取原始数据信息包括以下步骤:
创建CAN数据库文件与第二工具软件的接口,所述第二工具软件具有导入文件和信息分类的功能;
通过所述CAN数据库文件与第二工具软件的接口将CAN数据库文件导入第二工具软件,从而得到原始数据信息。
3.根据权利要求2所述的用于CAN总线故障处理的自动编码方法,其特征在于:
所述第二工具软件为Microsoft Excel。
4.根据权利要求2所述的用于CAN总线故障处理的自动编码方法,其特征在于:
从所述原始数据信息中提取目标信息包括以下步骤:
根据特定标识符确定需要扫描的区域,然后逐行扫描所确定的需要扫描的区域,提取目标信息,其中,
所述特定标识符为所述目标信息开始位置标识符和目标信息结束位置标识符;
所述目标信息包括:CAN网络总线名称、控制器结点名称、数据帧名称、数据帧ID、CAN信号名称和CAN信号ID。
5.根据权利要求1所述的用于CAN总线故障处理的自动编码方法,其特征在于:
对所提取的目标信息进行处理包括以下步骤:
采用调用子函数的形式对所提取的目标信息进行处理。
6.根据权利要求5所述的用于CAN总线故障处理的自动编码方法,其特征在于:
采用调用子函数的形式对所提取的目标信息进行处理具体包括以下处理功能:实时更改CAN网络传输的所有参数的参数值、更改数据帧长度、更改数据帧的存在性、禁止参数滚动计数器更新、多数据帧参数同时更改;每一个处理过程对应一个子函数,每个子函数对应一个功能键。
7.根据权利要求6所述的用于CAN总线故障处理的自动编码方法,其特征在于:
更改CAN网络传输的特定参数时,采用校验算法重新计算传输数据的校验和,所述CAN网络传输的特定参数为直接影响控制器功能实现的数据帧。
8.根据权利要求1所述的用于CAN总线故障处理的自动编码方法,其特征在于:
根据所述自动编码所需的信息,自动生成第一工具软件能直接调用的代码文件包括:
根据第一工具软件能直接调用的代码模板,将所述自动编码所需的信息自动生成第一工具软件能直接调用的代码文件,所述第一工具软件能直接调用的代码文件包括CAPL代码文件。
9.根据权利要求8所述的用于CAN总线故障处理的自动编码方法,其特征在于:
利用所述目标信息生成所述第一工具软件能直接调用的代码文件的头文件和变量声明部分;
利用处理所提取的目标信息过程中所调用的所有子函数,生成所述第一工具软件能直接调用的代码文件的函数主体部分。
10.根据权利要求8所述的用于CAN总线故障处理的自动编码方法,其特征在于:
所述方法还包括:创建第二工具软件和第一工具软件的接口。
11.根据权利要求1-10中任意一项所述的用于CAN总线故障处理的自动编码方法,其特征在于:
所述第一工具软件为CANalyzer或CANoe。
12.一种控制器,其包括存储器与处理器,其特征在于:所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现权利要求1至12中任一项权利要求所述的方法的步骤。
13.一种计算机可读存储介质,用于存储计算机指令,其特征在于:
所述指令在由一计算机或处理器执行时实现如权利要求1至11中任意一项权利要求所述的方法的步骤。
CN201710369915.3A 2017-05-23 2017-05-23 用于can总线故障处理的自动编码方法和系统 Active CN107179971B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710369915.3A CN107179971B (zh) 2017-05-23 2017-05-23 用于can总线故障处理的自动编码方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710369915.3A CN107179971B (zh) 2017-05-23 2017-05-23 用于can总线故障处理的自动编码方法和系统

Publications (2)

Publication Number Publication Date
CN107179971A true CN107179971A (zh) 2017-09-19
CN107179971B CN107179971B (zh) 2020-07-03

Family

ID=59832451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710369915.3A Active CN107179971B (zh) 2017-05-23 2017-05-23 用于can总线故障处理的自动编码方法和系统

Country Status (1)

Country Link
CN (1) CN107179971B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582639A (zh) * 2018-11-01 2019-04-05 广东国鸿氢能科技有限公司 一种汽车协议数据库文件生成方法及装置
CN109597612A (zh) * 2018-12-10 2019-04-09 中冶南方(武汉)自动化有限公司 一种电动汽车can通信协议自动代码生成方法
CN111682993A (zh) * 2020-08-11 2020-09-18 广州汽车集团股份有限公司 一种汽车can总线信号模拟方法及装置
CN112000332A (zh) * 2020-07-09 2020-11-27 惠州市德赛西威汽车电子股份有限公司 一种总线面板的自动生成方法及系统
CN113094029A (zh) * 2020-01-08 2021-07-09 广州汽车集团股份有限公司 一种capl代码自动生成方法、系统及汽车
CN113342319A (zh) * 2021-05-24 2021-09-03 重庆长安汽车股份有限公司 一种can故障诊断的软件代码自动生成的方法及系统
CN114355799A (zh) * 2021-12-02 2022-04-15 中国第一汽车股份有限公司 一种基于新能源电机台架的can总线移动调试方法
CN112000332B (zh) * 2020-07-09 2024-05-31 惠州市德赛西威汽车电子股份有限公司 一种总线面板的自动生成方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1273893C (zh) * 2000-06-16 2006-09-06 奈克斯维伍技术公司 模块化计算机系统以及相关方法
CN103777934A (zh) * 2012-10-23 2014-05-07 广州汽车集团股份有限公司 一种基于matlab生成控制器can交互层的方法及系统
EP2778927A2 (en) * 2013-03-14 2014-09-17 Accenture Global Services Limited Voice based automation testing for hands free module

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1273893C (zh) * 2000-06-16 2006-09-06 奈克斯维伍技术公司 模块化计算机系统以及相关方法
CN103777934A (zh) * 2012-10-23 2014-05-07 广州汽车集团股份有限公司 一种基于matlab生成控制器can交互层的方法及系统
EP2778927A2 (en) * 2013-03-14 2014-09-17 Accenture Global Services Limited Voice based automation testing for hands free module

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
涂金林: "电动汽车CAN网络系统的设计与实现", 《中国优秀硕士学位论文全文数据库(工程科技II辑)》 *
郭志刚: "车载总线自动化测试系统研究", 《中国优秀硕士学位论文全文数据库(工程科技II辑)》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582639A (zh) * 2018-11-01 2019-04-05 广东国鸿氢能科技有限公司 一种汽车协议数据库文件生成方法及装置
CN109597612A (zh) * 2018-12-10 2019-04-09 中冶南方(武汉)自动化有限公司 一种电动汽车can通信协议自动代码生成方法
CN113094029A (zh) * 2020-01-08 2021-07-09 广州汽车集团股份有限公司 一种capl代码自动生成方法、系统及汽车
CN113094029B (zh) * 2020-01-08 2023-08-22 广汽埃安新能源汽车有限公司 一种capl代码自动生成方法、系统及汽车
CN112000332A (zh) * 2020-07-09 2020-11-27 惠州市德赛西威汽车电子股份有限公司 一种总线面板的自动生成方法及系统
CN112000332B (zh) * 2020-07-09 2024-05-31 惠州市德赛西威汽车电子股份有限公司 一种总线面板的自动生成方法及系统
CN111682993A (zh) * 2020-08-11 2020-09-18 广州汽车集团股份有限公司 一种汽车can总线信号模拟方法及装置
CN113342319A (zh) * 2021-05-24 2021-09-03 重庆长安汽车股份有限公司 一种can故障诊断的软件代码自动生成的方法及系统
CN113342319B (zh) * 2021-05-24 2024-03-22 重庆长安汽车股份有限公司 一种can故障诊断的软件代码自动生成的方法及系统
CN114355799A (zh) * 2021-12-02 2022-04-15 中国第一汽车股份有限公司 一种基于新能源电机台架的can总线移动调试方法

Also Published As

Publication number Publication date
CN107179971B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN107179971A (zh) 用于can总线故障处理的自动编码方法和系统
CN106844190B (zh) 测试脚本自动生成方法及装置
CN111817938B (zh) 一种汽车can通讯矩阵编制的方法、系统及存储介质
US20050235260A1 (en) User interface application development device and development method
CN101859135A (zh) 对分布式自动化系统进行控制的方法和装置
CN112905459B (zh) 服务接口测试方法、装置、电子设备及存储介质
CN103200027A (zh) 一种定位网络故障的方法、装置及系统
CN108491592A (zh) Cae仿真结果自动化处理方法及系统
CN115167831A (zh) 基于autosar的软件集成方法、设备和使用方法
CN110347976B (zh) 快速导出设备数据模型的方法、系统、装置和存储介质
CN107562464A (zh) 一种命令行接口的调用方法、装置及设备
CN112527286A (zh) 业务代码的生成方法、装置、计算机设备及存储介质
CN109683865A (zh) 动车组车载控制软件生成系统及方法
CN111399829A (zh) 一种基于模型驱动的波形建模方法及终端
CN111475159A (zh) 一种自动生成程序的方法、装置及存储介质
CN111368353A (zh) 一种cad图纸翻模方法、系统、装置及存储介质
CN115903733A (zh) 车辆的远程诊断方法、服务器、终端及存储介质
CN112416995B (zh) 一种数据统计方法、装置、计算机设备及存储介质
JPH03241439A (ja) テストデータ作成ツール
CN113934198A (zh) 车辆诊断方法、装置、电子设备及存储介质
CN112836460A (zh) Pcb工程设计规格控制系统及其方法
CN110580207A (zh) 基于qt框架的逻辑测试应用生成方法
CN117331847B (zh) 支持图形界面的自动化测试方法和系统
CN107678737A (zh) 业务处理方法、装置及自助终端设备
CN114721887B (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