Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent
7219306
Kodosky , ; et al.
May 15, 2007
Title
Representing unspecified information in a measurement system
Abstract
System and method for representing an unspecified portion of a measurement system or visually indicating an action required of a user in designing the measurement system. Designing a measurement system may be a gradual process where the user progressively specifies more information regarding components in the system. At any point in the design process, it may be desirable to visually indicate to the user that one or more portions of the system are not yet specified or that the user needs to perform one or more actions. A diagram of the system is displayed, including one or more component icons visually indicating components of the system, and a special icon visually indicating that information regarding a portion of the system has not yet been specified. User input specifying information regarding the portion of the system may be received, and in response, the special icon may be removed from the diagram.
Inventors:
Kodosky; Jeffrey L.
(Austin,
TX
)
, Shah; Mohammed Kamran
(Austin,
TX
)
, Fuller; David W
(Austin,
TX
)
, Correll; Jeffrey N.
(Cedar Park,
TX
)
, Sierer; Brian H.
(Austin,
TX
)
Assignee:
National Instruments Corporation
(Austin,
TX
)
Appl. No.:
10/328,123
Filed:
December 23, 2002
PCT Pub Date:
May 15, 2007
Current U.S. Class:
715/763
715/967
715/762
Current International Class:
G06F 3/00 (20060101) G06F 17/00 (20060101) G06F 9/00 (20060101)
Field of Search:
717/125 702/1
U.S. Patent Documents
20030028676
February 2003
Pangrac et al.
20030095156
May 2003
Klein et al.
20030163298
August 2003
Odom et al.
20030234802
December 2003
Makowski et al.
20040012632
January 2004
King et al.
20040030675
February 2004
Could
4812996
March 1989
Stubbs
4868785
September 1989
Jordan et al.
4884228
November 1989
Stanley et al.
5136705
August 1992
Stubbs et al.
5155836
October 1992
Jordan et al.
5309352
May 1994
Stubbs
5481741
January 1996
McKaskle et al.
5630164
May 1997
Williams et al.
5801942
September 1998
Nixon et al.
5812394
September 1998
Lewis et al.
5828851
October 1998
Nixon et al.
5838563
November 1998
Dove et al.
5861882
January 1999
Sprenger et al.
5991537
November 1999
McKeon et al.
6041044
March 2000
Seiffert et al.
6064816
May 2000
Parthasarathy et al.
6078320
June 2000
Dove et al.
6098028
August 2000
Zwan et al.
6489974
December 2002
Johnson et al.
Primary Examiner:
Kincaid; Kristine
Assistant Examiner:
Pesin; Boris
Attorney, Agent or Firm:
Meyertons Hood Kivlin Kowert & Goetzel, P.C. Hood; Jeffrey C. Burgess; Jason L.
Parent Case Text
PRIORITY INFORMATION
This application claims the benefit of priority of U.S. Provisional Application No. 60/403,135, titled "Icon to Represent Unspecified Component in a Measurement System," whose inventors were Kamran Shah, Jeffrey L. Kodosky and David W Fuller III, filed on Aug. 13, 2002.
This application also claims the benefit of priority of U.S. Provisional Application No. 60/403,822 titled "Icon to Represent Unspecified Component in a Measurement System," whose inventors were Kamran Shah, Jeffrey L. Kodosky, David W Fuller, Brian Sierer and Jeff Correll, filed on Aug. 15, 2002.
Claims
We claim:
1. A computer accessible memory medium that stores program instructions for displaying a measurement system, wherein the program instructions are executable by a processor to perform: displaying a diagram on a display, wherein the diagram includes a plurality of component icons visually representing components of the measurement system, wherein the diagram also includes a special icon visually indicating that at least one other component of the measurement system has not yet been specified; receiving user input specifying a first component of the measurement system; removing the special icon from the diagram in response to the user input; and replacing the special icon with a first component icon visually representing the first component of the measurement system.
2. The memory medium of claim 1, wherein the special icon has a special appearance that allows a user to easily notice the special icon in the diagram.
3. The memory medium of claim 1, wherein the special icon has an appearance of a cloud.
4. The memory medium of claim 1, wherein the program instructions are further executable by a processor to perform: determining the first component of the measurement system based on the user input.
5. The memory medium of claim 4, wherein the user input specifying the first component of the measurement system includes information specifying desired functionality for the at least one other component; and wherein said determining the first component of the measurement system comprises determining at least one other component that is able to perform the specified functionality.
6. The memory medium of claim 4, wherein the input specifying the first component of the measurement system includes information specifying desired characteristics for the at least one other component of the measurement system; and wherein said determining the first component of the measurement system comprises determining at least one other component that has the specified characteristics.
7. The memory medium of claim 1, wherein the special icon visually indicates that one or more properties for the at least one other component of the measurement system have not yet been specified; and wherein the user input specifies the one or more properties for the at least one other component of the measurement system.
8. The memory medium of claim 1, wherein the user input specifies information regarding connection of the at least one other component of the measurement system to one or more other components in the measurement system, and wherein the program instructions are further executable by a processor to perform: displaying one or more connections from the first component to the one or more other components in response to the user input.
9. The memory medium of claim 1, wherein the special icon represents a subsystem of the measurement system; wherein the special icon visually indicates that the subsystem has not yet been specified; and wherein said removing and said displaying the first component icon comprises displaying a first plurality of component icons visually indicating a plurality of components in the subsystem.
10. The memory medium of claim 1, wherein the diagram illustrates a plurality of connections visually indicating coupling relationships between the plurality of components of the measurement system.
11. The memory medium of claim 1, wherein the first component icon visually resembles the first component.
12. The memory medium of claim 1, wherein the first component comprises a UUT.
13. The memory medium of claim 1, wherein the first component comprises a sensor.
14. The memory medium of claim 1, wherein the first component comprises a measurement hardware device.
15. The memory medium of claim 1, wherein the first component comprises a software component.
16. The memory medium of claim 1, wherein at least a subset of the plurality of component icons visually indicating components of the measurement system visually resemble respective components in the measurement system.
17. The memory medium of claim 1, wherein the diagram illustrates a computer-controlled measurement system operable to acquire measurement information from a unit under test (UUT).
18. The memory medium of claim 1, wherein the plurality of component icons visually indicating components of the measurement system comprise a plurality of component icons corresponding to physical devices in the measurement system.
19. The memory medium of claim 1, wherein the plurality of component icons visually indicating components of the measurement system comprise a plurality of component icons corresponding to respective units under test (UUTs) in the measurement system.
20. The memory medium of claim 1, wherein the plurality of component icons visually indicating components of the measurement system comprise a plurality of component icons corresponding to respective sensors in the measurement system.
21. The memory medium of claim 1, wherein the plurality of component icons visually indicating components of the measurement system comprise a plurality of component icons corresponding to respective software components in the measurement system.
22. The memory medium of claim 1, wherein said receiving user input comprises receiving user input to the special icon.
23. The memory medium of claim 1, wherein said receiving user input comprises receiving user input to a graphical user interface for specifying information regarding the at least one other component of the measurement system.
24. The memory medium of claim 23, wherein the graphical user interface comprises a dialog for specifying information regarding the at least one other component of the measurement system.
25. The memory medium of claim 23, wherein the graphical user interface comprises a wizard for specifying information regarding the at least one other component of the measurement system.
26. The memory medium of claim 23, wherein the graphical user interface comprises a menu for specifying information regarding the at least one other component of the measurement system.
27. The memory medium of claim 26, wherein the menu comprises a context menu.
28. The memory medium of claim 23, wherein the graphical user interface comprises a palette for specifying information regarding the at least one other component of the measurement system.
29. The memory medium of claim 23, wherein the program instructions are further executable by a processor to perform: receiving user input to the special icon invoking display of the graphical user interface.
30. The memory medium of claim 1, wherein the program instructions are further executable by a processor to perform: displaying a plurality of possible components for inclusion in the measurement system; wherein the user input comprises user input selecting one of the plurality of possible components for inclusion in the measurement system.
31. The memory medium of claim 1, wherein the program instructions are further executable by a processor to perform: displaying a plurality of possible options regarding the at least one other component of measurement system; wherein the user input comprises user input selecting one of the plurality of options.
32. The memory medium of claim 1, wherein said receiving user input comprises receiving user input dismissing the special icon; and wherein said dismissing the special icon causes removal of the special icon from the diagram without the user being required to specify the at least one other component.
33. The memory medium of claim 1, wherein the special icon visually indicates that the user is required to specify a network connection for the measurement system.
34. A method for displaying a measurement system, the method comprising: displaying a diagram on a display, wherein the diagram includes a plurality of component icons visually representing components of the measurement system, wherein the diagram also includes a special icon visually indicating that at least one other component of the measurement system has not yet been specified; receiving user input specifying a first component of the measurement system; removing the special icon from the diagram in response to the user input; and replacing the special icon with a first component icon visually representing the first component of the measurement system.
35. The method of claim 34, wherein the special icon has a special appearance that allows a user to easily notice the special icon in the diagram.
36. The method of claim 34, wherein the special icon has an appearance of a cloud.
37. The method of claim 34, wherein the program instructions are further executable by a processor to perform: determining the first component of the measurement system based on the user input.
38. The method of claim 34, wherein the diagram illustrates a plurality of connections visually indicating coupling relationships between the plurality of components of the measurement system.
39. The method of claim 34, wherein at least a subset of the plurality of component icons and/or the first component icon visually resemble respective components in the measurement system.
40. A system for displaying a measurement system, comprising: a processor; and a memory medium coupled to the processor, wherein the memory medium stores program instructions that are executable by a processor to: display a diagram on a display, wherein the diagram includes a plurality of component icons visually representing components of the measurement system, wherein the diagram also includes a special icon visually indicating that at least one other component of the measurement system has not yet been specified; receive user input specifying a first component of the measurement system; remove the special icon from the diagram in response to the user input; and replace the special icon with a first component icon visually representing the first component of the measurement system.
41. A computer accessible memory medium that stores program instructions for displaying a measurement system, wherein the program instructions are executable by a processor to perform: displaying a diagram on a display, wherein the diagram includes a plurality of component icons visually representing components of the measurement system, wherein the diagram also includes a special icon visually indicating that the user is required to specify one or more other components for the measurement system; receiving user input specifying a first one or more components; removing the special icon from the diagram in response to said receiving user input; and displaying the first one or more view component icons to replace the special icon, wherein each of the first one or more component icons visually indicates a component specified by the user input.
Description
FIELD OF THE INVENTION
The present invention relates to the field of measurement systems, and more particularly to a software application that guides a user through a process of creating a measurement system.
DESCRIPTION OF THE RELATED ART
Scientists and engineers often use test, measurement or automation systems to perform a variety of functions, including measurement of a physical phenomena or unit under test (UUT), test and analysis of physical phenomena, simulation, hardware-in-the-loop testing, process monitoring and control, control of mechanical or electrical machinery, data logging, and laboratory research, to name a few examples. The test, measurement or automation systems that perform such functions are collectively referred to herein as "measurement systems".
Measurement systems are moving toward computer-based systems wherein a computer system performs much of the processing, analysis, or control for the application. Measurement systems are also moving toward network-based or distributed systems, wherein a plurality of network-based devices operate together to perform a desired function.
A typical measurement system includes a computer system coupled to a measurement device or measurement hardware. The measurement device may be or may include a computer-based instrument, a data acquisition device or board, a programmable logic device (PLD), a sensor, an actuator, or other type of device for acquiring or generating data. The measurement device may be a card or board plugged into an I/O slot of the computer system, a card or board plugged into a chassis, or a standalone external device. For example, in a common measurement system configuration, the measurement hardware is coupled to the computer system via other means such as through a VXI (VME extensions for Instrumentation) bus, a PXI (PCI extensions for Instrumentation) bus, a GPIB (General Purpose Interface Bus), a serial port, or parallel port of the computer system. Optionally, the measurement system includes signal conditioning devices which receive the field signals and condition the signals to be acquired.
A measurement system may also typically include transducers, sensors, actuators or other detecting (or generating) means for providing "field" electrical signals representing a process, physical phenomena, equipment being monitored or measured, etc. The field signals are provided to the measurement hardware.
The measurement hardware may be configured and controlled by measurement software executing on the computer system. In addition, various new intelligent devices are also starting to appear in measurement systems, such as smart sensors, smart cameras, smart motion control devices, smart distributed data acquisition devices, computer based instrument cards, PXI and VXI systems, which may include intelligent controllers or reconfigurable devices, programmable logic controllers (PLCs), FPGAs, etc. Computer-based measurement systems which employ intelligent devices have become increasingly desirable in view of the increasing complexity of measurement and automation tasks, and the variety of intelligent or programmable instruments and devices available for use.
Scientists and engineers in a wide variety of disciplines are often required to develop a measurement system to accomplish a certain objective. However, due to the wide variety of possible testing and control situations and environments, and also the wide array of instruments or devices available, designing a measurement system to meet the objective can be a difficult task. Often, scientists and engineers are not highly trained in the art of designing a computer based measurement system. As a result, in many cases it is difficult to efficiently design and implement a measurement system, and the process of doing so may detract time and attention away from the central objective which the measurement system is intended to accomplish.
In addition, it is often necessary to develop custom software programs to control the measurement system. Often, scientists and engineers are not highly trained in the art of computer programming, making this a difficult and error-prone task. Distributing or deploying software programs among various components in a distributed measurement system adds yet another layer of complexity to the task of implementing a measurement system. Thus, it would be desirable to provide a system which aids a user in designing and implementing a measurement system.
SUMMARY OF THE INVENTION
One embodiment of the present invention comprises a method for representing an unspecified portion of a measurement system or visually indicating an action required of a user in designing the measurement system. Designing a measurement system may be a gradual process where the user progressively specifies more information regarding components in the measurement system. At any given point in the design process, it may be desirable to visually indicate to the user that one or more portions of the measurement system are not yet specified or that the user needs to perform one or more actions.
In one embodiment, the method may be used in conjunction with a software application operable to assist a user in designing and/or implementing the measurement system. One embodiment of such a software application is referred to herein as the Measurement System Designer (MSD) environment. The MSD environment may assist the user in designing or creating a measurement system in various ways. For example, the MSD environment may enable the user to create a diagram graphically depicting the measurement system. The MSD environment may also provide various tools and graphical user interfaces (GUIs) to guide the user in selecting various components of the measurement system or to experiment with various components.
According to one embodiment of the method, a diagram of the measurement system may be displayed. The diagram may include one or more component icons visually indicating components of the measurement system. The diagram may also include a special icon visually indicating that information regarding a portion of the measurement system has not yet been specified. This special icon may alert the user that the portion of the measurement system needs to be specified or information regarding the portion of the measurement system needs to be specified. User input specifying information regarding the portion of the measurement system may be received. In response to this user input, the special icon may be removed from the diagram.
In various embodiments, the special icon may have any appearance. The special icon preferably has a special appearance that allows the user to easily notice the special icon in the diagram or visually distinguishes the special icon from other icons in the diagram. In one embodiment, the special icon may have the appearance of a cloud. For example, the special icon may have the appearance of a puffy cloud or three-dimensional cloud. Exemplary puffy cloud icons are shown in the drawings described below.
In various embodiments, the special icon may visually indicate that any aspect of the measurement system has not yet been specified. For example, in one embodiment the special icon may visually indicate that one or more components for the portion of the measurement system have not yet been specified. Thus, receiving the user input may comprise receiving user input regarding one or more components for the portion of the measurement system. For example, in one embodiment the user input may specify one or more components to be included in the portion of the measurement system. In another embodiment, the user input may not directly specify the components for the portion of the measurement system, but one or more components may be determined based on the user input. For example, the user input may include information specifying desired functionality for the portion of the measurement system. Determining the one or more components for the portion of the measurement system may then comprise determining one or more components that are able to perform the specified functionality. Similarly, the user input may include information specifying desired characteristics for the portion of the measurement system. Determining the one or more components for the portion of the measurement system may then comprise determining one or more components that have the specified characteristics.
The method may further comprise displaying one or more component icons in place of the special icon, where the one or more component icons visually indicate the one or more components specified or determined for the portion of the measurement system. The displayed component icons may visually indicate physical components or devices and/or virtual components for the portion of the measurement system. As one simple example, where the special icon initially represents a yet-to-be-specified unit under test (UUT), the user may then specify a particular UUT, such as a power drill or other device. The special icon may then be replaced with a component icon depicting the power drill or other device.
In another embodiment, components for the portion of the measurement system may have already been specified, but the special icon may indicate the other information regarding the portion of the measurement system has not yet been specified. For example, the special icon may visually indicate that one or more properties for the portion of the measurement system have not yet been specified. Thus, the user input received may comprise user input specifying the one or more properties for the portion of the measurement system. In one embodiment the special icon may visually indicate that one or more properties for one or more components in the portion of the measurement system have not yet been specified. Thus, the user input may comprise user input specifying the one or more properties for the one or more components in the portion of the measurement system.
In another embodiment, the special icon may visually indicate that connectivity information for coupling the portion of the measurement system to other components in the measurement system has not yet been specified. Thus, the user input received may specify information regarding connection of the portion of the measurement system to one or more other components in the measurement system, e.g., may specify information regarding connection of a first component in the portion of the measurement system to the one or more other components. The method may further comprise displaying one or more connections from the first component to the one or more other components in response to the user input.
In various embodiments, the user input may be received in any of various ways. In one embodiment, the user may interact with the diagram of the measurement system to provide the user input. For example, the user input may be received to the special icon itself. User input may be received to the special icon in any of various ways. For example, the user may click on the special icon, e.g., to invoke a popup context menu associated with the special icon, where the context menu allows the user to specify information regarding the portion of the measurement system.
In another embodiment, the user may provide input to the special icon, e.g., may click on the special icon, to invoke a dialog, window, or other graphical user interface associated with the special icon. This graphical user interface may allow the user to specify information regarding the portion of the measurement system. As one example, the graphical user interface may enable the user to specify information indicating desired functionality or characteristics for the portion of the measurement system or to set various configuration properties for the portion of the measurement system or one or more components in the portion of the measurement system. In one embodiment the graphical user interface may comprise a plurality or series of GUI panels, also referred to as a wizard, allowing the user to specify information regarding the portion of the measurement system.
In another embodiment, the user may provide input to the special icon by dragging and dropping information onto the special icon. As one example, where the special icon indicates that a first component in the portion of the measurement system needs to be connected to another component in the measurement system, the user may drag and drop a component icon from elsewhere in the diagram onto the special icon, thus specifying the component to which to connect the first component in the portion of the measurement system. In another embodiment, one or more palettes may be displayed, e.g., may be displayed alongside or separately from the diagram, and the user may drag an element from a palette onto the special icon. For example, the special icon may act as a placeholder icon indicating that a particular device has not been defined or specified in the portion of the measurement system. The palette may display a plurality of different devices. Thus, the user may select an item from the palette representing the desired device to use and may drag and drop the item onto the special icon.
In another embodiment, the user input may be received to one or more elements in the diagram other than the special icon, e.g., to one or more of the component icons. For example, the user may interact with a component icon to configure the respective component represented by the component icon, which may have the effect of also specifying information regarding the portion of the measurement system represented by the special icon. As one example, the special icon may indicate that a first component in the portion of the measurement system has not yet been connected to another component in the measurement system. In this case, the user may interact with a component icon to connect the respective component to the first component in the portion of the measurement system, which may cause the special icon to be removed.
In another embodiment, the user input may not be received to the diagram or to an icon in the diagram. For example, the user may invoke a dialog box or other graphical user interface by selecting a menu option or performing a keyboard command. The user input specifying the information regarding the portion of the measurement system may then be received to this graphical user interface, without interacting with the diagram. In another embodiment, the user may provide input to the special icon to invoke the graphical user interface, as described above.
As described above, in one embodiment a special icon displayed in a measurement system diagram may visually indicate that information regarding a portion of the measurement system has not yet been specified. In another embodiment the special icon may visually indicate an action required of the user in designing the measurement system. Thus, receiving the user input may comprise receiving user input to perform the action required of the user. The special icon may be removed from the diagram in response to this user input. In various embodiments, the special icon may indicate that any kind of action is required of the user.
It is noted that in one embodiment the user may be able to dismiss or hide the special icon without first specifying the information regarding the portion of the measurement system or without performing the action indicated by the special icon. In another embodiment, the user may be required to specify the information or perform the action and may not be allowed to dismiss the special icon. In another embodiment, the special icon may not be removed from the diagram, but its appearance may be changed to indicate that the user has requested to dismiss or ignore the special icon.
The discussion above refers to a single special icon displayed in the diagram. It is noted that in one embodiment multiple special icons may be displayed in the diagram. As described above, each special icon may visually indicate that information regarding a portion of the measurement system has not yet been specified or may visually indicate an action required of the user in designing the measurement system.
In one embodiment, the MSD environment may provide various templates for designing a measurement system. Each template may specify various components or placeholder components within the measurement system. For example, one simple template may specify that the measurement system includes a unit under test (UUT), one or more measurements to acquire from the UUT, and one or more measurement hardware devices to acquire the measurements. However, the template may not specify the particular UUT to be used in the measurement system, the particular measurements to acquire, or the specific measurement hardware devices. Thus, when the template is first loaded, each of these components may be represented by a special icon, such as a puffy cloud icon. The puffy cloud icons may be replaced by specific component icons as the user specifies information regarding the respective UUT, measurements, and measurement hardware devices.
In one embodiment, the MSD environment may define a framework to which new special icons may be added as they become available. For example, special icons may be packaged as software components that can be plugged into the MSD environment for use in measurement system diagrams. For example, a third party vendor may develop his own specialized puffy cloud software component that may represent one or more elements in a measurement system. The puffy cloud software component may be packaged in such a way that specific actions or behavioral characteristics are associated with or defined by the puffy cloud software component. For example, in response to the user clicking on the puffy cloud icon, the puffy cloud software component may be operable to display a graphical user interface allowing the user to enter information regarding one or more measurement system elements represented by the puffy cloud icon.
Similarly, third party vendors may define their own templates representing specific types of measurement systems, where the templates may include various custom-developed puffy cloud software components. As one example, a third party vendor may create a template representing a dynamometer test system. This template may include a puffy cloud representing the sensors for the dynamometer test system. This puffy cloud may have an associated wizard to guide the user in selecting appropriate sensors and to connect the selected sensors to the other components in the dynamometer test system.
BRIEF DESCRIPTION OF THE DRAWINGS
A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:
FIG. 1 illustrates a computer system operable to execute a software application operable to assist a user in designing and/or implementing a measurement system;
FIG. 1A illustrates an exemplary computer network including the computer system of FIG. 1;
FIG. 2A illustrates an exemplary instrumentation control system;
FIG. 2B illustrates an exemplary industrial automation system;
FIG. 3 is a block diagram representing one embodiment of the computer system 82 illustrated in FIGS. 1, 1A, 2A and 2B;
FIG. 4 is a flowchart diagram illustrating one embodiment of a method for displaying a diagram of a measurement system, in which various components in the diagram may be expanded or collapsed as desired;
FIGS. 5 10 illustrate examples of measurement system components shown in different states of expansion;
FIG. 11 is a flowchart diagram illustrating one embodiment of a method for displaying a hardware functionality icon to visually indicate information regarding a hardware device component in a diagram;
FIGS. 12 19 illustrate examples of displaying hardware functionality icons;
FIG. 20 is a flowchart diagram illustrating one embodiment of a method for creating a sub-system in a measurement system;
FIG. 21 is a flowchart diagram illustrating one embodiment of a method for grouping a plurality of measurements together into a single icon in a measurement system diagram;
FIG. 22 illustrates an exemplary diagram of a measurement system in which a plurality of measurements are displayed in a single icon;
FIG. 23 is a flowchart diagram illustrating one embodiment of a method for representing an unspecified portion of a measurement system or visually indicating an action required of the user in designing the measurement system;
FIG. 24 is a flowchart diagram illustrating one embodiment of a method for selecting a connectable element of a hardware device;
FIG. 25 is a flowchart diagram illustrating one embodiment of a method for displaying multiple views of a measurement system diagram;
FIG. 26 is a flowchart diagram illustrating one embodiment of a method for storing configuration information for one or more components in a measurement system;
FIG. 27 is a flowchart diagram illustrating one embodiment of a method for virtually configuring a component that is actually present, i.e., is presently coupled to the computer system on which the measurement system diagram is being edited or displayed;
FIG. 28 is a flowchart diagram illustrating one embodiment of a method for virtually configuring a component that is not actually present, i.e., is not presently coupled to the computer system on which the measurement system diagram is being edited or displayed; and
FIGS. 29 138 are exemplary screen shots illustrating one embodiment of a Measurement System Designer (MSD) environment.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Incorporation by Reference
The following references are hereby incorporated by reference in their entirety as though fully and completely set forth herein:
U.S. Pat. No. 4,914,568 titled "Graphical System for Modeling a Process and Associated Method," issued on Apr. 3, 1990.
U.S. Pat. No. 5,481,741 titled "Method and Apparatus for Providing Attribute Nodes in a Graphical Data Flow Environment".
U.S. Pat. No. 6,173,438 titled "Embedded Graphical Programming System" filed Aug. 18, 1997.
U.S. Pat. No. 6,219,628 titled "System and Method for Configuring an Instrument to Perform Measurement Functions Utilizing Conversion of Graphical Programs into Hardware Implementations," filed Aug. 18, 1997.
U.S. patent application Ser. No. 09/617,600 titled "Graphical Programming System with Distributed Block Diagram Execution and Front Panel Display," filed Jun. 13, 2000.
U.S. patent application Ser. No. 09/518,492 titled "System and Method for Programmatically Creating a Graphical Program," filed Mar. 3, 2000.
U.S. patent application Ser. No. 09/745,023 titled "System and Method for Programmatically Generating a Graphical Program in Response to Program Information," filed Dec. 20, 2000.
U.S. patent application Ser. No. 10/101,512 titled "Network-based System for Configuring a Measurement System using Configuration Information Generated based on a User Specification," filed Mar. 19, 2002.
U.S. patent application Ser. No. 10/123,570 titled "Creation of a Graphical Program Through Graphical Association of a Data Point Element with the Graphical Program," filed Apr. 16, 2002.
The LabVIEW and BridgeVIEW graphical programming manuals, including the "G Programming Reference Manual", available from National Instruments Corporation, are also hereby incorporated by reference in their entirety.
FIG. 1--Computer System
FIG. 1 illustrates a computer system 82 operable to execute a software application for assisting a user in designing and/or implementing a measurement system. One embodiment of such a software application is referred to herein as a Measurement System Designer (MSD) environment. The MSD environment may be operable to assist the user in designing or implementing a measurement system that includes any of various kinds of components and performs any of various functions.
As used herein, the term "measurement system" is intended to include a system comprising two or more interconnected or coupled devices, i.e., two or more devices that are coupled together in some fashion. The measurement system may be utilized to perform any of a variety of functions, including measurement of a physical phenomena or unit under test (UIT), test and analysis of physical phenomena, simulation, hardware-in the-loop testing, process monitoring and control, control of mechanical or electrical machinery, data logging, and laboratory research, to name a few examples.
The two or more devices in the measurement system may be coupled together in any way. For example, the devices may be connected via a network, such as a local area network (LAN) and/or a wide area network (WAN), such as the Internet, a computer bus, an I/O slot, a serial or parallel bus, or other wired communication methods. Example local area networks include Ethernet networks, Token Ring networks, and various industrial communication networks such as Foundation Fieldbus, DeviceNet, and CAN (Controller Area Network) networks. Example parallel buses include the PCI bus, PXI bus, GPIB, and VXI bus, among others. Example serial buses include USB (Universal Serial Bus), IEEE 1394, RS-242, and RS-485, among others. Devices in the measurement system may also be connected using wireless communication means, such as wireless protocols including IEEE 802.11 (wireless Ethernet), Bluetooth, and other types of wireless communication.
Devices in the measurement system may also be connected using other types of physical relationships or connections as appropriate for the particular devices, such as direct electrical connections, optical or visual connections, hydraulic connections, or connections based on other physical phenomena. For example, a sensor may be connected to a unit under test (UUT) based on any of various kinds of physical phenomena.
In various embodiments, a measurement system may include components of any kind. As used herein, the term "component" is intended to include any of various physical devices or instruments. For example, a measurement system may include components such as computer systems, units under test (UUTs), measurement devices or instruments (such as the devices illustrated in FIGS. 2A and 2B), chassis, wires, cables, connector blocks, sensors, transducers, actuators, etc. Other possible physical components for a measurement system include network devices (e.g., network interface cards, routers, bridges, switches, hubs, etc.), personal digital assistants (PDAs), television systems, video devices (e.g., digital cameras, digital video cameras, etc.), audio devices, computer peripherals, telephones, appliances, other processor-based or programmable hardware-based devices, or other measurement devices including instruments, industrial automation devices, process control devices, smart data acquisition devices, smart sensors (including smart cameras), smart actuators, etc.
The term "component" may also include various logical or virtual elements. For example, in various embodiments a measurement system may include components such as measurements, software programs, documentation, annotations, named I/O channels (virtual channels), etc.
The MSD environment may assist the user in designing or creating a measurement system in various ways. For example, in one embodiment the MSD environment may enable the user to create a system diagram graphically depicting the measurement system. For example, the system diagram may include various icons representing components of the measurement system, such as a computer system that controls the measurement system, a unit under test (UUT), one or more measurements to be acquired from the UUT, one or more hardware devices to acquire the measurements, sensors, actuators, chassis, controllers, I/O modules, network devices, databases, etc. In various measurement systems any kind of component may be represented on the system diagram. Each icon may comprise a picture or graphical information to intuitively depict the component that it represents. As one example, where an icon represents a hardware device, the icon may comprise a picture, illustration, or CAD drawing of that particular hardware device or type of hardware device.
The system diagram may also illustrate relationships or connections among the components, such as network connections, serial connections, I/O slot connections, bus connections, or other cabled or wireless connections. The system diagram may also illustrate logical relationships among the components. For example, the diagram may include one or more measurement icons to represent measurements made by the measurement system and may include lines or wires from measurement icons to a hardware device icon. These lines or wires may indicate that the hardware device functions to acquire the respective measurements. As another example, lines or wires may be drawn from measurement icons to various points on a UUT icon, relating each measurement to a particular point or sub-component on the UUT.
In one embodiment, the MSD environment may also be operable to display a wiring schematic diagram of the measurement system. The wiring schematic diagram may present a lower-level view of the measurement system illustrating the physical wiring of the system. In many cases, the MSD environment may be able to automatically determine physical wiring relationships so that the user need only connect the physical components as indicated in the wiring schematic diagram. The user may also be able to interact with the wiring schematic diagram to change the wiring configuration as desired.
In one embodiment, the MSD environment may also provide various features which document the measurement system and aid the user (or another person) in understanding the measurement system. The system diagram and/or wiring schematic diagrams themselves may substantially document the measurement system. In one embodiment, the MSD environment may be operable to alter the visual appearance of various component icons in the diagram to indicate status information regarding the components. For example, the altered appearances may indicate which hardware components are actually present and which hardware components do not actually exist or need to be purchased. As another example, an appearance of an intelligent device operable to execute measurement software may be altered to indicate whether or not software programs have been deployed on the device, indicate whether a software program is currently being executed by the device, etc. In various embodiments, the appearance of icons in the system or wiring schematic diagrams may be altered in any of various ways to indicate any of various types of information. For example, an icon may be altered with special coloring or highlighting, drawing a box or shading around the icon, superimposing text or a graphical glyph over the icon, etc.
As another example, the MSD environment may help the user in understanding the measurement system through the use of various informational messages. For example, as the user moves a cursor around the system or wiring schematic diagram, the MSD environment may temporarily display various informational messages regarding the portion of the measurement system on which the cursor is currently located. As another example, the MSD environment may flexibly allow the user to view the measurement system at various levels of granularity, e.g., by expanding or collapsing icons in the diagram to view more or less detail for each of the components.
The MSD environment may also provide various tools and graphical user interfaces (GUIs) to guide the user in selecting various components of the measurement system or to experiment with various components. For example, the MSD environment may provide various templates for different kinds of measurement systems. One or more components may be undefined or placeholder components and may be represented in the diagram using a special icon, e.g., a "puffy cloud" icon such as described below. A guidance mechanism may be associated with an undefined component to aid the user in defining the component. For example, in one embodiment when the user clicks on the special icon a series of graphical user interface screens, referred to herein as a wizard, may appear to aid the user in defining the component.
When aiding a user in selecting or defining a particular component for the measurement system, the MSD environment may intelligently use information determined from the portions of the measurement system that the user has already specified. As one example, the user may define one or more measurements and specify electrical characteristics required to make the measurements. The user may then invoke a guidance mechanism for selecting particular hardware to make the measurements. In this guidance mechanism, the MSD environment may constrain the hardware choices presented to the user to hardware that is appropriate given what the user has already defined, e.g., by only presenting hardware that conforms to the electrical characteristics required to make the measurements.
In addition to assisting the user in designing hardware aspects of the measurement system, in one embodiment the MSD environment may also assist the user in designing or implementing software aspects of the measurement system. For example, in one embodiment, the MSD environment may include a programming development environment in which the user can create software programs, e.g., to control or interact with hardware devices in the measurement system. In one embodiment, the programming development environment may enable the user to create text-based programs, such as C, C++, Java, Visual Basic, or Visual C++ programs, or programs written in other text-based programming languages. In another embodiment, the programming development environment may enable the user to create graphical programs, such as LabVIEW, VEE, Simulink, or other graphical programs.
The programming development environment may be integrated with the rest of the MSD environment, enabling the user to seamlessly design hardware aspects of the measurement system and develop software for the measurement system using a single software application. The MSD environment and its programming development environment may also intelligently use information determined from the measurement system specified by the user to assist the user in creating a software program. As one example, where the user has defined one or more measurements, the MSD environment may automatically create a programmatic entity, such as a virtual channel, for each measurement. The programming development environment may allow the user to include these programmatic entities (e.g., virtual channels) in the software program to reference the respective measurements. In addition, where the software program is associated with a particular hardware device, e.g., where the user specified that the software program is intended for deployment on the hardware device, the programming development environment may constrain the available virtual channels shown to the user to only those virtual channels associated with that particular hardware device. Thus, the programming development environment may simplify the software development task by eliminating superfluous information and helping the user develop a correct program.
In one embodiment, the MSD environment may also be operable to automatically or programmatically generate at least a portion of the software program(s) for the measurement system. For example, the MSD environment may programmatically generate program code to perform at least a portion of a measurement function.
In many cases the user may design a measurement system that includes a plurality of network-based devices which operate together to perform a desired measurement function. In one embodiment, the MSD environment may assist the user in deploying software programs on various devices in a distributed measurement system. For example, the measurement system may include one or more devices that include intelligent controllers or reconfigurable devices, programmable logic controllers (PLCs), FPGAs, etc.
In one embodiment, the MSD environment may also provide a hierarchical tree view that indicates the current state of the measurement system under design from various perspectives. The tree view may include text items corresponding to components of the measurement system. These items may be organized to display a compact hierarchical representation of the measurement system. As various components are added to the measurement system, the tree view may be updated to reflect the new components.
In various embodiments, the user may interact with the tree view to perform various tasks. In one embodiment, the user may utilize the tree view to navigate through the system diagram or wiring schematic diagram. For example, in response to the user selecting a component in the tree view, the component may be highlighted on the diagram and the diagram may be scrolled if necessary to bring the component into view. The user may also utilize the tree view in various other ways, e.g., to deploy software programs on distributed hardware devices. Other possible uses of the tree view are described below.
In one embodiment, the MSD environment may also be operable to aid the user not only in designing a measurement system but also purchasing various components needed for the measurement system or performing other business management tasks related to the measurement system. For example, after the user designs the measurement system by creating a diagram such as described above, the MSD environment may provide an option allowing the user to order one or more components for the measurement system electronically. For example, the MSD environment may communicate with one or more remote computer servers for one or more vendors to electronically order the components. The MSD environment may also be operable to integrate with computer servers for one or more vendors to provide the user with information such as which components are in inventory, which components the user has ordered, which components are in route to the user, which components still need to be ordered to complete the measurement system, etc. Also, in one embodiment, the component icons displayed on the measurement system diagram may be visually altered in various ways to indicate this type of information.
Thus, in various embodiments the MSD environment may integrate various aspects of the process of designing and implementing a measurement system.
Referring again to FIG. 1, the computer system 82 which executes the MSD environment application may be any type of computer system, including a personal computer system, mainframe computer system, workstation, network appliance, Internet appliance, personal digital assistant (PDA), television system or other device. In general, the term "computer system" can be broadly defined to encompass any device having at least one processor that executes instructions from a memory medium.
The computer system 82 may include a display device operable to display a graphical user interface of the MSD environment. For example, the graphical user interface may include a workspace that displays a diagram of the measurement system as the measurement system is being designed. The computer system 82 may also include a memory medium(s) on which one or more computer programs or software components according to one embodiment of the present invention may be stored, e.g., one or more computer programs or software components implementing the MSD environment. Also, the memory medium may store information representing one or more measurement systems designed using the MSD environment. The memory medium may also store operating system software, as well as other software for operation of the computer system.
The term "memory medium" is intended to include an installation medium, e.g., a CD-ROM, floppy disks 104, or tape device; a computer system memory or random access memory such as DRAM, SRAM, EDO RAM, Rambus RAM, etc.; or a non-volatile memory such as a magnetic media, e.g., a hard drive, or optical storage. The memory medium may comprise other types of memory as well, or combinations thereof. In addition, the memory medium may be located in a first computer in which the programs are executed, or may be located in a second different computer which connects to the first computer over a network, such as the Internet. In the latter instance, the second computer may provide program instructions to the first computer for execution.
Various embodiments further include receiving or storing instructions and/or data implemented in accordance with the foregoing description upon a carrier medium. Suitable carrier media include a memory medium as described above, as well as signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as networks and/or a wireless link.
Creating a Measurement System Diagram
As described above, in one embodiment the MSD environment may enable the user to create a system diagram graphically depicting the measurement system. In one embodiment, the user may base the system diagram on a template provided by the MSD environment. Each template may provide a framework for a particular type of measurement system. In various embodiments, the templates may represent any of various kinds of measurement systems for any of various applications. In one embodiment, the available templates may include templates representing measurement systems operable to perform various functions such as motion control, machine vision, data acquisition, process control, etc. In another embodiment, the available templates may represent measurement systems for implementing specialized solutions for particular industries, such as aerospace, automotive, biomedical, communications, electronics, semiconductor, etc.
In response to the user selecting a template, an initial system diagram defined by the template may be displayed. The initial system diagram may include icons representing one or more measurement system components. The user may then extend the initial system diagram, e.g., by adding icons representing additional components and/or defining connections among the components. The user may also change or replace the components in the initial system diagram to use different components. Also, as described in detail below, one or more components in the initial system diagram may be represented by special icons, e.g., puffy cloud icons, indicating that the user needs to provide additional information to further specify a portion of the measurement system.
In another embodiment, the user may not begin the system diagram from a template, but may begin designing the measurement system from a blank diagram. The user may then add icons to the system diagram to indicate the desired components of the measurement system. Also, as described below, in one embodiment at least a portion of the system diagram may be automatically created based on an automatic detection of devices, programs, or other components coupled to or present on the user's computer system.
In various embodiments, the user may add new icons to the system diagram in any of various ways. In one embodiment, the user may add icons to the system diagram by directly selecting each desired icon (or directly selecting each of the respective components that the icons represent). For example, the MSD environment may provide one or more palettes allowing the user to select the desired icons (or components) for inclusion on the system diagram or may allow the user to select the desired icons (or components) in other ways, such as using menu items, toolbars, speech recognition techniques, etc.
In another embodiment, the user may add icons to the system diagram indirectly. For example, the MSD environment may display one or more dialog boxes or windows to obtain information from the user and may then include one or more icons on the system diagram based on the information specified by the user. For example, the MSD environment may display a series of dialogs or graphical user interface panels, e.g., a wizard, which allows the user to specify desired functionality of the measurement system (or desired functionality for a portion of the measurement system). The MSD environment may then determine one or more components to include in the measurement system to achieve the specified functionality and may add the respective icons to the system diagram.
Icons may be arranged on the system diagram in various ways. For example, the user may provide input to manually arrange the icons on the system diagram as desired. In one embodiment, the user may also be able to invoke an "auto-arrange" feature which automatically arranges the icons to improve the appearance of the system diagram.
Thus, in one embodiment, the system diagram may at least partly be created in response to or based on manual user input. In addition to directly or indirectly specifying icons (components), the user may also provide direct or indirect input specifying connections among the icons (components). In various embodiments, connections may represent any kind of relationship between the respective components, e.g., depending on the types of the components which the icons represent. As one example, a connection may represent a physical connection or relationship between two devices, such as a network connection, bus connection, etc. As another example, a connection may represent a logical relationship between the components. For example, where a first icon represents a hardware device and a second icon represents a measurement, the connection may indicate that the hardware device functions to acquire the measurement. As described below, a connection that is displayed between two icons on the measurement system diagram may be context sensitive. In other words, the connection that is displayed or created on the display may have a context or appearance that is associated with the types of components that are being connected, the type of physical connection between the respective components, and/or the type of data or material flow between the components, etc.
In various embodiments, connections may be manually specified using any of various techniques. For example, in one embodiment, the user may use a pointing device (e.g., a mouse), and may possibly use a "wiring tool", to connect a first icon to a second icon, e.g., similar to the wiring tool used in the LabVIEW graphical programming development environment to connect graphical program icons in a block diagram. This may cause a connection, e.g., a wire, to appear between the icons to indicate a coupling relationship between the two (or more) icons. In other embodiments, connections may be specified using other techniques. As one example, the user may associate a first icon with a second icon by dragging and dropping the first icon onto the second icon. In another embodiment, the user may indirectly specify a connection, e.g., by providing input to a dialog or graphical user interface panel, where the MSD environment is operable to create the connection based on this input.
In another embodiment, the measurement system diagram may at least partly be automatically or programmatically created by the MSD environment with no user input required. For example, the MSD environment may be operable to automatically or programmatically add one or more icons to the system diagram and/or add one or more connections between icons with no user input required. In one embodiment, icons or connections may be added based on an automatic detection of devices, programs, or other components coupled to or present on the user's computer system. For example, Plug & Play software or other detection software may detect devices present, their interconnections or couplings, information associated with the various devices, and programs resident in the various devices. Based on this detection, the MSD environment may automatically display a portion or all of a measurement system diagram. For example, the system diagram may include various icons corresponding to detected devices and connections (e.g., "connection icons" or "wires") between respective device icons corresponding to the couplings between devices automatically detected in the system. The connections between device icons that are automatically displayed may be displayed with an appearance indicating the type of detected connection.
In one embodiment, detection software may also automatically detect programs present in the user's computer system (or present on devices coupled to the user's computer system) and may display corresponding program icons on the system diagram or may otherwise alter the measurement system diagram to indicate the programs. In a similar manner, software may also detect a relationship (e.g., an invocation relationship) among programs resident in the various devices in the system. Connections between the program icons may be displayed to visually indicate the determined relationship.
The MSD environment may also detect other components coupled to, present on, or defined on the user's computer system (possibly including virtual or logical components) and may display corresponding icons in the measurement system diagram. For example, other components may include data points, I/O channels or aliases, databases, networked computer systems, etc.
The user may extend or change an automatically created system diagram by providing user input such as described above. For example, the user may extend the system diagram by adding new icons to represent existing components that could not be detected through automatic means and/or virtual components that are not physically present or do not correspond to a physical device. The user may also extend the system diagram by adding new icons to represent desired components which do not yet exist, such as physical components that are not physically present or virtual components that have not yet been created or defined. In one embodiment, icons which represent physical components that are not physically present or virtual components that have not yet been created or defined may be graphically depicted differently from other icons on the system diagram. For example, these icons may be visually altered using different coloring, shading, or other visual techniques to indicate to the user that the icons represent components that are not actually present or defined.
The MSD environment may be operable to store a measurement system diagram created as described above. For example, the system diagram may be stored in memory as one or more data structures and/or may be persistently stored as one or more files. Stored data representing a measurement system is also referred to herein as "measurement system data". In addition to specifying the measurement system diagram, measurement system data may also specify other aspects of a measurement system which are not explicitly indicated on the diagram.
In one embodiment, measurement system data may be transferred for use on other computer systems. As one example, measurement system data may be reloaded on another computer system to allow another user to view or further design the measurement system.
In one embodiment, the MSD environment may include coordination features allowing multiple users on multiple computer systems to work on the same measurement system design. As another example, measurement system data may be transmitted to a vendor's remote computer server, e.g., for technical support or electronic commerce purposes.
Connecting Component Icons
As noted above, in one embodiment a connection that is displayed between two icons on a measurement system diagram may be context sensitive. In other words, the connection that is displayed or created on the display may have a context or appearance that is associated with the types of components being connected, the type of physical interface (e.g., network or bus type) between the components, the type of data or information flow between the components, and/or the type of logical relationship between the components.
For example, where a connection indicates a physical interface between two devices, the MSD environment may display a wire or other connection icon between the two respective device icons to indicate the type of physical interface. For example, different kinds of interface types, bus types, or network types may be visually indicated using different kinds of wires or connection icons. In one embodiment, the MSD environment may be operable to automatically determine the type of physical interface between the devices in response to receiving user input to connect the devices and may automatically display the appropriate kind of wire or connection icon. Alternatively, the user may select a link or connection from a palette based on the type of devices that the user desires to connect.
As another example, the user may desire to connect a first icon representing a laser device to a second icon representing a mirror or other optical device. When the user associates the first icon with the second icon (e.g., by clicking on the first icon and dragging the cursor to the second icon to create the connection or performing another connection technique), the MSD environment may automatically display a laser beam connection between the two icons, i.e., a connection icon which has the appearance of a laser beam or optical signal. This visually indicates to the user the type of signals that are being passed between the devices. As another example, when the user connects a tank icon representing a tank device to, for example, a valve icon representing a valve, the MSD environment may automatically display the connection with the appearance of a pipe to visually indicate to the user the type of signals or material being transferred between the devices. Other types of connection icons may be used to indicate other types of signal, material, data, or information propagation between other types of devices or components.
In one embodiment, the MSD environment may be operable to perform type checking of connections between component icons. For example, if the user attempts to connect a PCI device to a USB device, the MSD environment may determine that the devices are incompatible and generate an error indication, e.g., by displaying a broken connection and/or an error message. As another example, if the user attempts to connect a tank icon to a laser icon, the MSD environment may perform type checking and determine that the two device icons are incompatible types that cannot share the same physical phenomena.
FIG. 1A--Computer Network
FIG. 1A illustrates a system including a first computer system 82 that executes at least a portion of the MSD environment application and a second computer system 90. The first computer system 82 may be connected through a network 84 (or a computer bus) to the second computer system 90. The computer systems 82 and 90 may each be any of various types, as desired. Also, the network 84 can also be any of various types, including a LAN (local area network), WAN (wide area network), the Internet, an Intranet, or a wireless network, among others.
In various embodiments, the first computer system 82 may connect to the second computer system 90 for any of various reasons. For example, as described below, in one embodiment the second computer system 90 may be a remote computer server to which the first computer system 82 connects to download information for use in the MSD environment, to electronically place an e-commerce order, to request online technical support, etc.
In another embodiment, at least a portion of the MSD environment may execute on the second computer system 90 as well as the first computer system 82. For example, one or more wizards or guidance mechanisms (or other functionality) associated with the MSD application may execute on the second computer system 90 in response to the user interacting with a graphical user interface displayed on the first computer system 82. Information generated by the wizards or guidance mechanisms which execute on the second computer system 90 may be displayed on the first computer system 82, or the wizards or guidance mechanisms may otherwise affect the state of the portion of the MSD application which executes on the first computer system 82. In one embodiment, the user may interact with a browser or browser-like program on the first computer system 82, and the first computer system 82 may communicate with the second computer system 90 (e.g., a web server or other remote computer server) in response to the user's input to the browser interface.
FIGS. 2A and 2B--Instrumentation and Industrial Automation Systems
FIG. 2A illustrates an exemplary instrumentation control system 100. According to one embodiment of the invention, the MSD environment may assist the user in configuring the instrumentation control system 100. The system 100 comprises a host computer 82 which connects to one or more instruments. The host computer 82 may comprise a CPU, a display screen, memory, and one or more input devices such as a mouse or keyboard as shown. The computer 82 may operate with the one or more instruments to analyze, measure or control a unit under test (UUT) or process 150.
The one or more instruments may include a GPIB instrument 112 and associated GPIB interface card 122, a data acquisition board 114 and associated signal conditioning circuitry 124, a VXI instrument 116, a PXI instrument 118, a video device or camera 132 and associated image acquisition (or machine vision) card 134, a motion control device 136 and associated motion control interface card 138, and/or one or more computer based instrument cards 142, among other types of devices.
The GPIB instrument 112 may be coupled to the computer 82 via the GPIB interface card 122 provided by the computer 82. In a similar manner, the video device 132 may be coupled to the computer 82 via the image acquisition card 134, and the motion control device 136 may be coupled to the computer 82 through the motion control interface card 138. The data acquisition board 114 may be coupled to the computer 82, and may interface through signal conditioning circuitry 124 to the UUT. The signal conditioning circuitry 124 may comprise an SCXI (Signal Conditioning eXtensions for Instrumentation) chassis comprising one or more SCXI modules 126.
The GPIB card 122, the image acquisition card 134, the motion control interface card 138, and the DAQ card 114 are typically plugged in to an I/O slot in the computer 82, such as a PCI bus slot, a PC Card slot, or an ISA, EISA or MicroChannel bus slot provided by the computer 82. However, these cards 122, 134, 138 and 114 are shown external to computer 82 for illustrative purposes. These devices may also be connected to the computer 82 through a serial bus or through other means.
The VXI chassis or instrument 116 may be coupled to the computer 82 via a VXI bus, MXI bus, or other serial or parallel bus provided by the computer 82. The computer 82 may include VXI interface logic, such as a VXI, MXI or GPIB interface card (not shown), which interfaces to the VXI chassis 116. The PXI chassis or instrument may be coupled to the computer 82 through the computer's PCI bus.
A serial instrument (not shown) may also be coupled to the computer 82 through a serial port, such as an RS-232 port, USB (Universal Serial bus) or IEEE 1394 or 1394.2 bus, provided by the computer 82. In typical instrumentation control systems an instrument will not be present of each interface type, and in fact many systems may only have one or more instruments of a single interface type, such as only GPIB instruments.
In one embodiment, various ones of the instruments or various combinations of the instruments shown in FIG. 2A (or other devices) may be coupled to the computer 82 via an Ethernet or other network connection, including a wired and/or wireless network connection.
The instruments may be coupled to a unit under test (UUT) or process 150, or may be coupled to receive field signals, typically generated by transducers. The system 100 may be used in a data acquisition and control application, in a test and measurement application, an image processing or machine vision application, a process control application, a man-machine interface application, a simulation application, or a hardware-in-the-loop validation application.
FIG. 2B illustrates an exemplary industrial automation system 160. According to one embodiment of the invention, the MSD environment may assist the user in configuring the industrial automation system 160. The industrial automation system 160
is similar to the instrumentation or test and measurement system 100 shown in FIG. 2A. Elements which are similar or identical to elements in FIG. 2A have the same reference numerals for convenience. The system 160 may comprise a computer 82 which connects to one or more devices or instruments. The computer 82 may comprise a CPU, a display screen, memory, and one or more input devices such as a mouse or keyboard as shown. The computer 82 may operate with the one or more devices to a process or device 150 to perform an automation function, such as MMI (Man Machine Interface), SCADA (Supervisory Control and Data Acquisition), portable or distributed data acquisition, process control, advanced analysis, or other control.
The one or more devices may include a data acquisition board 114 and associated signal conditioning circuitry 124, a PXI instrument 118, a video device 132 and associated image acquisition card 134, a motion control device 136 and associated motion control interface card 138, a fieldbus device 170 and associated fieldbus interface card 172, a PLC (Programmable Logic Controller) 176, a serial instrument 182 and associated serial interface card 184, or a distributed data acquisition system, such as the FieldPoint system 185 available from National Instruments, among other types of devices.
The DAQ card 114, the PXI chassis 118, the video device 132, and the image acquisition card 134 may be connected to the computer 82 as described above. The serial instrument 182 may be coupled to the computer 82 through a serial interface card
184, or through a serial port, such as an RS-232 port, provided by the computer 82. The PLC 176 may couple to the computer 82 through a serial port, Ethernet port, or a proprietary interface. The fieldbus interface card 172 may be comprised in the computer 82 and may interface through a fieldbus network to one or more fieldbus devices. Each of the DAQ card 114, the serial card 184, the fieldbus card 172, the image acquisition card 134, and the motion control card 138 are typically plugged in to an I/O slot in the computer 82 as described above. However, these cards 114, 184, 172, 134, and 138 are shown external to computer 82 for illustrative purposes. In typical industrial automation systems a device will not be present of each interface type, and in fact many systems may only have one or more devices of a single interface type, such as only PLCs. The devices may be coupled to the device or process 150.
In one embodiment, various ones of the devices or various combinations of the devices shown in FIG. 2B (or other devices) may be coupled to the computer 82 via an Ethernet or other network connection, including a wired and/or wireless network connection.
As used herein, the term "instrument" is intended to include any of the devices that are adapted to be connected to a computer system as shown in FIGS. 2A and 2B, traditional "stand-alone" instruments, as well as other types of measurement and control devices. The term "measurement function" may include any type of data acquisition, measurement or control function, such as that implemented by the instruments shown in FIGS. 2A and 2B. For example, the term "measurement function" includes acquisition and/or processing of an image.
In the embodiments of FIGS. 2A and 2B above, one or more of the various instruments may couple to the computer 82 over a network, such as the Internet. In one embodiment, the user operates to select a target instrument or device from a plurality of possible target devices for programming or configuration. Thus the user may create or deploy a program on a computer and use the program in conjunction with a target device or instrument that is remotely located from the computer and coupled to the computer through a network. In one embodiment, the program may be a graphical program.
Graphical software programs which perform data acquisition, analysis and/or presentation, e.g., for measurement, instrumentation control, industrial automation, or simulation, such as in the applications shown in FIGS. 2A and 2B, may be referred to as virtual instruments.
FIG. 3--Computer System Block Diagram
FIG. 3 is a block diagram representing one embodiment of the computer system 82 illustrated in FIGS. 1, 1A, 2A and 2B. It is noted that any type of computer system configuration or architecture can be used as desired, and FIG. 3 illustrates a representative PC embodiment. It is also noted that the computer system may be a general purpose computer system, a computer implemented on a VXI card installed in a VXI chassis, a computer implemented on a PXI card installed in a PXI chassis, or other types of embodiments. Elements of a computer not necessary to understand the present description have been omitted for simplicity.
The computer may include at least one central processing unit or CPU 160 which is coupled to a processor or host bus 162. The CPU 160 may be any of various types, including an x86 processor, e.g., a Pentium class, a PowerPC processor, a CPU from the SPARC family of RISC processors, as well as others. Main memory 166 is coupled to the host bus 162 by means of memory controller 164. The main memory 166 may store software implementing the MSD environment. The main memory may also store operating system software, as well as other software for operation of the computer system.
The host bus 162 may be coupled to an expansion or input/output bus 170 by means of a bus controller 168 or bus bridge logic. The expansion bus 170 may be the PCI (Peripheral Component Interconnect) expansion bus, although other bus types can be used. The expansion bus 170 includes slots for various devices such as a data acquisition board 114 and a GPIB interface card 122 which provides a GPIB bus interface to a GPIB instrument. The computer 82 further comprises a video display subsystem 180
and hard drive 182 coupled to the expansion bus 170.
As shown, a reconfigurable instrument 190 may also be connected to the computer. The reconfigurable instrument 190 may include configurable logic, such as a programmable logic device, e.g., an FPGA, or a processor and memory, which may execute a real time operating system. In various embodiments, the configurable logic may be comprised on an instrument or device connected to the computer through means other than an expansion slot, e.g., the instrument or device may be connected via an IEEE 1394
bus, USB, or other type of port, or may be connected via a network. Also, the configurable logic may be comprised on a device such as the data acquisition board 114 or another device shown in FIG. 2A or 2B.
FIG. 4--Expanding and Collapsing Components in a Measurement System Diagram
It may be desirable to allow the user to view various aspects of a measurement system at various levels of granularity. For example, the user may desire to view details regarding one or more components in the measurement system but may not want to see details for other components. FIG. 4 is a flowchart diagram illustrating one embodiment of a method for displaying a diagram of a measurement system, in which various components in the diagram may be expanded or collapsed as desired. This may allow the user to view a compact diagram illustrating the measurement system from a high level, or to expand various components in the diagram to "drill down" into particular sub-systems or components to view details regarding those sub-systems or components. It is noted that FIG. 4 illustrates a representative embodiment, and alternative embodiments are contemplated. Also, various elements may be combined, omitted, or performed in different orders. In one embodiment, an MSD environment application such as described herein may implement the method of FIG. 4.
In 301, a diagram of the measurement system may be displayed, where the diagram illustrates a plurality of components in the measurement system. In various embodiments, the diagram may illustrate any kind of measurement system including any kind of component, similarly as described above. Components illustrated in the diagram may correspond to physical components or devices in the measurement system. In one embodiment, one or more components in the diagram may also comprise virtual or logical components. In one embodiment, components which correspond to physical components or devices may be represented using icons which visually resemble the respective physical components or devices. Also, as described below, the illustration of a component in the diagram may change depending on the current expansion state of the component. The diagram may also visually indicate coupling relationships between components of the measurement system, e.g., using wires, lines, or other representations.
In one embodiment, the diagram of the measurement system may be displayed in a software application (such as the MSD environment described herein) which allows the user to edit the diagram, e.g., to design the measurement system. Thus, in one embodiment the diagram may be displayed as the diagram is being edited. In another embodiment, the diagram may be displayed only for the purpose of viewing the diagram. For example, the software application may not allow the user to edit the diagram, or the user may not want to edit the diagram.
In one embodiment, the plurality of components in the measurement system may be illustrated in the diagram by a plurality of component icons. As used herein, an "icon" may comprise a portion of graphical information displayed on a display. The icon may have any appearance, shape, or size. Each component icon may correspond to a component in the measurement system.
Each component (or at least a subset of the components) displayed in the diagram may have a plurality of possible expansion states. For example, each component may have a minimum expansion state and a maximum expansion state and possibly one or more expansion states in between. In the minimum expansion state, the component may be fully collapsed, i.e., may be displayed at a highest or most abstract level. In the maximum expansion state, the component may be fully expanded, i.e., may be displayed at a lowest or most detailed level. In 301, each component may be displayed in a first expansion state, which may be any of the expansion states for the respective component.
In 303, first user input may be received to the diagram to change the expansion state of a first component in the diagram. The user input may be input for either increasing the expansion state of the first component relative to the first expansion state of the first component or decreasing the expansion state of the first component relative to the first expansion state of the first component.
In various embodiments, the first user input to the diagram to change the expansion state of the first component may be received to any portion of the diagram and may be received in any of various ways. In one embodiment, the first user input may be received to the first component itself. For example, the user may provide input to the first component using a mouse, pen device, or other pointing device. In one embodiment, the user may invoke a context menu associated with the first component to change its expansion state, e.g., by clicking on the first component to pop up the context menu. In another embodiment, displaying the first component may include displaying a region within the component for changing the expansion state of the component. Thus, the first user input may be received to this region. For example, in one embodiment, the region may include a first portion for increasing the expansion state of the component and a second portion for decreasing the expansion state of the component, and the user may click on or otherwise provide input to the desired portion to increase or decrease the expansion state. The region or portions in the region may be visually indicated in any way, e.g., using arrows, plus or minus signs, etc.
In 305, the diagram may be updated to illustrate a second expansion state of the first component in response to the first user input received in 303, i.e., either an increased or decreased expansion state relative to the first expansion state of the first component. Updating the diagram to illustrate the second expansion state of the first component may include changing the appearance of the first component or re-displaying the first component. Where the first component is represented in the diagram by a first icon, the diagram may be updated by changing the first icon or replacing the first icon with a second icon representing the first component, where the second icon (or the changed first icon) illustrates the second expansion state of the first component.
Where, the first user input in 303 is user input requesting to increase the expansion state of the first component, the appearance of the first component may be altered in any way to visually indicate the increased expansion state. For example, displaying the first component in its first expansion state may indicate first information regarding the first component. Visually indicating the increased expansion state may comprise changing the appearance of the first component to indicate second information regarding the first component. For example, the second information may include more information or more details regarding the first component than the first information.
Similarly, displaying the first component in its first expansion state may comprise displaying first visual information representing the first component. Visually indicating the increased expansion state may comprise displaying second visual information representing the first component. For example, the second visual information may provide more visual detail regarding the first component than the first visual information. As one example, the first component may comprise a physical component, such as a hardware device, a unit under test (UUT), etc. Visually indicating the increased expansion state may comprise redisplaying the first component to more accurately indicate the physical appearance of the first component. For example, in its first expansion state, the first component may be abstractly represented by a first icon, such as a simple box indicating the name or type of the first component. In its increased expansion state, the first component may be visually indicated by a more accurate or more detailed second icon, such as an illustration, photograph, or detailed CAD drawing of the physical component itself.
In various embodiments, the increased expansion state may visually indicate any of various kinds of additional or more detailed information regarding the first component, and the information may be presented in any way, e.g., as text or graphical information, or both. The type of information displayed may vary depending on the type of component. As one example, the first component may comprise a hardware device having one or more channels or other connection points. The channels or connection points may not be visible when the first component is displayed in its first expansion state. When the expansion state of the first component is increased, the channels or connection points may then be displayed.
In one embodiment, the first component may have one or more child components which are not visible when the first component is displayed in its first expansion state. When the expansion state of the first component is increased, the one or more child components may then be displayed. For example, the first component may comprise a component which includes the one or more child components in a hierarchical manner. As one example, the first component may comprise a hardware chassis, and the one or more child components may comprise one or more modules installed in the hardware chassis. As described above, the hardware chassis may first be abstractly represented by a simple first icon. The hardware chassis or first icon may then be expanded, causing the first icon to be changed or replaced by a second icon illustrating the physical appearance of the hardware chassis. When this occurs, the one or more modules may be displayed by or within the second icon. For example, the one or more modules themselves may be illustrated either abstractly or using their real physical appearances.
In one embodiment the child components of the first component may also have multiple possible expansion states. Thus, once the child components become visible, the user may also change the expansion states of the child components to view more or less information regarding the child components, as desired. The display of the child components may be changed similarly as for the first component.
In one embodiment, indicating the increased expansion state of the first component may include increasing the display size of the first component. In other words, in the increased expansion state the first component may be displayed over a larger area than in the first expansion state. In one embodiment, the first component may be expanded vertically. The first component may also or alternatively be expanded horizontally.
In one embodiment, increasing the expansion state of the first component may not only allow the user to view additional information regarding the first component but may also allow the user to perform additional actions involving the first component. For example, where the user is currently editing the diagram, the user may desire to connect a first channel of the first component to a second component in the diagram. As described above, channels of the first component may not be visible when the first component is displayed in its first expansion state. By increasing the expansion state of the first component, the user may access the first channel, e.g., by connecting a wire to the first channel from the second component.
Where, the first user input in 303 is user input requesting to decrease the expansion state of the first component, the appearance of the first component may be altered in any way to visually indicate the decreased expansion state. For example, displaying the first component in its first expansion state may indicate first information regarding the first component. Visually indicating the decreased expansion state may comprise changing the appearance of the first component to indicate second information regarding the first component. For example, the second information may include less information or less details regarding the first component than the first information. For example, the second information may include less information regarding elements, functionality, or other details of the first component. Also, the first component may be re-displayed to more abstractly illustrate the first component or to illustrate the first component in less visual detail. If the first component has child components that are visible when the first component is displayed in its first expansion state, these child components may be removed from view when the expansion state of the first component is decreased.
In one embodiment, indicating the decreased expansion state of the first component may include decreasing the display size of the first component. In other words, in the decreased expansion state the first component may be displayed over a smaller area than in the first expansion state. In one embodiment, the first component may be collapsed vertically. The first component may also or alternatively be collapsed horizontally.
As described above, connections or couplings between components in the measurement system may be illustrated on the diagram. In one embodiment, multiple channels or connection points of the first component may be connected to one or more other components in the measurement system. The method may operate to change the display of these multiple connections depending on the expansion state of the first component. For example, when the first component is in a collapsed expansion state, multiple connections to channels of the first component may be illustrated as a single wire connected to the first component. When the first component is then expanded to illustrate channels of the first component, the single wire may be replaced by a plurality of individual wires, where each individual wire is shown connected to its corresponding channel on the first component. Similarly, if the first component is then collapsed again, the plurality of wires may be replaced by the single wire.
For other types of couplings, the diagram may be updated in other ways in response to increasing or decreasing the expansion state of the first component to illustrate more or less detail regarding the coupling. For example, the first component may comprise a first tank, and the first tank may be coupled to a second tank component in the measurement system. When the first component is in an expanded state, a coupling between the first tank and the second tank may be illustrated as a three-dimensional pipe. If the first tank component and/or the second tank component is then collapsed, the pipe may be replaced on the diagram by a simple line.
Updating the diagram to illustrate the second expansion state of the first component may not affect the expansion states of the components other than the first component. This may allow the user to expand or collapse components independently of each other to view each component at a desired level of detail.
In one embodiment updating the diagram may include adjusting the locations of other components relative to the first component, e.g., to accommodate or reflect an increase or decrease in the display size of the first component. Also, in one embodiment, the display of one or more of the other components may be changed in response to changing the expansion state of the first component. For example, if a second component is displayed within the first component and the first component is completely collapsed, the second component may be entirely hidden from view.
In one embodiment, information may be displayed on the components in the diagram to indicate the current expansion states of the components, e.g., to indicate whether each component is at its minimum expansion state, maximum expansion state, or in between. This information may indicate to the user whether each component can be further expanded or collapsed. Thus, in one embodiment, this information may be updated on the first component in response to changing the expansion state of the first component.
The discussion above pertains to a single expansion state change for a single component. It is noted that expansion state of the first component may be changed multiple times as desired, and the diagram may be updated accordingly each time. Also, expansion states of any of the other components in the diagram may be changed as desired as well, and may be changed in any order. Thus, a diagram with many components may have many possible display states as expansion states for the various components are changed with respect to each other. In one embodiment, a feature to change expansion states for multiple components at once may be provided. For example, the user may be able to completely collapse each component in the diagram as a single operation, completely expand each component in the diagram as a single operation, change the expansion state of each component in the diagram up or down one level (or a specified number of levels) as a single operation, etc.
FIGS. 5 10 illustrate examples of components shown in different states of expansion. FIG. 5 illustrates a portion of a measurement system diagram including a first component representing a unit under test (UUT) (the left hand side icon) coupled to a second component representing a plurality of measurements to acquire from a UUT (the right hand side icon). In this case, the first component corresponds to a physical device, i.e., the unit under test, which is a power drill in this case, and the second component comprises a virtual component, i.e., the measurements to be acquired. FIG. 6 illustrates the diagram portion after the first component has been expanded. As shown, the first component is now displayed over a larger area and illustrates more detail regarding the UUT. The line connecting the first icon and the second icon has also been expanded into multiple lines, where each line is connected to a point on the drill from which one of the measurements is acquired. FIG. 7 illustrates the second component by itself after it has been expanded. In the increased expansion state, the individual measurements represented by the second component are displayed, whereas they are not displayed in the collapsed expansion state.
FIG. 8 illustrates another example of a component displayed in a collapsed expansion state. In this case, the component comprises a PXI chassis. FIG. 9 illustrates the result of expanding the component. In this example, an I/O module is installed in the PXI chassis, as illustrated in FIG. 9. As described above, once the I/O module is visible, the user can also expand the I/O module. As described in detail below, when the I/O module is expanded another icon displaying details of the I/O module may be displayed, as shown in FIG. 10.
Additional examples of changing component expansion states are described below with reference to FIGS. 29 138. It is noted that these examples and the examples shown in FIGS. 5 10 are exemplary only, and in various embodiments the above-described method may be implemented in any of various ways.
FIG. 11--Icon Representing Funtionality of a Hardware Device
As illustrated by FIG. 10, in one embodiment expanding a component may result in an additional icon being displayed, where the additional icon visually indicates additional information regarding the component. FIG. 11 is a flowchart diagram illustrating one embodiment of a method for displaying an additional icon to visually indicate information regarding a hardware device component. It is noted that FIG. 11 illustrates a representative embodiment, and alternative embodiments are contemplated. Also, various elements may be combined, omitted, or performed in different orders.
In 321, a diagram of the measurement system may be displayed, similarly as described above with reference to 301 of FIG. 4. The diagram may include a plurality of icons representing components of the measurement system. The plurality of icons may include a first icon representing a first hardware device. As described above, in one embodiment the first icon may comprise an illustration of the physical appearance of the first hardware device. The first hardware device may comprise any type of hardware device, including devices or instruments such as described above and illustrated in FIGS. 2A and 2B. The first hardware device may be a standalone hardware device or a device included or installed in another hardware device, e.g., installed as a board or module.
In 323, user input requesting to display additional information regarding the first hardware device may be received. In one embodiment, this user input may comprise user input requesting to increase an expansion state of the first hardware device, as described above. In another embodiment, this user input may comprise user input requesting to display the additional information regarding the first hardware device independently of or without affecting the expansion state of the first hardware device.
In one embodiment receiving the user input requesting to display additional information regarding the first hardware device may comprise receiving user input to the diagram. For example, the user input may be received to the first icon, e.g., by clicking on the first icon, invoking a context menu associated with the first icon, etc. In one embodiment, the first icon may include a region for requesting to change the amount of information displayed regarding the first hardware device, and the user may click on this region.
In 325, a second icon may be displayed in response to the user input received in 323, where the second icon displays additional information regarding the first hardware device. In the preferred embodiment, the second icon is displayed on the diagram. For example, the second icon may be displayed near to or proximal to the first icon. In one embodiment, the second icon may be displayed below the first icon. A connection such as a line may also be displayed between the first icon and the second icon. This connection may indicate to the user that the information displayed by the second icon pertains to the first hardware device.
In various embodiments the additional information regarding the first hardware device may comprise any kind of information and may be displayed by the second icon in any of various ways. The type of information and the manner in which it is displayed may differ for different kinds of hardware devices. In one embodiment, the additional information regarding the first hardware device may include text information. The additional information regarding the first hardware device may also or may alternatively include graphical information.
In one embodiment, the second icon may display information indicating functionality of the first hardware device. The second icon may also display information indicating hardware resources of the first hardware device. The second icon may also display information indicating connectable resources, such as channels or other resources, of the first hardware device. For example, as described below, the user may utilize the display of the connectable resources to connect the first hardware device to one or more other components in the diagram.
As one example, where the first hardware device comprises a measurement device, the second icon may display information indicating or pertaining to measurement functionality of the measurement device. For example, displaying information indicating measurement functionality of the measurement device may include displaying information indicating analog input functionality of the measurement device, analog output functionality of the measurement device, digital input functionality of the measurement device, digital output functionality of the measurement device, control functionality of the measurement device, triggering, sampling rate, gain, etc.
In another embodiment, the first hardware device may include communication functionality for communicating with other devices, and the second icon may display information indicating or pertaining to communication functionality of the first hardware device. For example, displaying information indicating communication functionality of the first hardware device may include displaying information indicating network communication functionality of the first hardware device (e.g., ethernet communication functionality, TCP/IP communication functionality, etc.), serial communication functionality of the first hardware device, bus communication functionality of the first hardware device, etc.
As noted above, in various embodiments the additional information regarding the first hardware device may be displayed by the second icon in any of various ways. In one embodiment, the second icon may include a plurality of fields, and each field may display text and/or graphical information indicating functionality or characteristics of the first hardware device. For example, different fields may be used to display different types of functionality or characteristics of the first hardware device. In one embodiment, one or more of the fields may be expandable/collapsible. For example, when the second icon is first displayed, a first field may be displayed at a most collapsed level. The user may then expand the first field one or more times to display additional information in the first field. Each time a field is expanded, more information may be displayed in the field.
In one embodiment, when a field is expanded, one or more rows or columns may be displayed within the field. As one example, the first hardware device may include a plurality of channels. One of the fields in the second icon, referred to as a channel field, may be used to visually indicate the channels. For example, when the channel field is expanded, each channel may be displayed as a row within the channel field. In one embodiment, only a subset of the channels may initially be displayed as rows within the channel field when the channel field is initially expanded. The user may then expand the channel field again to view additional channels. For example, in one embodiment, when the channel field is initially displayed, only channels which are currently connected to other components in the measurement system may be displayed. The user may expand the channel field again to view unused channels. As another example, the first hardware device may include a plurality of physical connector pins, and each connector pin or a subset of the connector pins may be displayed within a field in the second icon.
In one embodiment, user input may be received to the second icon to configure the first hardware device. As one example, the second icon may be used to specify a connection from the first hardware device to another component of the measurement system. For example, a network connection, channel connection, or other type of connection may be specified using the second icon. For example, a connection may be specified by connecting a wire to the second icon in response to user input. The wire may also be connected to another component of the measurement system and may visually indicate a connection from the first hardware device to the other component. In an embodiment in which connectable resources are indicated as rows within the second icon as described above, wires may be connected to one or more of the rows to specify connections to or from the desired connectable resources.
In one embodiment, one or more software programs may be associated with the first hardware device. For example, the one or more software programs may be deployed on the first hardware device or may be marked for future deployment on the first hardware device. For example, the first hardware device may comprise a hardware device operable to execute software programs, e.g., a device which includes a processor or configurable logic such as an FPGA. In one embodiment the one or more software programs associated with the first hardware device may be visually indicated by the second icon. For example, where the second icon includes a plurality of fields, one of the fields may be a software field which can be expanded or collapsed as desired to view the software programs, e.g., to view names of the software programs. In one embodiment, the user may be able to launch the software programs in an editor simply by clicking on the names of the programs or otherwise interacting with the second icon, e.g., using a context menu. In one embodiment, one or more of the software programs associated with the first hardware device may be graphical programs.
In one embodiment, information displayed by the second icon regarding functionality or hardware resources of the first hardware device may be influenced by one or more software programs associated with the first hardware device. For example, the second icon may visually indicate particular hardware resources or a subset of hardware functionality which is used, required, or referenced by one or more of the software programs. The user may be able to configure the second icon to display only these particular hardware resources or to display all hardware resources or all hardware functionality of the first hardware device.
In one embodiment, hardware functionality of the first hardware device may change in response to deploying a software program on the first hardware device. For example, deploying a software program on a first hardware device which includes an FPGA or other reconfigurable hardware element may cause functionality or resources of the first hardware device to change. Thus, the changed functionality or hardware resources may be visually indicated by the second icon.
The user may also remove the second icon from view if desired. For example, the user ma