Patents Assigned to National Instruments Corporation
  • Patent number: 7024660
    Abstract: A system and method for debugging a program which is intended to execute on a reconfigurable device. A computer system stores a program that specifies a function, and which is convertible into a hardware configuration program (HCP) and deployable onto a programmable hardware element comprised on the device. The HCP is generated based on the program, specifies a configuration for the programmable hardware element that implements the function, and further specifies usage of one or more fixed hardware resources by the programmable hardware element in performing the function. A test configuration is deployable on the programmable hardware element by a deployment program, where, after deployment, the programmable hardware element provides for communication between the fixed hardware resources and the program. The program is executable by a processor in the computer system, where during execution the program communicates with the one or more fixed hardware resources through the programmable hardware element.
    Type: Grant
    Filed: October 29, 2001
    Date of Patent: April 4, 2006
    Assignee: National Instruments Corporation
    Inventors: Hugo A. Andrade, Brian Keith Odom, Cary Paul Butler, Joseph E. Peck, Newton G. Petersen
  • Patent number: 7024631
    Abstract: System and method for enabling graphical program polymorphism. A “polymorphic node” to be included in a graphical program may be created and configured. A parameter interface that defines allowable inputs and outputs for the polymorphic node may be specified, and a set of functions or subprograms may be associated with the polymorphic node. The functions may have parameter interfaces that specify particular data types for the inputs/outputs of the functions. Once a polymorphic node is included in a graphical program, the node may be configured with typed inputs and outputs. The graphical programming system may determine a particular function associated with the polymorphic node to match the polymorphic node to, based on the data types of the configured inputs and outputs. This determination may also be based on an ordering specified for the set of functions associated with the polymorphic node. A best-fit heuristic for automatically making this determination is described.
    Type: Grant
    Filed: May 12, 2000
    Date of Patent: April 4, 2006
    Assignee: National Instruments Corporation
    Inventors: Duncan Hudson, Erica Bono
  • Patent number: 7017123
    Abstract: A system and method for searching for items in a hierarchy of palette windows and for incorporating located items into programs. Palette windows may include one or more palette window selection items that, when selected, open child palette windows of the current palette window. Palette windows may include one or more items for navigating in the hierarchy. A search mechanism for locating palette windows and/or palette window content may be provided. From the search mechanism, the user may locate and open palette windows in one or more hierarchies. The user may also incorporate palette window content into something, for example, a program being edited in a graphical programming environment. In one embodiment, the user may drag-and-drop palette window content onto a window being edited.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: March 21, 2006
    Assignee: National Instruments Corporation
    Inventors: Justin Chickles, Raghavendra Gururaj
  • Patent number: 7016796
    Abstract: A small microcontroller or a DSP may be used to process digital signals representative of a measurement. Furthermore, special RMS AC measurement or DC noise rejection algorithms may have to be run on the microcontroller or the DSP. Other implementations may use custom digital logic, such as FPGAs, to process the digital signals. The DSP may not have enough capacity to store and process all data at the same time. Certain physical limitations are inherent to the DSP architectures, such as the trade-off of on-board memory size vs. speed, power consumption, and physical chip size. As a result, the RMS AC Measurement and the DC Noise rejection algorithms enable computational devices such as DSP's to perform sophisticated and accurate RMS measurements for waveforms ranging from DC to high frequency. The RMS AC Measurement and the DC Noise rejection algorithms uses on the on-the-fly computation of interpolated window values.
    Type: Grant
    Filed: June 2, 2003
    Date of Patent: March 21, 2006
    Assignee: National Instruments Corporation
    Inventors: Bakul Damle, Christopher G. Regier, Scott Borisch
  • Patent number: 7016811
    Abstract: A system and method for online configuration of a measurement system. The user may access a server over a network and specify a desired task, e.g., a measurement task, and receive programs and/or configuration information which are usable to configure the user's measurement system hardware (and/or software) to perform the desired task. Additionally, if the user does not have the hardware required to perform the task, the required hardware may be sent to the user, along with programs and/or configuration information. The hardware may be reconfigurable hardware, such as an FPGA or a processor/memory based device. In one embodiment, the required hardware may be pre-configured to perform the task before being sent to the user. In another embodiment, the system and method may provide a graphical program in response to receiving the user's task specification, where the graphical program may be usable by the measurement system to perform the task.
    Type: Grant
    Filed: March 19, 2002
    Date of Patent: March 21, 2006
    Assignee: National Instruments Corporation
    Inventors: Joseph E. Peck, Matthew Novacek, Hugo A. Andrade, Newton G. Petersen, Ganesh Ranganathan, Brian Sierer, John Pasquarette
  • Patent number: 7017138
    Abstract: A system and method for dynamically determining a route through one or more switch devices at program execution time. A program operable to perform a programmatic request to dynamically determine a route may be created. For example, the request may specify a first endpoint (e.g., channel) of a first switch device and a second endpoint (e.g., channel) of a second switch device. In response to the request, the system may dynamically determine a route from the first endpoint to the second endpoint during execution of the program. Information indicating the determined route may be returned to the program.
    Type: Grant
    Filed: March 29, 2002
    Date of Patent: March 21, 2006
    Assignee: National Instruments Corporation
    Inventors: Srdan Zirojevic, Jason White, Scott Rust, Jucao Liang
  • Patent number: 7013047
    Abstract: A system and method for performing a curve fit on a plurality of data points. In an initial phase, a subset Pmax of the plurality of points which represents an optimal curve is determined. This phase is based on a statistical model which dictates that after trying at most Nmin random curves, each connecting a randomly selected two or more points from the input set, one of the curves will pass within a specified radius of the subset Pmax of the input points. The subset Pmax may then be used in the second phase of the method, where a refined curve fit is made by iteratively culling outliers from the subset Pmax with respect to a succession of optimal curves fit to the modified subset Pmax at each iteration. The refined curve fit generates a refined curve, which may be output along with a final culled subset Kfinal of Pmax.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: March 14, 2006
    Assignee: National Instruments Corporation
    Inventors: Darren Schmidt, Ram Rajagopal, Lothar Wenzel, Dinesh Nair
  • Patent number: 7010470
    Abstract: A computer-implemented system and method for generating a hardware implementation of graphical code. The method comprises first creating a graphical program. A first portion of the graphical program may optionally be compiled into machine code for execution by a CPU. A second portion of the graphical program is converted into a hardware implementation according to the present invention. The operation of converting the graphical program into a hardware implementation comprises exporting the second portion of the graphical program into a hardware description, wherein the hardware description describes a hardware implementation of the second portion of the graphical program, and then configuring a programmable hardware element utilizing the hardware description to produce a configured hardware element. The configured hardware element thus implements a hardware implementation of the second portion of the graphical program.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: March 7, 2006
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Hugo Andrade, Brian K. Odom, Cary P. Butler
  • Patent number: 7000190
    Abstract: A system and method for programmatically generating and modifying graphical programs, in response to receiving program information. The program information may specify functionality of the graphical program or graphical program portion. During execution of a graphical program generation (GPG) program, the GPG program may be operable to receive the program information. In response to the program information, the GPG program may programmatically generate a graphical program (or graphical program portion) that implements the specified functionality. Thus, the GPG program may generate different graphical programs, depending on the program information received. The GPG program may have any of various purposes or applications. In some embodiments, the GPG program may be a program or application which a user utilizes to construct or characterize a computational process.
    Type: Grant
    Filed: December 20, 2000
    Date of Patent: February 14, 2006
    Assignee: National Instruments Corporation
    Inventors: Ram Kudukoli, Robert Dye, Paul F. Austin, Lothar Wenzel, Jeffrey L. Kodosky
  • Patent number: 6993466
    Abstract: A computer-implemented system and method for generating a hardware implementation of graphical code. The method comprises first creating a graphical program. A first portion of the graphical program may optionally be compiled into machine code for execution by a CPU. A second portion of the graphical program is converted into a hardware implementation according to the present invention. The operation of converting the graphical program into a hardware implementation comprises exporting the second portion of the graphical program into a hardware description, wherein the hardware description describes a hardware implementation of the second portion of the graphical program, and then configuring a programmable hardware element utilizing the hardware description to produce a configured hardware element. The configured hardware element thus implements a hardware implementation of the second portion of the graphical program.
    Type: Grant
    Filed: May 9, 2003
    Date of Patent: January 31, 2006
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Hugo Andrade, Brian K. Odom, Cary P. Butler
  • Patent number: 6989663
    Abstract: A calibration system for measurement device is operable to calibrate each channel response to compensate its own gain error for a desired frequency range. The channel modes may include voltage range and a coupling mode. Each channel of the plurality of channels may have a certain number of channel mode combinations, including different voltage ranges and coupling modes. Each channel also may have a different frequency response, and as a result each channel mode combination may require an individual digital filter. As a result, the frequency response of each channel may be characterized and the digital filter may be designed to flatten each channel mode combination. The designed filter coefficients for each of the one or more channels of the plurality of channels may be stored in the measurement device. The filter coefficients may be used by a digital filter in order to compensate each one of the one or more channels on the measurement device.
    Type: Grant
    Filed: May 7, 2003
    Date of Patent: January 24, 2006
    Assignee: National Instruments Corporation
    Inventor: James Nagle
  • Patent number: 6990652
    Abstract: A method for developing an automation client program in a graphical programming environment is disclosed. The graphical programming environment provides a set of automation nodes that may be wired together to create a graphical program, including nodes for referencing user-selected automation classes from automation type libraries exported by automation server applications; nodes for instantiating objects from the selected automation class; and nodes for invoking user-selected methods and/or properties of the automation class. A method for performing class and/or type propagation checking of automation objects in graphical programs is also disclosed. The automation class of a first automation node is propagated from the first node to a second automation node when the two nodes are wired together or when the automation class of the first node is changed to a second class.
    Type: Grant
    Filed: December 7, 1999
    Date of Patent: January 24, 2006
    Assignee: National Instruments Corporation
    Inventors: Murali Parthasarathy, Omid Sojoodi
  • Patent number: 6985876
    Abstract: A system and method that enables a user to configure a customizable product for purchase in an E-Commerce system. A user may launch a web browser on a client computer system to access a vendor's web site to purchase a customizable product. The user may customize the product for purchase by selecting one or more customizable components of the product. A user may select one or more customizable components of the product by using a forms/menu interface or a visual graphical user interface. The vendor's web site may receive the one or more user selections for the customized product and may, in response, send data and information to client computer system to visually depict the ‘as purchased’ customized product for user verification and product checkout.
    Type: Grant
    Filed: February 7, 2000
    Date of Patent: January 10, 2006
    Assignee: National Instruments Corporation
    Inventor: Reid Lee
  • Patent number: 6985977
    Abstract: System and method for transferring data to a device using double buffered data transfers. A host computer system couples to a data acquisition device. The device includes a first read buffer and a second read buffer for storing output data received from the host computer. The device reads first data from the computer and stores it in the first read buffer. The first data is transferred out from the first read buffer while the device reads second data from the computer and stores it in the second read buffer. The second data is transferred out from the second read buffer (after the transfer of the first data) while the device reads third data from the host computer and stores the third data in the first read buffer. Thus, the data acquisition device successively reads data into one read buffer concurrently with transferring data out from the other buffer, respectively.
    Type: Grant
    Filed: August 30, 2002
    Date of Patent: January 10, 2006
    Assignee: National Instruments Corporation
    Inventor: Aljosa Vrancic
  • Patent number: 6983228
    Abstract: A computer-implemented system and method for generating a hardware implementation of graphical code. The method comprises first creating a graphical program. A first portion of the graphical program may optionally be compiled into machine code for execution by a CPU. A second portion of the graphical program is converted into a hardware implementation according to the present invention. The operation of converting the graphical program into a hardware implementation comprises exporting the second portion of the graphical program into a hardware description, wherein the hardware description describes a hardware implementation of the second portion of the graphical program, and then configuring a programmable hardware element utilizing the hardware description to produce a configured hardware element. The configured hardware element thus implements a hardware implementation of the second portion of the graphical program.
    Type: Grant
    Filed: May 9, 2003
    Date of Patent: January 3, 2006
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Hugo Andrade, Brian K. Odom, Cary P. Butler
  • Patent number: 6983393
    Abstract: A method for operating a system that includes several subsystems may involve establishing one or more synchronized timelines for the system; allocating timeslots within each of the timelines for operation of one or more devices in the system; detecting an input event asynchronously to the timeline; generating a timestamp indicative of the time at which the input event is detected relative to the timeline; performing a processing task in response to the input event during a time slot allocated to the processing task; and inhibiting generation of an output event until a second time relative to the timelines. Performing the processing task may generate data representative of the output event as well as data representative of the second time. The second time may be a pre-determined time interval after the input event detection time.
    Type: Grant
    Filed: December 11, 2002
    Date of Patent: January 3, 2006
    Assignee: National Instruments Corporation
    Inventors: James J. Truchard, Brian Keith Odom
  • Patent number: 6980869
    Abstract: A system and method for user configuration of an autotuning algorithm for a PID controller. User input is received via a Graphical User Interface (GUI) indicating a desired characteristic of a PID controller, such as stiffness or response time. The system is excited via a proportional controller to characterize the intrinsic behavior of the system, i.e., to calculate a system transfer function. An autotuning algorithm is configured in accordance with the user input. The configured autotuning algorithm is applied to the transfer function to generate gain values for the PID controller resulting in the PID controller characteristic specified by the user. The PID controller gains are loaded into the PID controller hardware or software, thereby configuring the PID controller to operate according to the desired characteristic specified by the user. The user may trigger and view a step response of the system to review the results of the tuning process.
    Type: Grant
    Filed: November 20, 2000
    Date of Patent: December 27, 2005
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 6981086
    Abstract: An instrumentation system which extends channel-based switched fabric architectures to provide instrumentation signaling functions. The system comprises a chassis including slots for receiving inserted modules. The chassis includes a backplane which provides for inter-module communication, including a channel-based switched fabric bus, such as the InfiniBand bus, and instrumentation signaling lines for instrumentation signaling functions.
    Type: Grant
    Filed: October 26, 2001
    Date of Patent: December 27, 2005
    Assignee: National Instruments Corporation
    Inventors: Mark Wetzel, Michel Haddad, Joseph E. Peck, Christopher A. Clark
  • Patent number: 6976222
    Abstract: A system and method for creating a graphical program, wherein the graphical program is operable to access capabilities of an object. During creation of the graphical program, the user operates to place an object node in the graphical program, wherein the object node is operable to access capabilities of the object. This preferably includes the user arranging on the screen the graphical program, including the object node and various other nodes, and connecting the various nodes to create the graphical program. The user then configures the object node to receive information on the object, preferably by the user configuring the object node with a reference to the object, e.g., a pointer, address, or other information which specifies the identity and/or location of the object. The user also selects one or more methods to be invoked on the object and/or one or more properties to get/set on the object.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: December 13, 2005
    Assignee: National Instruments Corporation
    Inventors: Omid Sojoodi, Robert Dye, Murali Parthasarathy, Ram Kudukoli
  • Patent number: 6970182
    Abstract: A system and method for acquiring images of variably sized objects. An object detector provides an indication of the presence or absence of objects as they pass by. An image sensing device acquires image data for the objects. An image acquisition device starts an activity counter, and initiates storage of image data for an object in response to detecting presence of the object. The image data is stored into an on-board memory. The activity counter counts a number of acquired scan lines for the object. In response to detecting absence of the object, the image acquisition device terminates the activity counter, and discontinues storage of the image data for the object. The final activity counter value, which reflects the number of scan lines acquired for the object, is recorded in an on-board FIFO. The image data is transferred to a system memory image buffer in a system memory. Host software routines may read the on-board FIFO.
    Type: Grant
    Filed: October 20, 1999
    Date of Patent: November 29, 2005
    Assignee: National Instruments Corporation
    Inventors: Kevin L. Schultz, B. Keith Odom, Charles Schroeder, Mike Hall