As will be described in more detail, the test executive 14 is coupled to the instrument 1 for having the embedded test software 3 running for testing the various device assemblies in the instrument 1. The test results arising from running the test software 3 are sent to the diagnostic agent 16 which responds to produce a listing of components with the corresponding test results. Those components passing a prescribed functional test routine are marked with a PASS designation and those components failing a prescribed functional test routine are marked with a FAIL designation. The diagnostic agent 16 also responds to the test results for calculating the potential failure cause percentages for components tested by the functional test routines. The main portion of the diagnostic agent 16 is derived from a commercially available product known as the Agilent Fault Detective, which is made by and available for purchase from Agilent Technologies, the assignee of the present invention. As will be described, the diagnostic software program in the Agilent Fault Detective is specifically modified to be the diagnostic agent 16 used in the present invention. The Agilent Fault Detective product is compatible with windows-based operating systems from Microsoft and other vendors.
The Agilent Fault Detective product includes a user-developed model that combines an understanding of the test software 3 and the logical components in the unit under test (e.g., the device assemblies in the instrument to be tested). The Agilent Fault Detective software comprises a development application and a run-time engine. The development application is a model development program that uses a GUI (Graphical User Interface) for creating, debugging and maintaining models of the device assemblies in the instrument 1 or any electronic equipment to be tested. The development application accepts test results and provides a diagnosis during model development so that the models can be debugged and refined while maintaining histories of root failure causes. The run-time engine has an API (Application Programming Interface) so that test results can be sent to the Fault Detective for diagnosis to produce the PASS/FAIL listing of components and associated calculated failure cause percentages.
In an actual working embodiment of the present invention to be described in detail, a Microwave Spectrum Analyzer product available from Agilent Technologies was coupled to the working embodiment of the present invention to test, diagnose and troubleshoot an IF (Intermediate Frequency) assembly within the Analyzer. A description of the working embodiment will be given for explaining various features of the present invention which is not limited to the specific descriptions of the working embodiment.
With reference to
Testing of the various components of the IF assembly comprises a series of prescribed functional test routines created for such testing. One of the functional test routines (which in this present description is called READ_RF_DETECTOR shown in area 34 of the Form 30 in
With reference to
The Agilent Fault Detective product includes a module which the operator uses for creating a component-level model relating specific components and other controllable elements in the IF assembly to the prescribed functional test routines to be used for testing those components in the IF assembly. Typically, the operator consults external documents, such as a circuit assembly drawing and a so-called External Reference Specification (ERS), for identifying which components in the device assembly would be tested by the functional test routines.
With reference to
In order for the user to understand further the diagnosis results and with reference to
Briefly described, a .Net application is the well known technology from Microsoft Corporation for connecting information, people, systems, and devices through software. Web services are created for making needed connections via the internet. The technology includes a universal data format for data to be easily adapted or transformed so that communications are enabled across diverse platforms and operating systems regardless of the programming language used for writing various software application programs that are to share information from one to another. Each code for a particular web service is a discrete unit of code that handles a limited set of tasks. Even though various web services remain independent of each other, they can loosely link themselves into a collaborating group that is enabled to perform one or more particular tasks. In the present invention, the internet may be used for connecting the device assemblies to be tested under the control of the present invention. Alternatively, the connection is via a LAN that operates the same as the internet but having restricted access in place of the general public access that characterizes the internet
In the working embodiment of the present invention, the test executive 14 was developed using a conventional C# programming language of Microsoft Visual Studio. C# and the Microsoft Visual Studio are both .Net applications previously mentioned. Directory paths and file names of executable functional test programs and data files used by the test executive 14 are accessed using an environment test file stored in the memory of the computer 7. The environment test files as used in this description refer to that which is conventionally known and used in the Microsoft Visual Studio. Elements of this environment file include the path to the location of the test application, the path to the text file containing the PASS/FAIL results of the test sequence, the path to the diagram 100 which links test names to the components of the tested assembly, the path to the comma separated variable file which contains the list of potentially faulty components along with the percentage that a specific component is likely at fault, and the path to the graphical application which displays the identified components to the user on a block diagram.
After the Diagnosis Agent 16 has identified potentially failed components, those potentially failed components are specifically highlighted components in the diagram 100 depicting the device assembly Final IF/AIF. In the working embodiment of present invention, a potentially failed component 104 is highlighted in a flashing red rectangle 105 (shown only as a red rectangle since the figure is a fixed image taken from the display monitor 9 where the diagram 100 is viewed by the user). Other potentially failed components 110 & 111 are respectively shown in flashing red rectangles 112 & 113. In order to get some understanding about the failure of the potentially failed components, the user assimilates the information given by the present invention and goes through a subsequent troubleshooting process (as will be described later) for confirming each potentially failed component identified by the diagnostic agent 16 has failed.
When a confirmation is made of the potentially failed component, the user then removes the IF assembly, determines which of the potentially failed components have actually failed, repair or replace the actually failed components and reinstall the device assembly into the instrument. There may be situations where a spare device assembly is available to be exchanged with the device assembly having one or more components identified as potentially failed components. At some later time, the removed device assembly is then inspected and tested for actually failed components to be replaced or repaired as the case may be. This process will be repeated until each of the remaining device assemblies have been tested and the actually failed components have been repaired or replaced.
In order to run any of the prescribed functional test routines, the device assembly includes controllable latches or switches (i.e., the so called other controllable elements or controls previously mentioned) that are set to specific positions by each of the functional test routines when the test executive 14 sends a command to start the test software 3. Although the working embodiment of the present invention includes the active block diagram feature, the present invention will operate without it. If the active block diagram feature is not used, any of the controllable latches must be set by the user via the test executive 14 or set manually in the device assembly.
As previously mentioned, components 104, 110 & 111 are identified as potentially failed components. In the troubleshooting phase, the operator decides that a specific functional test is to be run again for confirming the quality of the diagnosis that identified potentially failed components. In
It should also be explained with reference to
The present invention can be operated so that execution of the functional test routines, the diagnosis and subsequent graphical display of potentially failed components are run separately by the user. To reduce the amount of time on the user, the present invention can perform all such elements in sequence with a single start command to the test executive 14 by the user so that the sequence of functional tests are conducted, the PASS/FAIL results are sent to and used by the diagnostic agent 16 which parses the diagnosis listing of potentially failed components into corresponding flashing red rectangles on the diagram 100. This arrangement is useful for relatively simple functional tests such as testing for connection integrity of the pads where input and output signals are transmitted to and from the instrument or each of the specific device assemblies inside the instrument. For more complex functional test routines, it may be desired to stop at certain events to give the user time to analyze and diagnosis the situation before going to the next step.
The philosophy of assembly functional test as used in the present invention was to develop a sequence of tests which starts with the simplest circuit block on the assembly, and progressively tests more and more complex circuits, until the entire board had been covered. In this description of the working embodiment of the present invention, the first test developed was the diagnostic A/D reading of a power supply line. In this particular C# test function, a test name string was assigned to the PASS/FAIL test results. This same test name string was modeled in Agilent Fault Detective to cover the circuit components used in this test. If this particular test was found to pass, the components covered by the test were considered good and not modeled again in the present invention under a subsequent test. This process of component elimination helps to ensure that the highest degree of accuracy in the diagnosis performed by the diagnostic agent 16, in that the components that were proven to be good never showed up, even as low percentage failure possibilities, in a later diagnosis.
An exception to this so called test and eliminate philosophy occurs when a complex circuit test has failed and an alternate circuit path exists which might prove out as good some of the components in the complex circuit path. In this case, the common components of the complex path that are shared with the alternate path are modeled again under a special diagnostic test name which is only run if the complex path fails. If alternate paths have been tested and exhausted after a failure, the test sequence ends and a troubleshooting diagnosis begins. This ensures that only one failure is troubleshot at a time thus avoiding confusion, should an assembly have multiple misloads of the same part number.
A graphical example of this test and eliminate philosophy is shown in
To display graphically to a user the diagnosis results, a C# form was created which uses as its background a bitmap of the circuit assembly drawing or a block diagram of the assembly. A special C# transparent rectangle control was developed which was a rectangle that could be dragged from a tool palette onto the C# form with the assembly drawing background. It was important for the control to be transparent so that the circuit component outlines could be seen beneath the control. A component name was then associated as a property to the control of the particular component outlined by the rectangle. The rectangle border could then be toggled on or off based on whether its component name matched a name from the diagnosis. A single timer was then used by all controls on a block diagram to flash the visible outline of the control on and off. It was discovered that flashing the control outline greatly aided in drawing the users eye to the location of the faulty block. All the components listed in the column 56 of
Communication is established with the device under test (e.g., the IF assembly) using a LAN device driver set up with an Agilent Test and Measurement Toolkit available commercially from Agilent Technologies and installable as an accessory under the Microsoft Visual Studio Development environment. To communicate with a remote device the computer name of the device will be able to be entered by a user into the test executive 14. This remote feature was not added to the working embodiment of the present invention since the software coding needed for such was not yet written. However, such software coding is well within the ability of those of ordinary skill in the art without undue experimentation. For embedded communication the computer name is simply set to “localHost”. The license for accessing the “Fault Detective” application used in the present invention for embedded use along with all executables and associated files are installed along with the main instrument firmware during the imaging procedure.
If the actual device assembly being tested is in a remote location such as in another building, in a temperature test chamber or in a location where the computer 7 is not available, the present invention can be configured to communicate with a Windows-based device remotely over a conventional LAN, WAN, internet or other conventionally known area networks. It can also be embedded directly onto the Windows based instrument such that no external computer 7 is required so long as there are suitable display and I/O capabilities for the user. In the working embodiment of the present invention, the Analyzer product was placed in a closed oven for temperature testing. The working embodiment was embedded in the Analyzer product and operated for running the functional test routines while the Analyzer product was inside the oven.
In the working embodiment of the present invention, the potentially failed components 104, 110 and 111 were highlighted in flashing red rectangles 105, 112, and 113, respectively. Of course, other highlighting colors can be used in place of red for the flashing rectangle. Moreover, a color coding scheme can also be used to represent the various values of the calculated failure cause percentages for the potentially failed components with one color, e.g., red, for the component having the highest level of calculated failure percentage.
Once a failed component has been identified, it is often necessary to launch manually the troubleshooting tools which aid in confirmation of the diagnosis. The present invention can be configured for combining the troubleshooting tool with the active block diagram feature and for having the troubleshooting tool launched automatically after the diagnosis phase when the initial prescribed functional test routines were run.
In the prior art Agilent Fault Detective product, the software program for creating the model of the device assembly being tested was only a graphical image and there is no capability of having the model coupled to the actual device assembly. A detailed description of the active block diagram will now be given for explaining how the diagram 100 is coupled to the device assembly. The diagram 100 is coupled to the device assembly and has access to lower level component control and test signal manipulation. Functional testing of device assemblies in the instrument are via the test paths that are built into the device assembly and selected by each functional test routine. Detailed information about the latches from an external document, such as the ERS (External Reference Specification) and information about the physical location of the components in the instrument from a circuit assembly drawing or schematic are inputted into the data file associated with the diagram 100 and available for review by the user.
The active block diagram feature of the present invention starts with the user consulting a software library of controls commonly used with hardware components in device assemblies to be tested functionally. Depicted in
Although the active block diagram 500 is useful for setting up and running various prescribed functional test routines, it has other capabilities.
It should be understood that for both active block diagrams 500 and 600, the user creates the image of the respective device assemblies by taking the various control devices as represented by respective icons from the software library of controls preferably by dragging selected control devices from the library and inserting them into the active block diagram to be created. Alternatively, the user can use the copy and paste feature well known in windows-based operating systems. As previously explained, all the controllable devices in a device assembly are all linked via the prescribed interface to the icons taken from the software library and used in the active block diagram. In the instrument to be tested, there is a pre-existing interface using a pre-existing communications protocol which are both well known in the prior art for enabling the operator to access any of the controllable devices in the instrument, to have the prescribed functional test routines executed and to retrieve generated data. The active block diagram uses the same interface and communications protocol. All the control functions known for controllable devices are programmed for and linked to the icons so that the user can access any of the control functions and retrieve generated data via the active block diagram. For example, if a DAC has a digital input range of 0-255, the user can set the incremental steps for operating the DAC at 10 count increments over that range and can view the outputs of the DAC as it is operating. Alternatively, the user can operate the DAC at any other prescribed increment that may be useful for testing and troubleshooting purposes.
It should also be understood that the active block diagram is in full communication with the instrument to be tested for displaying generated test information, for identifying potentially faulty components and for controlling selectable latches as prescribed by a user for setting up alternative test paths for executing any functional test routines chosen by the user. As previously described, the active block diagram is useful during the subsequent troubleshooting procedure being conducted by the user for confirming that potentially failed components have failed.
The user typically will specify the size of the active block diagram either for ease of viewing or printout as a hard copy. The relative size of the icons used for creating a specific active block diagram can be changed as needed so that they fit into the desired size for the active block diagram and graphically have the same proportions for similar icons. Another property of the icons is the linking feature for creating a new active block diagram. For example, some latches (i.e., switches) or controls are known to have one control bit that represents both functions, so two latches (or switches) can be linked together to one another so that they are displayed graphically as linked. Alternatively, more than two latches can be linked together as needed in the active block diagram.
As can be understood, the active block diagram is useful for troubleshooting hardware problems that may arise in any electronic circuit. It is not limited to functional test routines for generating PASS/FAIL results. Since the operator can set up prescribed signal paths connecting a prescribed set of components, the operator can operate the electronic circuit and see the generated data in real time. For example, reviewing input and output levels is possible for a selected component or a selected group of components.
Depicted in
Another alternative embodiment of the present invention depicted in
Although the present invention has been described in detail with reference to particular embodiments, persons possessing ordinary skill in the art to which this invention pertains will appreciate that various modifications and enhancements may be made without departing from the spirit and scope of the claims that follow.
This application claims priority under 35 USC §120 from Application Ser. No. 60/841,973, filed Sep. 1, 2006, entitled “ACTIVE BLOCK DIAGRAM”, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60841973 | Sep 2006 | US |