CN111858305B - 一种仪表故障在线诊断方法及装置 - Google Patents
一种仪表故障在线诊断方法及装置 Download PDFInfo
- Publication number
- CN111858305B CN111858305B CN202010538896.4A CN202010538896A CN111858305B CN 111858305 B CN111858305 B CN 111858305B CN 202010538896 A CN202010538896 A CN 202010538896A CN 111858305 B CN111858305 B CN 111858305B
- Authority
- CN
- China
- Prior art keywords
- fault
- instrument
- information
- software
- script
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及一种仪表故障在线诊断方法及装置,包括如下步骤:S1.判断故障是否为软件问题,若是,编写脚本对常见故障进行测试并输出第一故障信息,然后执行步骤S2;若否,则解决非软件问题;S2.根据第一故障信息,确定故障是否能通过在线Debug方式找到,若是,则根据Debug信息解决问题;若否,则根据故障信息,进行故障复现,循环步骤S1、S2直至找到问题。本发明结合了传统的汽车仪表常见故障排查、在线Debug、复现现有汽车仪表软件故障等方法,对常见故障、复现率极低的故障实行分步处理,使比较难复现的问题快速复现,提高了软件故障诊断的准确性和速度。
Description
技术领域
本发明属于自动控制技术领域,涉及汽车零部件技术领域,具体涉及一种仪表故障在线诊断方法。
背景技术
在软件越来越定义产品的今天,软件的好坏以及稳定程度,基本上决定了一个产品的性能。汽车仪表作为提供车身信息和人机交互的重要一环,对整车性能的体验以及安全性有着重要的参考意义。
汽车仪表从传统机械仪表,到电气式仪表以及目前作为主流的大屏液晶仪表,软件的框架和结构随着复杂度的上升也在不断的变化和升级,同时处理的问题也越来越复杂和需要花费大量的时间去解决。
伴随着软件体量的增大,会遇到各种各样的问题,比如常规的接口使用错误,比较复杂难找的内存溢出或越界等问题。当然,比较通用化的问题,可以通过编译软件和一些其他的工具去解决,但是一些异常复杂和扑朔迷离的问题只有通过反复的测试复现和行业的经验来判定。
在这其中,黑屏是一个比较典型的问题。从产品来说,仪表黑屏,所有功能失效会给用户造成潜在的安全风险。所以在产品量产前需要去解决各种情况下导致的仪表黑屏问题。
黑屏问题一般可以从如下几个角度去考虑,首先从供电角度分析,仪表有没有提供电源,有没有提供背光电源。其次,可以分析是否硬件损坏导致仪表黑屏。对于大屏仪表还需要考虑是否是背光光源的关闭导致仪表黑屏。当然,以上都是很好判定,如果软件上存在BUG,那么需要去判定各种可能导致问题的地方,需要大量的调试和测试。
黑屏,死机等问题,一般发生在仪表重启或模式切换处,对问题的调查带来很不多不便,需要频繁的人工操作或者记录当前状态。很多时候,遇到黑屏为万分之一或者十万分之一概率时,问题会非常棘手。
在解决各种黑屏等问题上,通常需要花费大量的时间,如果有一种方案可以很快速的判定该问题原因,或者使比较难复现的问题快速复现,可以使得软件进度加速推行,对项目进度有很大的帮助。
发明内容
本发明针对当前仪表软件在解决黑屏死机这种偶发性,复现概率低等问题上,提供一种仪表在线故障诊断方法,能够解决在此情况下需要投入大量时间的问题。为解决上述技术问题,本发明的技术方案如下:一种仪表在线故障诊断方法,包括如下步骤:S1.判断故障是否为软件问题,若是,编写脚本对常见故障进行测试并输出第一故障信息,然后执行步骤S2;若否,则解决非软件问题;
S2.根据第一故障信息,确定故障是否能通过在线Debug方式找到,若是,则根据Debug信息解决问题;若否,则执行步骤S3;
S3.将仪表置于离线状态,判断是否能通过故障复现来确定故障范围;若是,则解决问题,若否,输出第二故障信息并执行步骤S4;
S4.根据所述输出的第二故障信息确定故障范围,判断是否能找到确切问题,若是,则解决问题;若否,缩小所述故障范围并执行步骤S1。
在本发明的一些实施例中,所述步骤S1中的常见故障包括系统时钟异常、死循环、驱动异常。
在本发明的一些实施例中,上述第一故障信息包括仪表在黑屏或死机下的状态信息或输出信息。
在本发明的一些实施例中,所述第二故障信息可从以下方式获取:
Debug窗口、DebugUart监测到的仪表软件运行信息、实时监控仪表软件的运行环境、修改正常LED/Port功能以指示当前仪表运行状态。
在本发明的一些实施例中,为快速对非常规故障进行复现,确定故障位置。所述故障复现包括以下方法:裁剪软件,分析软件中的可疑部分;加快OS调度时间;修改仪表不同运行状态的条件;快速多次重复运行软件。
上述OS调度时间包括OS实现正常功能的运行时间、OS执行长时间判定功能的运行时间。
在本发明的一些实施例中,所述仪表的运行状态包括启动、运行、关机、休眠、唤醒。优选的,为快速复现故障,所述仪表的运行状态持续时间不超过2秒。
本发明另一方面还提供了一种仪表在线故障诊断装置,包括第一测试单元、第一确定单元,第二测试单元、第二确定单元,发送单元,
所述第一测试单元用于按接收到的脚本或预设脚本对仪表进行故障检测并输出第一故障信息;
所述第一确定单元用于根据第一故障信息确定故障是否能通过在线Debug方式找到,和/或输出第二故障信息;
所述第二测试单元根据所述第二故障信息对仪表进行故障复现;
所述第二确定单元,根据故障复现的结果确定仪表的故障或故障范围,和/或根据所述故障范围编写脚本并发送给发送单元;
所述发送单元将接收到的脚本或预设脚本发送给第一测试单元。
优选的,所述第一故障信息包括仪表在黑屏或死机下的状态信息或输出信息;
所述第二故障信息可从以下方式获取:Debug窗口、DebugUart监测部分软件运行信息、实时监控运行环境、修改正常LED/Port功能以指示当前仪表运行状态。
本发明的有益效果是:本发明结合了传统的汽车仪表常见故障排查、在线调试、复现现有汽车仪表软件故障等方法,对常见故障、复现率极低的故障实行分步处理,使比较难复现的问题快速复现,提高了软件故障诊断的准确性和速度。
附图说明
图1为本发明一些实施例中的基本流程图;
图2为本发明的一些实施例中的具体流程图之一;
图3为本发明的一些实施例中的具体流程图之二;
图4为本发明的一些实施例中的故障诊断装置基本结构图。
附图中,各标号所代表的部件列表如下:
1、故障诊断装置,101、第一测试单元,102、第一确定单元,103、第二测试单元,104、第二确定单元,105、发送模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明的技术方案如下:一种仪表在线故障诊断方法,包括如下步骤:S1.判断故障是否为软件问题,若是,编写脚本对常见故障进行测试并输出第一故障信息,然后执行步骤S2;若否,则解决非软件问题;
S2.根据第一故障信息,确定故障是否能通过在线Debug方式找到,若是,则根据Debug信息解决问题;若否,则执行步骤S3;
S3.将仪表置于离线状态,判断是否能通过故障复现来确定故障范围;若是,则解决问题,若否,输出第二故障信息并执行步骤S4;
S4.根据所述输出的第二故障信息确定故障范围,判断是否能找到确切问题,若是,则解决问题;若否,缩小所述故障范围并执行步骤S1。
在本发明的一些实施例中,所述步骤S1中的常见故障包括系统时钟异常、死循环、驱动异常。
在本发明的一些实施例中,上述第一故障信息包括仪表在黑屏或死机下的状态信息或输出信息。
在本发明的一些实施例中,将汽车仪表通过像Uart串口、CAN总线、蓝牙、WIFi或其他连接方式与测试终端连接,通过Debug、DebugUart监测软件或其他监控调试软件,获取实时监测汽车仪表的软件状态、运行信息、运行环境,此外,通过修改汽车仪表上的LED/Port功能以指示当前运行状态(启动-运行-关机-休眠等),并将上述信息作为第二故障信息输出。
在一般的汽车仪表的故障判定和排查中,基本采用了复现现有软件的方式进行故障排查。该问题可能导致一些复现率极低的问题出现如下几种情况:1)观察数据少;2)输出数据不能明确问题方向;3)需要多次复现该极低概率问题。
因此,在本发明的一些实施例中,为快速对非常规故障进行复现,确定故障位置,所述故障复现包括以下方法:
1.裁剪软件,分析软件中的可疑部分;即使裁剪后,仪表出现错误也可快速的找准方向进行后续的分析。例如,选择性地屏蔽汽车仪表中的与用户交互的Application功能。
2.加快OS调度时间:上述OS调度时间包括OS实现正常功能的运行时间、OS执行长时间判定功能的运行时间。例如将正常功能快速化,100ms Task任务的优化为10msTask等,需要长时间判定的功能,短时间化。
3.修改仪表不同运行状态的条件;修改启动-运行-关机-休眠-唤醒的条件,让仪表快速的在几种状态之间切换。正常情况下仪表的启动和休眠都需要满足一定的特殊条件和时长要求,对复现时间有很大影响。
4.修改快速多次重复运行软件。
在上述方案中,在休眠唤醒处的低复现bug的复现概率为十万分之一,正常情况下,需要模拟开关机,自检动作,休眠等待时间等一系列条件和状态,需要测试大约十万次才能复现出来。采用该方案,将时间缩短在短短2s之内,那么1小时就可以循环该过程1800次,一天就可以复现一半的工作量,大大加快了复现时间,加快软件整体进度和解决问题的效率。
如图3所示,在本发明的一些实施例中,步骤S1:编写测试脚本(程序),找到可能导致该问题的地方(常见故障),对该部分关键信息进行输出。如下几类信号需要明确:系统时钟中断是否运行;是否进入死循环;是否驱动异常。
步骤S2:打开测试端口或增加信息输出方法,增加仪表黑屏状态下故障显示或死机前状态输出。如下几个方法可以依赖:Debug窗口,实时监测软件状态;DebugUart监测部分软件运行信息;基于一些协议,实时监控运行环境;修改正常LED/Port功能,指示当前运行状态。
步骤S3:修改当前软件运行时序和运行逻辑,增大软件运行故障机遇。有如下几个方法可以使用:有选择性屏蔽Application功能,加快OS调度时间,修改启动-运行-关机-休眠-唤醒条件,让软件可以达到进行自身各模式下运行条件。
步骤S4:运行测试程序,可以通过如下几个方面去观察问题和复现:
在调试窗口可以复现的问题,已找到问题来源;在调试窗口不复现问题,离线情况下,根据黑屏死机下仪表的状态和输出信息,判定大概的问题模块。
步骤S5:确定大概的问题模块,重复1-4过程,进行故障查找和处理。
如图4所示,本发明另一方面还提供了一种仪表在线故障诊断装置1,包括第一测试单元101、第一确定单元102,第二测试单元103、第二确定单元104,发送单元105,所述第一测试单元101用于按接收到的脚本或预设脚本对仪表进行故障检测并输出第一故障信息;
所述第一确定102单元用于根据第一故障信息确定故障是否能通过在线Debug方式找到,和/或输出第二故障信息;
所述第二测试单元103根据所述第二故障信息对仪表进行故障复现;
所述第二确定单元104,根据故障复现的结果确定仪表的故障或故障范围,和/或根据所述故障范围编写脚本并发送给发送单元。编写测试脚本的方法:可直接调用已有的测试脚本;或通过预设的规则,将已有的故障、测试条件与对应的脚本片段对应起来,然后由自动化软件测试工具(LoadRunner和Jmeter等)进行融合,形成测试脚本。或由计算机根据已有仪表的测试方案,通过自然语言处理根据故障描述或故障信息、以及与故障关联的对应的测试片段通过机器学习,输出测试脚本。
所述发送单元105将接收到的脚本或预设脚本发送给第一测试单元。
在本发明的一些实施例中,优选的,所述第一故障信息包括仪表在黑屏或死机下的状态信息或输出信息;所述第二故障信息可从以下方式获取:Debug窗口、DebugUart监测到的仪表软件运行信息、实时监控仪表软件的运行环境、修改正常LED/Port功能以指示当前仪表运行状态。
需要说明的是,通过以上的实施方式的各单元的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种仪表在线故障诊断方法,其特征在于,包括如下步骤:
S1.判断故障是否为软件问题,若是,编写脚本对常见故障进行测试并输出第一故障信息,然后执行步骤S2;若否,则解决非软件问题;其中,所述第一故障信息包括仪表在黑屏或死机下的状态信息或输出信息,
S2.根据第一故障信息,确定故障是否能通过在线Debug方式找到,若是,则根据Debug信息解决问题;若否,则执行步骤S3;
S3.将仪表置于离线状态,判断是否能通过故障复现来确定故障范围:裁剪软件,分析软件中的可疑部分;加快OS调度时间;修改仪表不同运行状态的条件:修改启动-运行-关机-休眠-唤醒的条件,让仪表快速的在几种状态之间切换;快速多次重复运行软件;
若是,则解决问题,若否,输出第二故障信息并执行步骤S4;其中,所述第二故障信息从以下方式获取:Debug窗口、DebugUart监测到的仪表软件运行信息、实时监控仪表软件的运行环境、修改正常LED/Port功能以指示当前仪表运行状态;
S4.根据所述输出的第二故障信息确定故障范围,判断是否能找到确切问题,若是,则解决问题;若否,缩小所述故障范围并执行步骤S1。
2.根据权利要求1所述的仪表在线故障诊断方法,其特征在于,所述步骤S1中的常见故障包括系统时钟异常、死循环、驱动异常。
3.根据权利要求1所述的仪表在线故障诊断方法,其特征在于,所述OS调度时间包括OS实现正常功能的运行时间、OS执行长时间判定功能的运行时间。
4.根据权利要求1所述的仪表在线故障诊断方法,其特征在于,所述仪表的运行状态包括启动、运行、关机、休眠、唤醒。
5.根据权利要求4所述的仪表在线故障诊断方法,其特征在于,所述仪表的运行状态持续时间不超过2秒。
6.一种仪表在线故障诊断装置,其特征在于,包括第一测试单元、第一确定单元,第二测试单元、第二确定单元,发送单元;
所述第一测试单元用于按接收到的脚本或预设脚本对仪表进行故障检测并输出第一故障信息;所述第一确定单元用于根据第一故障信息确定故障是否能通过在线Debug方式找到,和/或输出第二故障信息;其中,所述第一故障信息包括仪表在黑屏或死机下的状态信息或输出信息;所述第二故障信息可从以下方式获取:Debug窗口、DebugUart监测到的仪表软件运行信息、实时监控仪表软件的运行环境、修改正常LED/Port功能以指示当前仪表运行状态;
所述第二测试单元根据所述第二故障信息对仪表进行故障复现:将仪表置于离线状态,判断是否能通过故障复现来确定故障范围:裁剪软件,分析软件中的可疑部分;加快OS调度时间;修改仪表不同运行状态的条件:修改启动-运行-关机-休眠-唤醒的条件,让仪表快速的在几种状态之间切换;快速多次重复运行软件;所述第二确定单元,根据故障复现的结果确定仪表的故障或故障范围,和/或根据所述故障范围编写脚本并发送给发送单元;
所述发送单元将接收到的脚本或预设脚本发送给第一测试单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010538896.4A CN111858305B (zh) | 2020-06-13 | 2020-06-13 | 一种仪表故障在线诊断方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010538896.4A CN111858305B (zh) | 2020-06-13 | 2020-06-13 | 一种仪表故障在线诊断方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858305A CN111858305A (zh) | 2020-10-30 |
CN111858305B true CN111858305B (zh) | 2023-04-21 |
Family
ID=72986853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010538896.4A Active CN111858305B (zh) | 2020-06-13 | 2020-06-13 | 一种仪表故障在线诊断方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858305B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114815787A (zh) * | 2022-06-28 | 2022-07-29 | 航天科技控股集团股份有限公司 | 全液晶仪表故障码自动测试方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6163858A (en) * | 1998-06-08 | 2000-12-19 | Oracle Corporation | Diagnostic methodology for debugging integrated software |
CN103852677A (zh) * | 2012-12-04 | 2014-06-11 | 天津市电力公司 | 一种电子产品中接触不良故障的快速诊断定位方法 |
CN104252573A (zh) * | 2014-04-04 | 2014-12-31 | 西北工业大学 | 一种基于分步模式的机械多故障诊断方法 |
CN104503423A (zh) * | 2014-11-21 | 2015-04-08 | 河南中烟工业有限责任公司 | 基于profinet的工业以太网控制系统故障诊断方法 |
CN105530512A (zh) * | 2015-12-08 | 2016-04-27 | 四川长虹电器股份有限公司 | 一种智能电视故障检测和修复的方法及系统 |
CN106055484B (zh) * | 2016-06-30 | 2019-03-19 | 南京南瑞集团公司 | 一种抽水蓄能电站控制软件在线故障诊断方法及系统 |
CN107026760B (zh) * | 2017-05-03 | 2020-03-20 | 联想(北京)有限公司 | 一种故障修复方法及监控节点 |
US11599445B2 (en) * | 2018-06-15 | 2023-03-07 | Board Of Regents, The University Of Texas System | Watcher: precise and fully-automatic on-site failure diagnosis |
CN110888763A (zh) * | 2018-09-11 | 2020-03-17 | 北京奇虎科技有限公司 | 磁盘故障诊断方法、装置、终端设备及计算机存储介质 |
CN111176262A (zh) * | 2020-01-20 | 2020-05-19 | 东风小康汽车有限公司重庆分公司 | 一种车辆故障的检测方法和系统 |
-
2020
- 2020-06-13 CN CN202010538896.4A patent/CN111858305B/zh active Active
Non-Patent Citations (3)
Title |
---|
人机界面运营过程复现系统的应用研究;张友兵等;《铁路计算机应用》;20150925;第24卷(第9期);全文 * |
如何有效执行测试;王雪松等;《计算机工程应用技术》;20170930;第13卷(第31期);全文 * |
邹汝平.可靠性工程.《多用途导弹系统设计》.2018, * |
Also Published As
Publication number | Publication date |
---|---|
CN111858305A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105866575B (zh) | 一种车载显示器综合测试装置及测试方法 | |
CN111459816A (zh) | 故障注入测试方法、装置、系统及存储介质 | |
US20160321159A1 (en) | Integrating a Protocol Analysis Device with Features of a Software Development Program | |
US9483374B2 (en) | PSMI using at-speed scan capture | |
CN111309343B (zh) | 一种开发部署方法及装置 | |
CN114138644A (zh) | Bmc调试方法及监控方法、系统、装置、设备、介质 | |
CN104583969A (zh) | 具备自监视功能的计算机、监视程序 | |
CN111858305B (zh) | 一种仪表故障在线诊断方法及装置 | |
CN113626317A (zh) | 一种自动驾驶软件调测系统、方法、介质和设备 | |
US8381185B2 (en) | Apparatus, system, and method for dynamic module flow analysis | |
WO2023185061A1 (zh) | 功能安全系统的检测方法、系统、电子设备、存储介质 | |
CN108984380A (zh) | 一种基于Linux系统的服务器测试方法、装置及介质 | |
US20030009709A1 (en) | Functional element test tool and method | |
CN116893842A (zh) | 用于从技术安装设施中的工程程序中根除程序错误的方法和系统 | |
CN117539215A (zh) | 控制芯片的单次瞬时故障注入方法及装置 | |
CN112181820B (zh) | 车辆仿真环境的搭建方法、车辆系统问题定位方法及装置 | |
CN101042715A (zh) | 验证目标系统的验证系统及其验证方法 | |
CN111984537A (zh) | 一种基于WebIDE的软件测试方法、存储介质、装置 | |
Takahashi et al. | A comprehensive creation method of hardware and software combined test specifications for industrial product controlled by software using HAZOP | |
CN110941537A (zh) | 一种基于行为状态的进程检测方法及检测装置 | |
CN111025166A (zh) | 用于电池检测系统的调试器 | |
CN114327648B (zh) | 一种驱动调试方法、装置、电子设备及存储介质 | |
CN117539216B (zh) | 控制芯片的周期性瞬时故障注入方法及装置 | |
CN117311672B (zh) | 软件模型架构、电池管理系统控制器和车辆 | |
CN110443180B (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 |