Abstract:
A method of operating a data processing system to generate a diagram indicative of an experimental setup includes a device to be tested (DUT) and a plurality of test instruments is disclosed. 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. An initial 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.

Description:
BACKGROUND 
       [0001]    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. 
       SUMMARY 
       [0002]    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. 
         [0003]    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. 
         [0004]    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. 
         [0005]    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. 
         [0006]    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. 
         [0007]    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. 
         [0008]    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. 
         [0009]    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. 
         [0010]    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. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIG. 1A  illustrates a front panel representation of a function generator that might appear in a typical virtual bench top. 
           [0012]      FIG. 1B  illustrates one embodiment of a measurement system according to the present invention. 
           [0013]      FIG. 2  illustrates the nodes of an initial drawing with the instruments represented by simple blocks. 
           [0014]      FIG. 3  illustrates the initial drawing corresponding to the script. 
           [0015]      FIG. 4  illustrates the correspondence between the drawing and script. 
           [0016]      FIG. 5  illustrates an experimental setup for measuring the battery run-down performance of a battery-powered DUT using a specialized instrument, such as a Keysight Technologies N6781A. 
           [0017]      FIG. 6  illustrates an aspect of the present invention in which the user specifies the connections between the instruments. 
       
    
    
     DETAILED DESCRIPTION 
       [0018]    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. 
         [0019]    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. 
         [0020]    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. 
         [0021]    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. 
         [0022]    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. 
         [0023]    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. 
         [0024]    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. 
         [0025]    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. 
         [0026]    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  FIG. 1A , which illustrates a front panel representation of a function generator that might appear in a typical virtual bench top. Representation  20  includes a number of “buttons” for selecting the desired output waveform such as button  21 . In addition, other properties of the output such as the amplitude, frequency, etc. can be set by typing values into the appropriate windows such as window  23  when amplitude is selected in window  22 . The portion of the script dealing with the instrument may include the values corresponding to the waveform to be generated and the initial values of other parameters such as the phase of the output signal. These values are set once, and hence, are located in the initialization steps in the automation script. 
         [0027]    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. 
         [0028]    Refer now to  FIG. 1B , which illustrates one embodiment of a measurement system according to the present invention. In general, there will be a number of physical instruments connected to a computer  57  which runs a program that executes the method of the present invention. Exemplary instruments are shown at  51 - 53 . The instruments can be connected to computer  57  by any suitable communication path including a LAN, WAN, serial communication or wireless communication link. It should be noted that the DUT  58 , in general, is not connected to computer  57 . In addition, there may be other instruments or components that are used in the test, but are not connected to the computer, such as battery  59 . Information about the DUT and non-connected instruments is supplied by the user in a manner that will be discussed in more detail below. 
         [0029]    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. 
         [0030]    Refer now to  FIG. 2 , which illustrates the nodes of an initial diagram with the instruments represented by simple blocks. In this example, DUT  58  is to be characterized by measuring the response of DUT  58  to an input signal that is varied in frequency and amplitude. The output of DUT  58  is measured using a digital multimeter (DMM) to measure the amplitude of the signal from DUT  58 . The script that provides the automation of the measurements is shown at  15 . 
         [0031]    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. 
         [0032]    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. 
         [0033]    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  12   c  is provided in the diagram. Script  15  also references the frequency and amplitude of the signal from frequency generator  12 . Hence, inbound edges  12   a  and  12   b  are provided. 
         [0034]    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  14   a  and  14   b.  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 . 
         [0035]    Since the oscilloscope  53  shown in  FIG. 2  is not referenced in the script, the initial diagram omits a node for oscilloscope  53 , even though that instrument is connected to computer  57 . In one aspect of the invention, the computer shows all connected instruments and provides a mechanism for the user to delete the instruments that are actually being used in the test. 
         [0036]    The data processing system assumes that DUT  58  has one input and one output shown at  13   a  and  13   b,  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  12   c.  Similarly, there is only sink that lacks a connection, namely input  14   a.  Hence, the data processing system assumes that the diagram is as shown in  FIG. 3 , which illustrates the initial diagram corresponding to script  15 . 
         [0037]    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  FIG. 4 , which illustrates the correspondence between the diagram and script. If the user selects inbound edge  12   a  of function generator  51 , the corresponding lines of code in the script are highlighted as shown by the bolded lines in script  15 . Similarly, if the user selects a line of code in script  15  as shown at  17 , the corresponding element is highlighted in diagram area  16  as shown by the highlighting of DMM  52 . 
         [0038]    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. 
         [0039]    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. 
         [0040]    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  FIG. 5 , which illustrates an experimental setup  40  for measuring the battery run-down performance of a battery-powered DUT using a specialized instrument  42 , such as a Keysight Technologies N 6781 A. Instrument  42  measures the voltage across DUT  41  and the current flowing through DUT  41  when DUT  41  is powered by battery  43 . The voltage between outputs S+ and S− is maintained such that no voltage difference appears between terminals  44  and  45 , and hence, eliminates any voltage drop resulting from the wiring. The current flowing between OUT+ and OUT− is measured by instrument  42  together with the voltage between DVM+ and DVM−. 
         [0041]    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. 
         [0042]    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. 
         [0043]    In the example shown in  FIG. 5 , the data processing system knows that a battery is present with a positive and a negative terminal. The data processing system also knows that DUT  41  had a positive and a negative terminal. The six terminals of instrument  42  are also known. The manner in which the various terminals are connected; however, is not clear, since the various measurements are all contained within instrument  42 . 
         [0044]    Refer now to  FIG. 6 , which illustrates an aspect of the present invention in which the user specifies the connections between the instruments. In such a case, the data processing system can provide various possible connections in the diagram area, and the user can indicate the connections that are being used in the experimental setup. For example, the data processing system can provide a list of all possible terminals on instrument  42  and the two terminals on DUT  41 . The user can then select a terminal from the DUT and a terminal from instrument  42  for connection. The process is repeated until the user has specified all of the desired connections. 
         [0045]    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. 
         [0046]    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&#39;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 sink. 
         [0047]    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. 
         [0048]    The present invention can be implemented on any suitable data processing system including a conventional computer or special purpose hardware. 
         [0049]    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. 
         [0050]    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.