行业见解
故障处理提示:隔离间歇故障
发布02/28/2012
| By: Kristin Lewotsky, Contributing Editor
确定间歇性故障的原因需要一种规范的方法。
在工程学中,可能没有什么比发现偶尔出现的故障更困难的了。问题可能在于控制硬件,它可能是由布线故障引起的,它可能是由最近的软件更新引入的——可能的来源是无尽的,但停机成本,所以支持团队需要隔离和修复问题尽快。
在故障排除系列文章的第一篇中,我们将重点介绍更有效地纠正间歇性故障来源的技巧和技术。故障查找是一个动态过程。确定故障的原因显然要视情况而定。也就是说,有些工程师对这项任务有天赋。我们询问了一些业内专家,看看他们能提供什么建议来加快解决你自己的问题。
您在遇到瞬态断层时的第一次行动是什么?下一步你要怎么做?
首先,确定具体的故障。今天的大多数数字驱动器都包含一个故障寄存器,以指示特定的故障,如欠压、过流或控制错误。给出具体的错误,需要运用归纳和演绎相结合的推理。我通常从归纳推理开始。例如,如果是欠压故障,我就会开始问这样的问题:“是什么原因导致的?供电不足?”高加速度?电路连接不好?”如果系统已经在生产中很长时间了,突然断断续续的故障开始出现,首先要问自己的问题是,软件发生了什么变化?硬件?生产过程? Given good initial questions, you can then begin to apply deductive reasoning to systematically eliminate different possible causes.
-约翰·钱德勒,美国科技软件公司北美销售副总裁
我通常从观察间歇性问题的人那里收集更多的信息。第一步是看看这是否是一个已知的用户问题(用户电源,当前代码中的bug修复,等等),可以从线路级别的技术人员那里获得大量跟踪问题的信息。我学会了问自己:“这是怎么了?”会变成“这就是我问你的!”“是什么让你认为这个装置不工作?”将提供您正在寻找的一系列症状。
-Donald Labriola, QuickSilver Controls Inc.总裁
第一个要做的是记录症状。发生的事情,什么时候?是否通常有另一个在错误之前的活动?
-应用支持团队经理ian Hall西门子Inc.。
间歇故障最常见的原因是什么?
有太多的网站和应用程序特定的条件做一个广泛的声明在这方面但是有工作了25年的控制/驱动器制造业务,我可以满怀信心地说,最常见的原因返回组件产品的领域,“没问题。”维修技术人员经常面临压力,不一定要找到根本原因,而只是让设备重新运行。大多数时候,他们只是简单地更换零件,直到机器运行。一旦机器开始运转,留给他们的是一箱大部分都很好的零件,愉快的管理,并且没有真正理解问题出在哪里。这些部件随后被送回各自的供应商进行故障分析。有时,这是最实际的做法,但很少考虑这种方法的全部成本。对于这种行为,我不责怪现场技术人员。
李鸿源。
各种级别的互连是我看到的故障最常见的原因:松散或污染的连接器,焊接,电线压接等。接下来是不必要的交互,无论是接地回路还是在硬件或软件界面中发现弱点的多个处理器的交互。最后,我看到了与进入数据的一种或另一种形式的混叠相关的交互。
-D.L。
根据我的经验,间歇性故障是最常用的硬件相关的硬件与安装有损坏的产品或问题。在某些情况下,软件或固件是根本原因。实际上,大多数软件问题都不像他们看起来那样间歇性。
-Jim Wiley,应用工程团队负责人,派克汉尼汾公司集团。
在硬件(驱动器等)上,最常见的是驱动器外部的东西——外部输入的线供应。在运动控制器或PLC中,它通常是用户逻辑中的竞争条件。
-I.H。
在数据记录方面是否有什么特别之处来隔离活动?
对那些观察到间歇性的人的详细质疑,他们正在做什么以及系统在做什么。了解当发生间歇性时,系统在做什么可以帮助您在尝试使其更快或更持续地失败的内容中进行受过教育的猜测。例如,反复失败的系统比仅在每隔几周内失败的系统更容易调试。
-D.L。
触发是找到间歇性故障的根本原因的关键。当今市场上大多数数字驱动器都提供具有触发能力的内置示波器工具。从上面的“下电压”示例,可以将良好的范围配置为触发下一次故障的发生。一旦设置,系统可以运行小时,然后突然在发生故障时突然发生,可以在事件之前捕获0.5秒,例如“电源电压”,“电动机电流”和“电动机速度”。“从此捕获的数据,您可以看出电源只有在电机高加速度和接近某些名义速度时才能掉线。
李鸿源。
示波器是试图理解故障的好工具。除了硬件示波器外,还支持驱动器和控制器的许多软件包包括软示波器。可视化编码器,输入和其他信号的模式通常可能导致问题的原因。
-J.W.
如何确定故障是硬件、软件还是线路故障?
软件往往是可重复的。软件故障看起来可能是间歇性的,但通常这是因为导致故障的条件非常特定。然而,一旦这些条件出现,软件将总是以相同的预编程逻辑方式作出反应。另一方面,硬件故障往往受到端部环境的影响,包括线缆和其他现场条件。
李鸿源。
第一步是从如何观察到错误以及能够产生这种症状的东西的回报。尝试用各种教育的猜测掌握这些原因通常会使若干怀疑是不作为改变的功率,将噪声注入电力系统,或将RF注入系统中。我喜欢多频带5-W,手持式火腿收音机,天线几乎触摸了电路板。如果这不打扰你的系统,你通常不会发现RF是问题。电缆和连接器上的物理压力以及振动和热循环(热枪和冷冻喷雾)通常可以追溯布线和焊接问题。良好的仔细看看物理连接和焊接在PCB上通常可以定位PCB焊接或污染问题。Rotating the board to pick up reflections from a strong light source (or the sun through a window) can show which solder point doesn’t reflect the light like the others - they “wink” at you out of step with the other solder joints, indicating a different contour angle because the solder has not flowed in the same way as the other solder joints. These are good places to begin your search.
第一次搜索软件是回到以前的“已知良好”版本,历史良好,没有故障的证据。如果您能够找到频率更加重复的方法,这是特别有用的。行为的变化可能有助于找到嫌疑码。芯片操作中的勘误可以更令人沮丧,但不要统治它。如果您可以记录问题,则出厂支持通常会将问题提升到设计人员和根本原因以及可以获得解决方案。
别名,通常是硬件问题,可以是审查的另一个难题。密钥线索在另一个系统或数据中从另一个系统中看到波形,不同的时间尺度。了解来自各种高频的波形,高功率部分,如电源和驱动器,可以帮助其帮助。一个极端示例是在HV电源充电时卸载到滞后模式的闪光灯电源中的电源纹波。滞后充电是大约几毫秒的顺序。使用闪光灯从光学系统获取的数据显示放电曲线在多秒钟内膨胀到多秒钟 - 但偶尔。曲线的形状,有时是倒置,是问题的线索。在电压维护操作中略微重新设计,以产生更低水平的滞后(并且因此充电脉冲)降低了正常操作中的噪声水平,并消除了随机困扰系统的幽灵锯齿。
-D.L。
如何确定故障是否响应外部条件,例如从相邻机器的温度摇摆或功率抽取?
当发生故障时,隔离变压器和仔细观察相邻机器的工作情况可能会有所帮助。对同一故障同时发出的“咔嗒”声或“呼呼声”声的几次观测可能有助于确定其因果关系。有时使用热室可以帮助温度波动,但我看到一些问题只发生在非常小的温度范围内,这可以促使一个人考虑从事销售工作!
大型仪器中的共用电源导致系统在每个电路板后返回到工厂,并且在系统中几乎所有电缆都已在该领域中取代。罪魁祸首是通过在“受害者信号”和观看系统操作上的范围中聆听系统。受害者脉冲与单击螺线管的点击重合。目视检查表明,螺线管上的捕获二极管尖锐的是与受害者电路共用的12 V电源。二极管物理地安装在螺线管上,因此通过改变电路板或线束而不是固定。
-D.L。
你必须孤立和正确的最难瞬态的错误是什么?您可以更快地孤立或防止发生秋天的情况不同?
也许这并不是最难的,但挑衅地是最奇怪的。在新的驱动器设计完成一年后,我们在第一个预生产中找到了30%的预生产运行,在24小时的刻录测试中发生了30%的故障。在仔细检查后,我们发现测试的每个驱动器都会在确切的时间段内运行,然后通过重置,但每个驱动器的确切时间段不同,含义驱动器将始终在一小时后,23分钟和23分钟后始终重置。42秒的跑步,但驱动器两个将在六小时后始终重置43分钟和12秒的运行后重置。问题原因是由于最后一分钟软件更新,我们未能初始化RAM内存中的变量。此变量将从某些未知的起始值计数,然后导致执行非法地址,这反过来导致重置。复位时间是可重复的原因,但与下一个驱动器不同,是因为RAM内存芯片内的任何给定位置都会倾向于每次相同的值,但从一个芯片到下一个芯片,这个值将是不同的。
行为是可重复的事实告诉我们从一开始,根本原因可能是由于软件而不是硬件。它还在我们的驱动器中拒绝了处理器保持一个寄存器,用于确定导致重置的原因,这表明了非法地址而不是其他四个可能的原因中的一个。将两个和两个共同可重复的问题,由非法地址加上一些归纳推理引起的重置,我们很快意识到我们未能初始化变量。我们搜索了代码,找到了它并修复它。
李鸿源。
我们曾经历过编码器间歇性故障,导致一台大型印刷机关闭。故障将复位,然后按下将再次运行,但重复故障之间的时间将减少,直到出现无法复位的硬故障,编码器必须更改。在寻找此类失败的原因时,您需要列出所有可能的(和不可能的)原因,然后从最可能的和最容易测试/消除的开始,从列表中删除尽可能多的这些原因。我们在早期排除了一些简单的问题,然后转向更困难的可能性,如EMC干扰、振动等。
测试结果和故障原因为编码器的轴向载荷。设计变化对电机安装媒体和非常严格的公差引起的编码器安装在电动机的轴向载荷应用通过电机轴压编码器与电机后盖和创建的编码器上的轴向载荷,最终导致编码器轴承的失败。轴承的故障影响了编码器中的电子元件的完整性,从而导致间歇性故障,最终随着时间的推移导致硬故障。
-I.H。
最大的错误工程师试图隔离间歇性故障是什么?
他们有时在真正试图找出错误之前就恐慌并放弃了。或者,为了快速解决问题,他们采取了猎枪式的方法,忽略了一些更系统的方法可能发现的明显的东西。冷静的头脑和一些合理的推理可以大有帮助。
李鸿源。
我看到了在有条不紊的根的工程师们非常擅长,导致这些问题和许多工程师在没有和真实明确方向的情况下持续的。我在开始每天的故障排除之前,我的最佳建议是与团队的故障排除,并与您正在努力证明或反驳的团队进行头脑风暴。通常情况下,我看到团队花了天数,失去了他们真正想要了解,证明或弄清楚的是他们的故障排除练习延伸的东西。我喜欢领导白板讨论并抛出我们认为可能发生的所有可能的事情,然后弄清楚测试证明或反驳这些想法。然后,我们开始根据复杂性和整体肠道感受到我们认为根本原因的可能性,开始优先考虑测试。
-bill Allai,运动控制主要工程师,国家文书
早期的假设和不保持开放的心态。我们经常对一个问题做出初步诊断而不考虑其他可能性。这可能导致花费过多的时间来寻找错误的解决方案。工程师需要愿意退后一步,回答那些看似多余的问题。通常,在故障排除过程的一开始就被认为无关紧要的事情,在以后以新的眼光看待时可能会导致解决方案的出现。
-J.W.
未能记录采取的步骤和结果。在压力下调试复杂问题时,很快就会快速移动,并尝试解决问题。过了一会儿,工程师可以开始进入圈子,应用已经尝试和拒绝的修复程序。记录步骤缓解了这一点,并使这一行动致力于构建思想过程,导致更好的故障发现过程。
-I.H。
你最喜欢的故障排除工具是什么?你希望你在第一次开始排除间歇性故障时知道吗?
我开始从大约七岁的东西进行故障排除。这是一种尝试修复东西而不是恰好替换零件的生活方式。对基本面物理学的良好理解可以显着帮助洞察系统。良好的工具可以帮助 - 我的最爱是一个良好的近场H探头,以追逐地面噪音,EMI和差的开关电源设计。他们可以从半英寸或更多的问题看出这个问题,然后可以帮助找到特定的侵略者信号。一对探针可用于在距离中再次看到噪声信号和开关源之间的时间相关性。了解传输线和电感物理可以帮助设计和调试切换耗材和寄生问题。了解以较高级别语言编程的机器的组装级编程可能是跟踪编译器错误,或解释异常执行错误至关重要。
-D.L。
如何在不花费过多的工程时间或导致过多的停机时间的情况下隔离和修复故障?
在暂停故障之前,在现场拍摄问题之前,在实验室中花时间熟悉可用的诊断工具。此外,确保您了解底层控制系统结构,以便在存在异常行为时,您知道要记录的信号。
李鸿源。
如果我可以提供替换单元以远离线路的故障,我通常先尝试这种方法。如果清除故障,则确定了故障的范围,并备份该行。然后可以以更悠闲的速率探测故障单元。如果替换部分修复问题但是替换部分似乎不再导致任何故障,有时需要在正常小时之外进行正常时间的行。如果它是一个不能重复的单个单元故障,请将单位保持在隔离区,直到其他单位显示问题或直到据信这是一个单位问题(例如ESD到暴露的PCB)可以是可接受的方法。这通常在某些时候花在其他故障排除之后。
并不是每一个故障都能在合理的时间和成本限制内被确定。有缺陷的硅和其他坏零件,如果非常罕见,可能不总是能够解决。客户对发生在该单位的情况的描述可能并不总是包括所有需要的信息(特别是如果认罪将使保修无效)。我们有一个单位因为通讯不良而被退回,我们一开始找不到原因。然后我们发现了一些没有烧焦PCB就蒸发了的痕迹。黑色的阳极氧化盖显示出铜色的辉光。只有在我们发现这一点并添加跳线来替换蒸发痕迹之后,客户才承认有可能120 V已经击中了他们机柜中的RS232连接。
-D.L。
坚持基本原则,缩小问题的范围。
-J.W.
在工程团队中,知识的培训和交叉授粉是必不可少的。
-I.H。
我跟踪了一个“内存问题”,它在新的商业存储板中产生错误代码校正(ECC)错误。问题是间歇性的,只有大约每六周发生特定系统。几个经验丰富的工程师在我落在它之前,每个人都有六个星期的问题。随着以前版本(工作)的板几乎缺货,它即将关闭主要产品系列非常接近,并且不再可用于生产这些董事会的关键部分。
新的记忆板设计得到了很好的审查,并且似乎不是问题的来源。仔细采访几个线路技术人员揭示了仪器在发生错误时始终处于相同的过程。该过程通过共享存储器在系统中的一对处理器之间传输大量数据。拍摄(科学)疯狂猜测)多处理器互动是关键的线索,我有分配给问题的软件工程师组成了一些自定义代码,导致两个处理器尽可能快地重复读取和写入共享内存。在不到一天的开始,我们能够在30秒内而不是六周内完成系统。
该问题与一些具有不当上升的握手线条有关,并且在其中一个处理器上使用时钟的错误边缘的使用,这些处理器减少了握手线的稳定时间。停滞的处理器最终看到了第一处理器的转移确认的残余,并辅助一系列噪声。更改为使用时钟边缘并更改上拉/终端电阻提供了适当的定时,并消除了ECC误差。花时间查询第一级技术人员,他们的观察值是值!
-D.L。