In an automated test system, a device to be tested (DUT) is connected to signal sources and measurement devices that are under the control of the test system. The DUT is typically tested for a number of different input conditions. The sources and measurement devices can be controlled from a computer via a local area network or some other form of communication channel. The computer defines the tests to be run by some form of script that causes the signal sources to sequence through the defined input sequences and the measurement devices to make the desired measurements.
The present invention includes a method of operating a data processing system to generate a diagram indicative of an experimental setup which includes a DUT and a plurality of test instruments. The method includes detecting a first test instrument that is connected to the data processing system and determining connection points to the first test instrument. A script that specifies tests for the DUT using the plurality of test instruments and includes instructions specifying measurements to be made by the first test instrument is examined. A first connection between the DUT and the first test instrument is determined. A diagram on a display controlled by the data processing system is generated. The initial diagram includes a first node representing the first test instrument, a second node representing the DUT and a line representing the first connection between the first and second nodes.
In one aspect of the invention, the data processing system detects a second one of the plurality of test instruments and generates a third node on the diagram on the display representing the second one of the plurality of test instruments. The data processing system determines a connection between the second one of the plurality of test instruments from the script and generates a line connecting the third node to the DUT or one of the other test instruments representing the determined connection.
In another aspect of the invention, the data processing system generates a node representing each of the plurality of test instruments in the diagram on the display. In one embodiment, one of the plurality of test instruments is not detectable by the data processing system, and the data processing system is configured to receive input from a user of the data processing system defining the one of the plurality of instruments and connections that are available to that one of the plurality of test instruments.
In another aspect of the invention, the data processing system is configured to receive an instruction from a user of the data processing system, the instruction specifying a connection between two of the nodes on the display, the data processing system generating a line between the two of the nodes in the diagram on the display.
In a still further aspect of the invention, the data processing system is configured to receive user input specifying one of the nodes on the display, and the data processing system displays portions of the script that reference the test instrument corresponding to that node on the display.
In another aspect of the invention, the data processing system is configured to receive user input specifying a connection to one of the nodes on the display, and the data processing system displays portions of the script that reference the connection on the display.
In another aspect of the invention, the data processing system is configured to receive user input specifying a portion of the script that references one of the test instruments, and the data processing system displays highlights of the node representing that test instrument in the diagram.
In another aspect of the invention, the data processing system is configured to receive user input specifying a portion of the script that references a connection to one of the test instruments, and the data processing system displays highlights of the connection in the diagram.
In another aspect of the invention, the data processing system automatically removes nodes in the diagram that correspond to test instruments that are not referenced in the script.
A test of the DUT is defined in terms of the topology of a circuit that includes the DUT. Even though measurements are defined in terms of a circuit configuration, most systems for automating electronic measurements fail to capture the circuit configuration information in the automation specification. A specification for a frequency response measurement, for example, would include sequences of commands to change frequency and amplitude inputs of a test signal and measure DUT outputs. Any information about the associated circuit configuration, such as how the DUT was actually connected to the signal sources and which DUT outputs were connected to the measurement device, is not captured in the script specifying the commands.
Hence, a user must maintain that information in some auxiliary format such as a laboratory notebook. This configuration information typically includes the details of the circuit showing how the components were connected to each other and which components were used. In addition, the association of the circuit configuration to the automation script must also be captured. The configuration record also needs to take into account variations in the script during development.
Requiring the user to maintain this information in a separate document is time consuming and error prone. Since a separate record is not essential to writing and debugging a script, a user may just keep this information in his or her head during the initial development of the script, and hence, the record will be lost when someone else decides to use the script in a new test.
Losing the association between a circuit configuration and an automation script may not be an insurmountable problem for experts, or for simple basic configurations. However, for less technical users or less typical configurations, losing the association between a circuit configuration and an automation script may cause the script to be unusable.
The present invention automatically generates a circuit diagram from the automation script and from information provided by the user. The circuit diagram is stored with the script. This has the advantage of relieving the user of the task of documenting the circuit topology. In addition, if the circuit diagram disagrees with the model the user had in mind when he or she wrote the script, the user will be alerted to possible errors in the script by inaccuracies in the generated diagram. The automatically generated circuit diagram can be edited by the user to provide comments and/or to provide connections that cannot be deduced from the script and a knowledge of the instruments attached to the computer running the method of the present invention.
In one aspect of the invention, a DUT diagram is a digital representation of a circuit configuration with a model and at least one view. The model needs to be able to represent the topology of an electrical circuit. In an exemplary embodiment, a graph is used as the model; however, other representations such as an adjacency matrix could also be used. In a graph, there will be one node for each instrument involved in the test and one node for the DUT. It is assumed that all of the relevant test instruments that are controlled by the script are controlled by the data processing system running the software. For example, if the present invention is part of a virtual bench top such as BenchVue by Keysight Technologies, Inc., the present invention will operate on the automation script in that application and the various instruments that are logged into the virtual bench top.
In some cases, a test instrument or power source may not be logged into the computer running the present invention. Devices that are part of the experimental setup, but not logged into the software of the present invention, will be referred to as uncontrolled devices. These devices are not controlled by the script. For example, in testing a battery-operated DUT during a battery run down test, the battery will typically not include the hardware and software needed to log into the computer. In addition, the script will not control the output of the battery.
In such cases, the present invention must acquire information about such devices from the user. The information must include the inputs and outputs of the non-logged device that are available for connection to the DUT or other instruments in the test setup. For common non-logged devices such as batteries, the information can be provided in the form of a device menu that is part of the present invention to reduce the work required to enter the relevant information. The user may still need to provide some information, such as the battery voltage even in non-logged devices that have preprogrammed menu items. In other cases, the user must provide all of the information.
The degree of detail for the nodes representing the instruments can vary from a simple box representing an instrument to a detailed view of the front panel of the instrument. In the case of a virtual bench top, representations of the instruments are available which represent the front panel of the instrument in a manner that allows the user to control the instrument as if the user were pushing buttons on the front panel of the actual instrument. Refer now to
Such detailed representations of the instruments can be useful for a user who must wire the actual instruments to the DUT in setting up the measurements. However, if the number of instruments in the setup is large, a less detailed representation may be preferred to allow the entire setup to be seen on a single display.
Refer now to
Computer 57 controls a display screen 54 which implements a graphical user interface (GUI) that is used to display and create a diagram 55 of the experimental setup and a script 56. Display screen 54 can be part of computer 57 or a separate component that is remotely located from computer 57. For example, the physical test instruments and the DUT may be located in a laboratory, while display screen 54 is located in the office of a test engineer who is actually running the test once the physical components are connected together.
Refer now to
Script 15 sets up the function generator to use channel 1 and to generate a sine wave output. Script 15 also places the DMM in an automatic mode. Script 15 has two nested DO loops that vary the frequency and amplitude of the output of the function generator. For each combination of frequency and amplitude, the DMM is read and the frequency and amplitude of the function generator output is logged together with the DMM reading.
The data processing system detected a function generator 51 and a DMM 52 that are connected to the data processing system. In one aspect of the invention, if other instruments are connected to the data processing system but not referenced in the script, the additional instruments will not be shown in the initial diagram. Hence, since script 15 does not reference any other instruments, additional instruments that are connected to the data processing system do not give rise to additional nodes in the diagram. In other modes, the data processing system shows all instruments in the initial diagram, and the user removes the unwanted instruments.
In the present example, automation script 15 references a function generator 51 and a DMM 52. Hence, the data processing system places nodes corresponding to these instruments in diagram area 16. While function generator 51 has multiple channels, script 15 only refers to one channel. Hence, only one outbound edge 12c is provided in the diagram. Script 15 also references the frequency and amplitude of the signal from frequency generator 12. Hence, inbound edges 12a and 12b are provided.
Similarly, script 15 references DMM 52 which is also connected to the data processing system. In this simple example, it is assumed that DMM 52 has only one input and one output as shown at 14a and 14b. However, if the script referenced a DMM that had more than one input and output, the node for DMM 52 could have additional inputs and outputs, unless only one set was referenced in script 15.
Since the oscilloscope 53 shown in
The data processing system assumes that DUT 58 has one input and one output shown at 13a and 13b, respectively. The initial diagram is generated by placing the node corresponding to the DUT in the center of the diagram. Nodes that give rise to output signals that can form the input signal to the DUT are placed on the left of DUT 58. Nodes that can act as a sink for the output signal from the DUT are placed on the right of DUT 58. In this example, there is only one source that is not matched, namely outbound edge 12c. Similarly, there is only a sink that lacks a connection, namely input 14a. Hence, the data processing system assumes that the diagram is as shown in
In one aspect of the present invention, a correspondence is maintained between the diagram and the script. If the user selects an element of the diagram, the location of the references to that element in the script are highlighted, and vice versa. Refer now to
In the above example, the data processing system can detect the instruments attached to it; however, it must be informed of the properties of those elements of the experimental setup that are not discernable from the drivers associated with those instruments or elements that are not so detectable, such as the DUT. In one aspect of the invention, the data processing system receives information from the user as to these other elements or other inputs and outputs that are not discernable from the drivers. The additional inputs and outputs are then shown on the initial diagram when appropriate.
In one aspect of the invention, the terminals corresponding to the inputs and outputs of the various instruments and other elements are classified as to whether the terminal is a source or a sink of a signal. If the instruments have drivers that are used by the data processing system and are recognized by the data processing system, this information is typically included in the information provided by the driver. In the case of elements that are not discernable from the drivers, the user supplies this information when the user inputs the information about the element in question. This arrangement reduces the number of possible connections that must be considered, since a source can only be connected to a sink, and a sink can only be connected to a source.
In some cases, the data processing system will be unable to deduce all of the connections in the test circuit from the known instruments and the script. In this case, the present invention presents the user with the possible connections between terminals that are not unambiguously defined by the script. Refer now to
The data processing system detects the presence of instrument 42. It is assumed that there is a simple script that repeatedly measures the voltage between DVM+ and DVM− and the current flowing through +OUT and −OUT. Since the instrument has a driver that specifies its inputs and outputs, instrument 42 knows which of the terminals in instrument 42 are sources and which are sinks. The data processing system also assumes that there is a DUT having a terminal that is a source and a terminal that is a sink. The presence of battery 43 is provided by user input. The user can pick the battery from a list displayed by the data processing system or enter the information specifying that element.
To aid the user, the data processing system can provide a list of additional common elements that are not directly connected to the data processing system, such as a battery. The inputs and outputs of these predefined, but not connected elements, are included in their definitions and stored in the data processing system. Alternatively, the user can supply the information directly by providing a name for the element and its inputs and outputs.
In the example shown in
Refer now to
In general, the specific implementation of the present invention will depend on the particular automation script language used by the virtual bench top or other test automation system. However, in general, the script will include statements that define the initial setup of each of the instruments being controlled. The script will also include statements that vary particular inputs and read particular outputs of the instruments during the test. Finally, the script will define where the data generated by the test is stored.
In general, there will be a driver representing each instrument that is currently logged into the virtual bench top. That driver will include information about the instrument, including the instrument's inputs and/or outputs. A signal output of an instrument is a “source”, and a signal input of an instrument is a “sink” relative to the DUT. In addition, instruments such as power supplies or batteries can provide power outputs and inputs that are sources and sinks relative to power connections on the DUT. In such cases, the number of possible connections is reduced because a source must be connected to a sink.
In one aspect of the invention, the diagram engine is active while the script is being written or edited. In this case, the automatic deletion of instruments that are logged into the system running the present invention and that are not part of the script is suspended. In this aspect of the invention, new nodes are created automatically from new instruments referenced in the current script. For example, the first time the user references a property of a power supply, a node for the power supply will be inserted into the model and the diagram will be updated to show the new node.
The present invention can be implemented on any suitable data processing system including a conventional computer or special purpose hardware.
The present invention also includes a computer readable medium that stores instructions that cause a data processing system to execute the method of the present invention. A computer readable medium is defined to be any medium that constitutes patentable subject matter under 35 U.S.C. 101 and excludes any medium that does not constitute patentable subject matter under 35 U.S.C. 101. Examples of patentable media include non-transitory media such as computer memory devices that store information in a format that is readable by a computer or data processing system.
The above-described embodiments of the present invention have been provided to illustrate various aspects of the invention. However, it is to be understood that different aspects of the present invention that are shown in different specific embodiments can be combined to provide other embodiments of the present invention. In addition, various modifications to the present invention will become apparent from the foregoing description and accompanying drawings. Accordingly, the present invention is to be limited solely by the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4348636 | Doundoulakis | Sep 1982 | A |
5500934 | Austin | Mar 1996 | A |
5535330 | Bell | Jul 1996 | A |
5606664 | Brown | Feb 1997 | A |
5793366 | Mano | Aug 1998 | A |
5917808 | Kosbab | Jun 1999 | A |
5974572 | Weinberg | Oct 1999 | A |
5991537 | McKeon | Nov 1999 | A |
6002992 | Pauwels | Dec 1999 | A |
6112015 | Planas | Aug 2000 | A |
6137295 | Yoshida | Oct 2000 | A |
6418391 | Umezu | Jul 2002 | B1 |
6421069 | Ludtke | Jul 2002 | B1 |
6463552 | Jibbe | Oct 2002 | B1 |
6529951 | Okuyama | Mar 2003 | B1 |
6594599 | Kent | Jul 2003 | B1 |
6784902 | Melder | Aug 2004 | B1 |
6957396 | Iwamura | Oct 2005 | B2 |
6988229 | Folea, Jr. | Jan 2006 | B1 |
7284177 | Hollander | Oct 2007 | B2 |
7363188 | Olgaard | Apr 2008 | B1 |
7486205 | Wegener | Feb 2009 | B2 |
7528623 | Zellner | May 2009 | B2 |
7552024 | Kelbon | Jun 2009 | B2 |
7606909 | Ely | Oct 2009 | B1 |
7613594 | Lechine | Nov 2009 | B2 |
7627790 | Frisch | Dec 2009 | B2 |
7631237 | Kiryu | Dec 2009 | B2 |
7636622 | Underdal | Dec 2009 | B2 |
7680621 | Hayes | Mar 2010 | B2 |
7768278 | Mayder | Aug 2010 | B2 |
7810001 | Zhou | Oct 2010 | B2 |
7853931 | Srinivasamurthy | Dec 2010 | B2 |
7930130 | Sakarovitch | Apr 2011 | B2 |
7950004 | Vieira | May 2011 | B2 |
7970594 | Gaudette | Jun 2011 | B2 |
8527231 | Luce | Sep 2013 | B2 |
8626913 | Chourey | Jan 2014 | B1 |
8718967 | Filler | May 2014 | B2 |
8782581 | Agarwala | Jul 2014 | B2 |
8793646 | Chancey | Jul 2014 | B2 |
8805767 | Wang | Aug 2014 | B1 |
8837294 | Frishberg | Sep 2014 | B2 |
9154241 | Luong | Oct 2015 | B2 |
9285427 | Luo | Mar 2016 | B2 |
9400301 | Kanne | Jul 2016 | B2 |
9485038 | Olgaard | Nov 2016 | B2 |
9549053 | Voona | Jan 2017 | B2 |
9606183 | Moon | Mar 2017 | B2 |
9641419 | Gintis | May 2017 | B2 |
9712406 | Chu | Jul 2017 | B2 |
9741256 | Akopian | Aug 2017 | B2 |
9952276 | Frediani | Apr 2018 | B2 |
9959186 | Hutner | May 2018 | B2 |
20020038439 | Sato | Mar 2002 | A1 |
20020130836 | Ohmori | Sep 2002 | A1 |
20020131052 | Emery | Sep 2002 | A1 |
20020143486 | Jain | Oct 2002 | A1 |
20030036866 | Nair | Feb 2003 | A1 |
20030083831 | Agrawal | May 2003 | A1 |
20030212523 | Dorough | Nov 2003 | A1 |
20030221149 | Vollrath | Nov 2003 | A1 |
20030234652 | Bald | Dec 2003 | A1 |
20040021452 | Hwang | Feb 2004 | A1 |
20040024656 | Coleman | Feb 2004 | A1 |
20040093516 | Hornbeek | May 2004 | A1 |
20040100468 | Tenten | May 2004 | A1 |
20050005262 | Mohan | Jan 2005 | A1 |
20050039161 | Pfander | Feb 2005 | A1 |
20050183098 | Ilic | Aug 2005 | A1 |
20050232256 | White | Oct 2005 | A1 |
20050235263 | Bundy | Oct 2005 | A1 |
20050240372 | Monk | Oct 2005 | A1 |
20050240831 | Balkman | Oct 2005 | A1 |
20050253617 | Roberts | Nov 2005 | A1 |
20050261856 | Kushnick | Nov 2005 | A1 |
20050268171 | House | Dec 2005 | A1 |
20050278129 | Benvenga | Dec 2005 | A1 |
20060074584 | Giral | Apr 2006 | A1 |
20060150126 | Kamannavar | Jul 2006 | A1 |
20060168183 | Fuller, III | Jul 2006 | A1 |
20060174161 | Sharma | Aug 2006 | A1 |
20060225034 | Peck | Oct 2006 | A1 |
20060282723 | Pleasant | Dec 2006 | A1 |
20070016394 | Gaudette | Jan 2007 | A1 |
20070118779 | Wu | May 2007 | A1 |
20070124114 | Shapiro | May 2007 | A1 |
20070168735 | Lo | Jul 2007 | A1 |
20070185682 | Eidson | Aug 2007 | A1 |
20070226543 | Young | Sep 2007 | A1 |
20070226555 | Raines | Sep 2007 | A1 |
20070230770 | Kulkarni | Oct 2007 | A1 |
20070234195 | Wells | Oct 2007 | A1 |
20080021669 | Blancha | Jan 2008 | A1 |
20080022264 | Macklem | Jan 2008 | A1 |
20080030203 | Chung | Feb 2008 | A1 |
20080034297 | Correll | Feb 2008 | A1 |
20080086668 | Jefferson | Apr 2008 | A1 |
20080144656 | Frishberg | Jun 2008 | A1 |
20080282212 | Dennison | Nov 2008 | A1 |
20090037132 | Zhou | Feb 2009 | A1 |
20090089619 | Huang | Apr 2009 | A1 |
20090089715 | Dickey | Apr 2009 | A1 |
20090100900 | Spalding | Apr 2009 | A1 |
20090163832 | Sunderani | Jun 2009 | A1 |
20090164931 | Kemmerling | Jun 2009 | A1 |
20090249121 | Kube | Oct 2009 | A1 |
20090249297 | Doshi | Oct 2009 | A1 |
20100023294 | Fan | Jan 2010 | A1 |
20100075678 | Akman | Mar 2010 | A1 |
20100077260 | Pillai | Mar 2010 | A1 |
20100085894 | Johnson | Apr 2010 | A1 |
20100111410 | Lu | May 2010 | A1 |
20100125667 | Soundararajan | May 2010 | A1 |
20100174697 | Mor-Barak | Jul 2010 | A1 |
20110001833 | Grinkemeyer | Jan 2011 | A1 |
20110131000 | Daub | Jun 2011 | A1 |
20110160885 | Itskov | Jun 2011 | A1 |
20110286506 | Libby | Nov 2011 | A1 |
20110313942 | Higgins | Dec 2011 | A1 |
20110314333 | Olgaard | Dec 2011 | A1 |
20110320216 | Kasmark | Dec 2011 | A1 |
20120065906 | Luce | Mar 2012 | A1 |
20120089917 | Kwahk | Apr 2012 | A1 |
20120210179 | Xanthopoulos | Aug 2012 | A1 |
20120249332 | Tezuka | Oct 2012 | A1 |
20120278741 | Garrity | Nov 2012 | A1 |
20120284564 | Verma | Nov 2012 | A1 |
20120290920 | Crossley | Nov 2012 | A1 |
20130007710 | Vedula | Jan 2013 | A1 |
20130031514 | Gabbert | Jan 2013 | A1 |
20130054170 | Sobajic | Feb 2013 | A1 |
20130117019 | Akopian | May 2013 | A1 |
20130127904 | Dove | May 2013 | A1 |
20130185093 | Wittliff, III | Jul 2013 | A1 |
20130198429 | Chandhoke | Aug 2013 | A1 |
20130218509 | Schroeder | Aug 2013 | A1 |
20130247019 | Xu | Sep 2013 | A1 |
20130259097 | Olgaard | Oct 2013 | A1 |
20130262015 | White | Oct 2013 | A1 |
20130275337 | Gershon | Oct 2013 | A1 |
20130282892 | Levi | Oct 2013 | A1 |
20130289925 | Jiang | Oct 2013 | A1 |
20130290938 | Nir | Oct 2013 | A1 |
20130297973 | Hyland | Nov 2013 | A1 |
20130305088 | Xu | Nov 2013 | A1 |
20130305091 | Stan | Nov 2013 | A1 |
20130321092 | Simpson | Dec 2013 | A1 |
20130338960 | Bourgault | Dec 2013 | A1 |
20130339803 | Vandervalk | Dec 2013 | A1 |
20130345524 | Meyer | Dec 2013 | A1 |
20140019923 | Agarwala | Jan 2014 | A1 |
20140047417 | Kaasila | Feb 2014 | A1 |
20140093056 | Kawashima | Apr 2014 | A1 |
20140114528 | Marino | Apr 2014 | A1 |
20140115394 | Fattah | Apr 2014 | A1 |
20140123096 | Su | May 2014 | A1 |
20140130002 | AbdelAzim | May 2014 | A1 |
20140149811 | Ross | May 2014 | A1 |
20140157050 | Zhao | Jun 2014 | A1 |
20140173094 | Majumdar | Jun 2014 | A1 |
20140177459 | Watt | Jun 2014 | A1 |
20140178845 | Riesberg | Jun 2014 | A1 |
20140184648 | Claydon | Jul 2014 | A1 |
20140256056 | Wang | Sep 2014 | A1 |
20140256373 | Hernandez | Sep 2014 | A1 |
20140258781 | Cook | Sep 2014 | A1 |
20140269386 | Chu | Sep 2014 | A1 |
20140277607 | Nixon | Sep 2014 | A1 |
20140280424 | Moyer | Sep 2014 | A1 |
20140281721 | Navalur | Sep 2014 | A1 |
20140288911 | Chien | Sep 2014 | A1 |
20140294293 | Yamamura | Oct 2014 | A1 |
20140295771 | Finlow-Bates | Oct 2014 | A1 |
20140321285 | Chew | Oct 2014 | A1 |
20140331195 | Agarwala | Nov 2014 | A1 |
20140342333 | Knoche | Nov 2014 | A1 |
20140344627 | Schaub | Nov 2014 | A1 |
20140358514 | Liu | Dec 2014 | A1 |
20140365826 | Liu | Dec 2014 | A1 |
20140380278 | Dayan | Dec 2014 | A1 |
20150052500 | Herron | Feb 2015 | A1 |
20150058685 | Jang | Feb 2015 | A1 |
20150066417 | Kimura | Mar 2015 | A1 |
20150070041 | Song | Mar 2015 | A1 |
20150106669 | Gintis | Apr 2015 | A1 |
20150106670 | Gintis | Apr 2015 | A1 |
20150133744 | Kobayashi | May 2015 | A1 |
20150234006 | Richards | Aug 2015 | A1 |
20150249458 | Harrington | Sep 2015 | A1 |
20150294342 | Hertel | Oct 2015 | A1 |
20150331779 | Subramaniam | Nov 2015 | A1 |
20150355274 | Ross | Dec 2015 | A1 |
20150365317 | Wang | Dec 2015 | A1 |
20160057040 | Bergeron | Feb 2016 | A1 |
20160081575 | Wu | Mar 2016 | A1 |
20160103664 | Kee | Apr 2016 | A1 |
20160111740 | Spaziante | Apr 2016 | A1 |
20160116528 | Narasaki | Apr 2016 | A1 |
20160132202 | Hafizovic | May 2016 | A1 |
20160182310 | Gintis | Jun 2016 | A1 |
20170235661 | Liu | Aug 2017 | A1 |
20170249129 | McDaniel | Aug 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20160349312 A1 | Dec 2016 | US |