一种基于python的主机总线诊断方法技术

技术编号:31754060 阅读:17 留言:0更新日期:2022-01-05 16:36
本发明专利技术提供了一种基于python的主机总线诊断方法,包括以下步骤:S1、建立CAN的驱动lib库,所述驱动lib库包括多种CAN工具的驱动函数;S2、遍历CAN的驱动lib库,利用驱动lib库中的各种CAN工具的驱动函数来识别主机接口;S3、识别成功后与主机接口建立连接;S4、进行诊断。这种基于python的主机总线诊断方法独立于CAN工具的配套软件,能够直接调用CAN工具的驱动lib库,独立的对各种CAN工具进行诊断,节省人工成本及测试周期。工成本及测试周期。工成本及测试周期。

【技术实现步骤摘要】
一种基于python的主机总线诊断方法


[0001]本专利技术涉及汽车主机的诊断方法,尤其涉及一种基于python的主机总线诊断方法。

技术介绍

[0002]汽车主机在出厂和遇到故障时都需要对其总线进行诊断测试,主机的总线一般采用CAN总线,CAN总线具有多种CAN工具,现有的诊断方式需要采用与CAN工具配套的特定软件才可以进行。这些配套的特定软件中CAN工具的诊断测试只是软件的一小部分,而每种车型的软件也不尽相同,这给汽车服务商为车主提供诊断测试服务带来了不便,他们安装那么多特定软件但是平时只应用其中一小部分功能的情况显然是不合理的。

技术实现思路

[0003]本专利技术要解决的技术问题是:为了解决现有技术的中的上述问题,本专利技术提供了一种基于python的主机总线诊断方法来解决上述问题。
[0004]本专利技术解决其技术问题所采用的技术方案是:一种基于python的主机总线诊断方法,包括以下步骤:S1、建立CAN的驱动lib库,所述驱动lib库包括多种CAN工具的驱动函数;S2、遍历CAN的驱动lib库,利用驱动lib库中的各种CAN工具的驱动函数来识别主机接口;S3、识别成功后与主机接口建立连接;S4、进行诊断。
[0005]作为优选,所述步骤S4包括以下步骤:S4

1、调用诊断写指令,在所有配置码中写入为0的数据;S4

2、调用诊断读指令,读取配置码中的数据;S4

3、判断读取的数据与写入的数据是否一致,如果否则将标记配置码并退出诊断。
[0006]作为优选,所述步骤S4包括以下步骤:S4

4、调用诊断写指令,在所有配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,判断所有读取的数据与写入的数据是否一致,如果全部一致说明不满足互斥原则,标记需要存在互斥关系的配置码并退出诊断;其中,所述互斥原则是指:特定的几位配置码在同一时间最多一位配置码的数据为1,否则主机系统报错。
[0007]作为优选,所述步骤S4包括以下步骤:S4

5、调用诊断写指令,在需要存在互斥原则的配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,如果两个以上的配置码被读取的数据与写入的数据一致,则说明它们不满足互斥原则,标记这些配置码并退出诊断。
[0008]作为优选,所述步骤S4包括以下步骤:S4

6、当满足互斥原则,发送复位指令,断电N秒后调用读指令,判断复位后读取的配置码的数据与复位前读取的数据是否一致,如果不一致则标记配置码并退出诊断。
[0009]本专利技术的有益效果是,这种基于python的主机总线诊断方法独立于CAN工具的配套软件,能够直接调用CAN工具的驱动lib库,独立的对各种CAN工具进行诊断,节省人工成本及测试周期。
附图说明
[0010]下面结合附图和实施例对本专利技术进一步说明。
[0011]图1是本专利技术的一种基于python的主机总线诊断方法的最优实施例的流程图。
具体实施方式
[0012]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0013]CAN工具包括CANoe、Vspy、ZLG和PCAN,通过对配置码的测试来诊断这些CAN工具是否存在异常,如图1所示,本专利技术提供了一种基于python的主机总线诊断方法的实施方式,包括以下步骤:建立CAN的驱动lib库,驱动lib库包括多种CAN工具的驱动函数;遍历CAN的驱动lib库,利用驱动lib库中的各种CAN工具的驱动函数来识别主机接口;识别成功后与主机接口建立连接;进行诊断。
[0014]首先是诊断读写功能,选择需要诊断的配置码,调用诊断写指令,在所有配置码中写入为0的数据;再调用诊断读指令,读取配置码中的数据;判断读取的数据与写入的数据是否一致,如果否则说明读写存在异常,标记配置码并退出诊断。
[0015]如果读取的数据与写入的数据一致,则继续进行互斥诊断:调用诊断写指令,在所有配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,判断所有读取的数据与写入的数据是否一致,如果全部一致说明不满足互斥原则,标记需要存在互斥关系的配置码并退出诊断。其中,所述互斥原则是指:特定的几位配置码在同一时间最多一位配置码的数据为1,否则主机系统报错。
[0016]以上进行的是整体判断,说明所有的配置码中存在不满足互斥原则的情况。如果存在有配置码不满足互斥原则,则需要一一筛选出具体的配置码:调用诊断写指令,在需要存在互斥原则的配置码中写入为1的数据,调用诊断读指令,读取配置码中的数据,如果两个以上的配置码被读取的数据与写入的数据一致,则说明它们不满足互斥原则,标记这些配置码并退出诊断。
[0017]当所有的配置码满足互斥原则,发送复位指令,延迟断电秒后调用读指令,判断复位后读取的配置码的数据与复位前读取的数据是否一致,如果不一致则标记配置码并退出
诊断,如果一致则说明记忆功能正常。
[0018]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本专利技术的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0019]以上述依据本专利技术的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项专利技术技术思想的范围内,进行多样的变更以及修改。本项专利技术的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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的数据,调用诊断读指令,...

【专利技术属性】
技术研发人员:张华董武
申请(专利权)人:常州新途软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1