CN113886127A - 一种基于python的主机总线诊断方法 - Google Patents
一种基于python的主机总线诊断方法 Download PDFInfo
- Publication number
- CN113886127A CN113886127A CN202111208928.5A CN202111208928A CN113886127A CN 113886127 A CN113886127 A CN 113886127A CN 202111208928 A CN202111208928 A CN 202111208928A CN 113886127 A CN113886127 A CN 113886127A
- Authority
- CN
- China
- Prior art keywords
- data
- diagnosis
- read
- driving
- configuration
- 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
- 238000003745 diagnosis Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title abstract description 9
- 230000006870 function Effects 0.000 claims abstract description 11
- 230000007717 exclusion Effects 0.000 claims description 20
- 238000002405 diagnostic procedure Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 abstract description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 101000595182 Homo sapiens Podocan Proteins 0.000 description 1
- 102100036036 Podocan Human genes 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供了一种基于python的主机总线诊断方法,包括以下步骤:S1、建立CAN的驱动lib库,所述驱动lib库包括多种CAN工具的驱动函数;S2、遍历CAN的驱动lib库,利用驱动lib库中的各种CAN工具的驱动函数来识别主机接口;S3、识别成功后与主机接口建立连接;S4、进行诊断。这种基于python的主机总线诊断方法独立于CAN工具的配套软件,能够直接调用CAN工具的驱动lib库,独立的对各种CAN工具进行诊断,节省人工成本及测试周期。
Description
技术领域
本发明涉及汽车主机的诊断方法,尤其涉及一种基于python的主机总线诊断方法。
背景技术
汽车主机在出厂和遇到故障时都需要对其总线进行诊断测试,主机的总线一般采用CAN总线,CAN总线具有多种CAN工具,现有的诊断方式需要采用与CAN工具配套的特定软件才可以进行。这些配套的特定软件中CAN工具的诊断测试只是软件的一小部分,而每种车型的软件也不尽相同,这给汽车服务商为车主提供诊断测试服务带来了不便,他们安装那么多特定软件但是平时只应用其中一小部分功能的情况显然是不合理的。
发明内容
本发明要解决的技术问题是:为了解决现有技术的中的上述问题,本发明提供了一种基于python的主机总线诊断方法来解决上述问题。
本发明解决其技术问题所采用的技术方案是:一种基于python的主机总线诊断方法,包括以下步骤:
S1、建立CAN的驱动lib库,所述驱动lib库包括多种CAN工具的驱动函数;
S2、遍历CAN的驱动lib库,利用驱动lib库中的各种CAN工具的驱动函数来识别主机接口;
S3、识别成功后与主机接口建立连接;
S4、进行诊断。
作为优选,所述步骤S4包括以下步骤:
S4-1、调用诊断写指令,在所有配置码中写入为0的数据;
S4-2、调用诊断读指令,读取配置码中的数据;
S4-3、判断读取的数据与写入的数据是否一致,如果否则将标记配置码并退出诊断。
作为优选,所述步骤S4包括以下步骤:
S4-4、调用诊断写指令,在所有配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,判断所有读取的数据与写入的数据是否一致,如果全部一致说明不满足互斥原则,标记需要存在互斥关系的配置码并退出诊断;
其中,所述互斥原则是指:特定的几位配置码在同一时间最多一位配置码的数据为1,否则主机系统报错。
作为优选,所述步骤S4包括以下步骤:
S4-5、调用诊断写指令,在需要存在互斥原则的配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,如果两个以上的配置码被读取的数据与写入的数据一致,则说明它们不满足互斥原则,标记这些配置码并退出诊断。
作为优选,所述步骤S4包括以下步骤:
S4-6、当满足互斥原则,发送复位指令,断电N秒后调用读指令,判断复位后读取的配置码的数据与复位前读取的数据是否一致,如果不一致则标记配置码并退出诊断。
本发明的有益效果是,这种基于python的主机总线诊断方法独立于CAN工具的配套软件,能够直接调用CAN工具的驱动lib库,独立的对各种CAN工具进行诊断,节省人工成本及测试周期。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的一种基于python的主机总线诊断方法的最优实施例的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
CAN工具包括CANoe、Vspy、ZLG和PCAN,通过对配置码的测试来诊断这些CAN工具是否存在异常,如图1所示,本发明提供了一种基于python的主机总线诊断方法的实施方式,包括以下步骤:
建立CAN的驱动lib库,驱动lib库包括多种CAN工具的驱动函数;
遍历CAN的驱动lib库,利用驱动lib库中的各种CAN工具的驱动函数来识别主机接口;
识别成功后与主机接口建立连接;
进行诊断。
首先是诊断读写功能,选择需要诊断的配置码,调用诊断写指令,在所有配置码中写入为0的数据;再调用诊断读指令,读取配置码中的数据;
判断读取的数据与写入的数据是否一致,如果否则说明读写存在异常,标记配置码并退出诊断。
如果读取的数据与写入的数据一致,则继续进行互斥诊断:
调用诊断写指令,在所有配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,判断所有读取的数据与写入的数据是否一致,如果全部一致说明不满足互斥原则,标记需要存在互斥关系的配置码并退出诊断。其中,所述互斥原则是指:特定的几位配置码在同一时间最多一位配置码的数据为1,否则主机系统报错。
以上进行的是整体判断,说明所有的配置码中存在不满足互斥原则的情况。如果存在有配置码不满足互斥原则,则需要一一筛选出具体的配置码:调用诊断写指令,在需要存在互斥原则的配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,如果两个以上的配置码被读取的数据与写入的数据一致,则说明它们不满足互斥原则,标记这些配置码并退出诊断。
当所有的配置码满足互斥原则,发送复位指令,延迟断电秒后调用读指令,判断复位后读取的配置码的数据与复位前读取的数据是否一致,如果不一致则标记配置码并退出诊断,如果一致则说明记忆功能正常。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (5)
1.一种基于python的主机总线诊断方法,其特征在于,包括以下步骤:
S1、建立CAN的驱动lib库,所述驱动lib库包括多种CAN工具的驱动函数;
S2、遍历CAN的驱动lib库,利用驱动lib库中的各种CAN工具的驱动函数来识别主机接口;
S3、识别成功后与主机接口建立连接;
S4、进行诊断。
2.如权利要求1所述的一种基于python的主机总线诊断方法,其特征在于,所述步骤S4包括以下步骤:
S4-1、调用诊断写指令,在所有配置码中写入为0的数据;
S4-2、调用诊断读指令,读取配置码中的数据;
S4-3、判断读取的数据与写入的数据是否一致,如果否则将标记配置码并退出诊断。
3.如权利要求2所述的一种基于python的主机总线诊断方法,其特征在于,所述步骤S4包括以下步骤:
S4-4、调用诊断写指令,在所有配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,判断所有读取的数据与写入的数据是否一致,如果全部一致说明不满足互斥原则,标记需要存在互斥关系的配置码并退出诊断;
其中,所述互斥原则是指:特定的几位配置码在同一时间最多一位配置码的数据为1,否则主机系统报错。
4.如权利要求3所述的一种基于python的主机总线诊断方法,其特征在于,所述步骤S4包括以下步骤:
S4-5、调用诊断写指令,在需要存在互斥原则的配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,如果两个以上的配置码被读取的数据与写入的数据一致,则说明它们不满足互斥原则,标记这些配置码并退出诊断。
5.如权利要求4所述的一种基于python的主机总线诊断方法,其特征在于,所述步骤S4包括以下步骤:
S4-6、当满足互斥原则,发送复位指令,断电N秒后调用读指令,判断复位后读取的配置码的数据与复位前读取的数据是否一致,如果不一致则标记配置码并退出诊断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111208928.5A CN113886127A (zh) | 2021-10-18 | 2021-10-18 | 一种基于python的主机总线诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111208928.5A CN113886127A (zh) | 2021-10-18 | 2021-10-18 | 一种基于python的主机总线诊断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886127A true CN113886127A (zh) | 2022-01-04 |
Family
ID=79003173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111208928.5A Pending CN113886127A (zh) | 2021-10-18 | 2021-10-18 | 一种基于python的主机总线诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886127A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690939A (zh) * | 2022-09-15 | 2023-02-03 | 厦门市美亚柏科信息股份有限公司 | 一种提取汽车edr数据的方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090000008A (ko) * | 2006-12-14 | 2009-01-07 | 현대자동차주식회사 | 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법 |
CN103309830A (zh) * | 2013-07-08 | 2013-09-18 | 哈尔滨工业大学 | VxWorks操作系统下CPCI总线CAN通信模块的驱动器及驱动方法 |
CN111475174A (zh) * | 2020-03-31 | 2020-07-31 | 东风汽车集团有限公司 | 一种车载网关在线刷写、配置的装置及方法 |
CN112153578A (zh) * | 2020-11-30 | 2020-12-29 | 广州汽车集团股份有限公司 | 车辆配置码自校验方法及车辆 |
CN113359657A (zh) * | 2020-03-05 | 2021-09-07 | 广州汽车集团股份有限公司 | Ecu诊断配置码校验方法及其系统、电子控制单元 |
-
2021
- 2021-10-18 CN CN202111208928.5A patent/CN113886127A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090000008A (ko) * | 2006-12-14 | 2009-01-07 | 현대자동차주식회사 | 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법 |
CN103309830A (zh) * | 2013-07-08 | 2013-09-18 | 哈尔滨工业大学 | VxWorks操作系统下CPCI总线CAN通信模块的驱动器及驱动方法 |
CN113359657A (zh) * | 2020-03-05 | 2021-09-07 | 广州汽车集团股份有限公司 | Ecu诊断配置码校验方法及其系统、电子控制单元 |
CN111475174A (zh) * | 2020-03-31 | 2020-07-31 | 东风汽车集团有限公司 | 一种车载网关在线刷写、配置的装置及方法 |
CN112153578A (zh) * | 2020-11-30 | 2020-12-29 | 广州汽车集团股份有限公司 | 车辆配置码自校验方法及车辆 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115690939A (zh) * | 2022-09-15 | 2023-02-03 | 厦门市美亚柏科信息股份有限公司 | 一种提取汽车edr数据的方法、装置及存储介质 |
CN115690939B (zh) * | 2022-09-15 | 2024-09-27 | 厦门市美亚柏科信息股份有限公司 | 一种提取汽车edr数据的方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102537875B1 (ko) | 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치 | |
CN101593146B (zh) | 页面自动化测试方法和装置 | |
CN100419710C (zh) | 用于嵌入式系统的例外分析方法与系统 | |
JP2002342178A (ja) | バス・エラーに優先順位を付ける方法、コンピュータ・プログラムおよびデータ処理システム | |
US20120144241A1 (en) | Device for dynamic analysis of embedded software of vehicle | |
CN115080398A (zh) | 一种接口自动化测试系统及方法 | |
CN113886127A (zh) | 一种基于python的主机总线诊断方法 | |
US7266432B2 (en) | Method of diagnosing an electronic control unit | |
CN112130873A (zh) | 嵌入式开发调试分析方法、系统以及存储介质 | |
US20040168164A1 (en) | Method and system for repair servicing of computers | |
CN109815076A (zh) | 一种网卡boot选项检测方法、系统、终端及存储介质 | |
US7478283B2 (en) | Provisional application management with automated acceptance tests and decision criteria | |
CN115422091A (zh) | 一种固件调试方法及装置、电子设备、存储介质 | |
CN115495363A (zh) | 一种软件测试方法、电子设备及可读存储介质 | |
CN112000579B (zh) | 一种软件接口测试方法、系统、设备及介质 | |
CN112363925A (zh) | 车机基础信息的获取方法、电子设备及计算机存储介质 | |
CN114296754A (zh) | 芯片平台升级方法及相关装置 | |
CN110781031B (zh) | 控制器数据恢复方法、装置、控制器及汽车 | |
CN109344003A (zh) | 电子设备系统自修复方法、装置、设备及介质 | |
CN100419694C (zh) | 检测硬盘安装位置正确性的系统及方法 | |
CN106033220A (zh) | 一种检测ECU Flash擦写状态的方法和系统 | |
CN111562956B (zh) | 终端的主题切换方法、装置、存储介质与电子设备 | |
CN116068988A (zh) | 一种针对不同车型的诊断故障代码识别方法及装置 | |
CN113886154B (zh) | 一种自动测试存储链路控制器的方法、装置及介质 | |
CN108563453A (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 |