Patents Assigned to National Instruments
  • Patent number: 6148438
    Abstract: A system and method for creating composite classes for objects having virtual functions, wherein the composite classes enable avoidance of user mode/kernel mode transitions in the operating system. The method first comprises defining the class A, an empty class, and a composite class of the class A and the empty class. These classes are defined in the software program at compile time. The composite class inherits from the composite class and the empty class. The composite class comprises a first mode interface and a second mode interface, wherein the first mode interface and the second mode interface have an opposite ordering of base classes. During execution, the software program instantiates a composite object from the composite class. The method then modifies the composite object to enable the composite object to be shared directly between the first and second modes with reduced mode transitions.
    Type: Grant
    Filed: January 6, 1998
    Date of Patent: November 14, 2000
    Assignee: National Instruments Corporation
    Inventor: Geoffrey Schmit
  • Patent number: 6141596
    Abstract: A system and method for creating a fieldbus configuration on a computer system. The user assembles a graphical program or wiring diagram on the screen which comprises a selected plurality of function block icons which are linked with one or more wires connecting the function block icons. As the user assembles the fieldbus configuration wiring diagram, the system automatically creates and displays a schedule which visually presents the schedule being created. The schedule comprises one or more schedule bars for graphically or visually indicating the order of execution of the function blocks. The user can change the order of execution indicated by the schedule by graphically manipulating the schedule bars in the schedule. The user can also place one or more loop structures in the editor window which encapsulate a group of function block icons. The loop structure is used to specify a rate for the function block icons comprised within the loop structure.
    Type: Grant
    Filed: July 8, 1999
    Date of Patent: October 31, 2000
    Assignee: National Instruments Corporation
    Inventors: Robert Gretta, Ram Ramachandran
  • Patent number: 6140859
    Abstract: An analog switch is constructed using two bipolar junction transistors. The emitter of the first transistor is coupled to the emitter of the second transistor, and preferably the base of the first transistor is coupled to the base of the second transistor. The collectors of the transistors form the terminals of the analog switch. A current source is coupled to the bases of both transistors. The current source produces a drive current sufficient to forward bias the base-emitter junctions of both transistors. In this forward biased state, the collector of the first transistor and the collector of the second transistor are electrically coupled. A bias voltage source is coupled via a switch to the bases of both transistors. The bias voltage source produces a voltage sufficient to reverse bias the base-collector junctions of both transistors. In this reverse biased state, the electrical connection between the collector of the first transistor and the collector of the second transistor is broken.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: October 31, 2000
    Assignee: National Instruments Corporation
    Inventor: Christopher G. Regier
  • Patent number: 6138270
    Abstract: A method for detecting differences between two graphical programs. The graphical programs comprise graphical code. The graphical programs may include objects, preferably arranged as a user interface panel, including controls and indicators, and a block diagram, including graphical code function blocks connected together as a data flow program. Directed graph data structures are created to represent the graphical programs, wherein the vertices of the graphs are the objects of the graphical programs and the edges of the graphs are data flow signals of the block diagram and/or hierarchical relationships of the user interface panel objects. The objects of the two graphical programs are heuristically matched together using a scoring approach. The scores are stored in a match matrix and indicate a degree of similarity between an object in the first graphical program and an object in the second graphical program according to one or more criteria.
    Type: Grant
    Filed: June 23, 1999
    Date of Patent: October 24, 2000
    Assignee: National Instruments Corporation
    Inventor: Ray Hsu
  • Patent number: 6122713
    Abstract: A system and method for controlling access to a dual port shared memory in a system comprising a host computer system and a communication device comprised in or coupled to the host computer system. The communication device includes the shared memory and also includes a local processor which executes a communication application. The shared memory is accessible by both the host computer and the local processor on the communication device. The board or local processor has deterministic and/or real time requirements and is thus the high priority requester, while the host CPU or host computer is the low priority requester. If the high priority side (board) gains the semaphore first, then accesses by the low priority side (host computer) are blocked until the write is finished. In the case of a host read/board write, if the low priority side gains the semaphore first, then the high priority side write can pre-empt the low priority side read.
    Type: Grant
    Filed: June 1, 1998
    Date of Patent: September 19, 2000
    Assignee: National Instruments Corporation
    Inventors: Xiaoce Huang, Rodney Cummings, Yan Wu
  • Patent number: 6108609
    Abstract: An improved system and method for designing a mother wavelet. The system and method first displays on the screen a filter P(z), wherein a mother wavelet is associated with the filter P(z). The filter P(z) is a product of two low pass filters G.sub.0 (z) and H.sub.0 (z), which collectively comprise a perfect reconstruction filter bank which models the wavelet. The method then displays on the screen a plot which illustrates a zeros distribution of P(z), as well as other information, such as the mother wavelet function, correlations, frequency responses, etc. The user can then graphically adjust the zeros distribution of P(z) on the plot in order to obtain the desired mother wavelet. This involves factorizing P(z) into G.sub.0 (z) and H.sub.0 (z), wherein the factorizing includes assigning one or more of the zeros illustrated in the plot to the functions G.sub.0 (z) and H.sub.0 (z) in response to user input.
    Type: Grant
    Filed: July 30, 1997
    Date of Patent: August 22, 2000
    Assignee: National Instruments Corporation
    Inventors: Shie Qian, Qiuhong Yang
  • Patent number: 6102965
    Abstract: A graphical programming development system for creating a graphical program client, wherein the graphical program client is operable to programmatically access or invoke functionality of graphical programming applications or graphical programs. In one embodiment, the method provides a set of VI Server function nodes and controls which a user employs to create a client graphical program. The client executes in a computer which includes a display screen and a user input device. In one embodiment, the client performs instrumentation control functions. The user can thus create diagrams in a graphical programming system, e.g. LabVIEW, that get/set properties and invoke operations on both graphical programming applications and graphical programs (VIs) within the respective user's local version of LabVIEW as well as on other copies of LabVIEW or graphical programs on a network, such as a TCP/IP network.
    Type: Grant
    Filed: August 21, 1997
    Date of Patent: August 15, 2000
    Assignee: National Instruments Corporation
    Inventors: Robert E. Dye, Omid Sojoodi
  • Patent number: 6096094
    Abstract: A data acquisition system comprising a Configuration Manager for intelligently managing access to DAQ configuration information. The data acquisition system comprises a computer system coupled to a data acquisition device, a data acquisition application (user application) executing on the computer system, and DAQ driver level software executing on the computer system. The memory of the computer system stores a hardware database which includes information on DAQ objects in the DAQ system, and the memory stores configuration files which comprise desired configurations of the DAQ system. The Configuration Manager of the present invention executes in the computer system to control access to the hardware database and configuration files stored in the computer system. The present invention also includes a method for providing access to information on data acquisition (DAQ) objects in the DAQ system.
    Type: Grant
    Filed: October 3, 1997
    Date of Patent: August 1, 2000
    Assignee: National Instruments Corporation
    Inventors: Meg F. Kay, Jonathan Brumley, Howard Tsoi, Kurt Carlson
  • Patent number: 6098124
    Abstract: An improved system and method for transferring data over a serial bus. Incoming data is stored into data buffers with a dynamically variable size. The size of each data buffer may be adjusted as new data come in. Data with the same originating address are stored in the same data buffer. An arbiter, coupled to the data buffers and to the serial bus, monitors each of the data buffers and the availability of the serial bus. When the serial is available, the arbiter transfers data from one of the data buffers according to some predetermined priority. For example, the largest buffer may have the highest priority. Such an assignment of priority makes very efficient use of the serial bus since larger amounts of data have less overhead and are thus more efficient to transfer. In addition, while data is transferring out of one of the data buffers, data is accumulating in all the other buffers. This makes the other buffers larger and more efficient to transfer upon later availability of the serial bus.
    Type: Grant
    Filed: April 9, 1998
    Date of Patent: August 1, 2000
    Assignee: National Instruments Corporation
    Inventor: B. Keith Odom
  • Patent number: 6098117
    Abstract: A modular distributed I/O system includes a computer coupled to module banks through a network bus. A module bank includes a communication module, terminal bases, and I/O modules. The adjoined terminal bases form a local bus mastered by the communication module. The I/O modules connect to the local bus through terminal bases. I/O modules are pluriform and programmable. The communication module maintains a memory image of the configuration state of each I/O module resident in the module bank. A memory image persists when an I/O module is removed from its terminal base. The memory image is used to configure a new I/O module which is inserted into the same terminal base. The communication module monitors for communication failure on the network bus, and is configured to capture the state of the module bank and automatically restore this captured state after a power-loss event. The terminal bases realize a local bus which includes a parallel bus, a serial bus, and an address assignment bus.
    Type: Grant
    Filed: April 20, 1998
    Date of Patent: August 1, 2000
    Assignee: National Instruments Corporation
    Inventors: Garritt W. Foote, Pratik M. Mehta
  • Patent number: 6085156
    Abstract: A system and method for controlling an instrumentation system, wherein the present invention includes an improved instrument driver software architecture. The instrument driver software architecture of the present invention provides a number of features, including instrument interchangeability, i.e., the use of interchangeable virtual instruments or interchangeable instrument drivers, improved performance, an improved attribute model, improved range checking, and improved simulation features, among others.
    Type: Grant
    Filed: August 21, 1998
    Date of Patent: July 4, 2000
    Assignee: National Instruments Corporation
    Inventors: Scott Rust, Jon Bellin, James Grey
  • Patent number: 6081751
    Abstract: A system and method for automatically tuning a PID controller resident within a PID control loop. The PID control loop includes a PID controller and a process. The process supplies a process variable which is compared to the loop input. The result of the comparison is supplied to the PID controller, and the PID controller drives the process. A relay is applied to the loop input. The relay compares a set point value to the process variable. If the set point value is greater than the process variable, the relay drives the loop input with a first amplitude value. If the set point value is less than the process variable, the relay drives the loop input with a second amplitude value. In response to the set point relay, the process variable develops a sustained oscillation. The period and amplitude of the sustained oscillation are measured. A new set of PID controller parameters are calculated from the period and amplitude of sustained oscillation.
    Type: Grant
    Filed: April 3, 1998
    Date of Patent: June 27, 2000
    Assignee: National Instruments Corporation
    Inventors: Rongfu Luo, S. Joe Qin, Dapang Chen
  • Patent number: 6076952
    Abstract: A system and method for displaying and configuring parameters in a fieldbus configuration system. The fieldbus configuration utility first determines the devices and blocks present in the system, and then determines the parameters of each block. When the parameters are displayed, an object is displayed proximate to certain of the parameters. The object includes a color and/or shape which indicates the type or class of parameter. The user can also configure alarms and trends using the improved graphical interface of the present invention. The user configures alarms and trends by assembling a graphical program or wiring diagram on the screen which comprises a selected one or more block icons and an icon representing the device receiving the trend or alarm. The system also includes a periodic update window which is used to obtain periodically updated values of selected parameters.
    Type: Grant
    Filed: September 17, 1997
    Date of Patent: June 20, 2000
    Assignee: National Instruments, Corp.
    Inventors: Robert Gretta, Ram Ramachandran
  • Patent number: 6075690
    Abstract: A system and method for controlling relays. The method may comprise receiving one or more input commands for a plurality of relays, with the plurality of relays including a first relay, and a last relay, initiating actuation of the first relay after receiving the input relay commands, and initiating actuation of the last relay after initiating actuation of the first relay. Initiating actuation of the last relay does not wait for a debounce of the first relay. The method waits a debounce period after initiating actuation of the last relay. The debounce period operates to debounce the last relay and the first relay. One or more second relays may also be included in the debounce sequence. The relays may be latching or non-latching relays. The method may determine if another relay is required to be actuated after initiating actuation of each relay. One of the input commands may include a debounce mode input. A delayed debounce mode debounces the plurality of relays only after the last relay has been actuated.
    Type: Grant
    Filed: February 11, 1999
    Date of Patent: June 13, 2000
    Assignee: National Instruments Corporation
    Inventors: Robert W. Hormuth, Cory A. Runyan, Brian M. Tyler, Scott B. Kovner
  • Patent number: 6073205
    Abstract: An apparatus and method for write posting in a universal serial bus (USB) system includes a host computer connected to USB devices via a USB. The host computer generates requests to write data to memory within the USB device. The host computer includes a queue for posting the write requests on generation thereof. The write requests are posted in the queue until the host computer transmits a single data packet generated from the posted write requests. The Data packet is generated in response to the host computer generating a request to read data from the USB device, the host computer determining that the most recently posted write request is directed to a memory location within the USB device which is nonpostable, or an indication that the queue lacks storage space for subsequent write requests. The USB device receives the transmitted Data packet from the host computer and writes data to internal memory locations in accordance with the received Data packet.
    Type: Grant
    Filed: July 10, 1997
    Date of Patent: June 6, 2000
    Assignee: National Instruments Corporation
    Inventor: Andrew Thomson
  • Patent number: 6067584
    Abstract: A data acquisition system comprising a computer system, coupled to a data acquisition device, a data acquisition application executing on the computer system, and device interface software with an attribute-based API executing on the computer system. The attribute-based API enables the data acquisition application to perform steps to control the data acquisition device. The steps comprise creating a task for controlling the data acquisition device, setting values of the attributes of the task and device, starting the task acquiring data, and destroying said task. Creating the task comprises allocating an attribute database comprising a plurality of attribute objects corresponding to the attributes of the data acquisition device and an attribute table referencing the plurality of attribute objects. The attribute objects comprise environment data containing values of the attributes and a function for setting the values of the attributes. The attribute table comprises attribute table entries.
    Type: Grant
    Filed: September 9, 1996
    Date of Patent: May 23, 2000
    Assignee: National Instruments Corporation
    Inventors: Tim Hayles, James A. Bednar
  • Patent number: 6064816
    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 and controls which may be dropped and wired together to create a graphical program. The nodes include an automation refnum which references a user-selected automation class from an automation type library exported by an automation server application, such as Microsoft Excel; an automation open node which instantiates an object from the selected automation class; an automation invoke node which invokes a user-selected method of the automation class; and an automation property node which invokes, i.e., reads or writes, user-selected properties of the automation class. The nodes enable the displaying, manipulating, cataloging, editing or performance other operations, such as may be performed by an automation server, on data acquired or generated by a virtual instrument.
    Type: Grant
    Filed: March 4, 1997
    Date of Patent: May 16, 2000
    Assignee: National Instruments Corporation
    Inventors: Murali Parthasarathy, Omid Sojoodi
  • Patent number: 6064409
    Abstract: An audio probe feature which enables a user to select a wire or connector connected to a graphical object and "hear" the signals propagating on the wire or input to/output from the object. This provides a more complete and more informative debugging environment for certain classes of signals. The present invention also provides various features for obtaining audial information regarding signals in the graphical program. A cursor driver icon is also disclosed which can be used in conjunction with the audio probe icon and which provides a motor driven audible cursor capability.
    Type: Grant
    Filed: February 14, 1997
    Date of Patent: May 16, 2000
    Assignee: National Instruments Corporation
    Inventors: Carsten Thomsen, Jeffrey L. Kodosky
  • Patent number: 6064812
    Abstract: A method for developing an automation client program in a graphical programming environment. The graphical programming environment provides a set of automation nodes and controls which may be dropped and connected together to create a graphical program. The nodes include an automation refnum which references a user-selected automation class from an automation type library exported by an automation server application; an automation open node which instantiates an object from the selected automation class; an automation invoke node which invokes a user-selected method of the automation class; and an automation property node which reads or writes user-selected properties of the automation class. The nodes enable the displaying, manipulating, cataloging, editing or performance other operations, such as may be performed by an automation server, on data acquired or generated by a virtual instrument.
    Type: Grant
    Filed: March 4, 1997
    Date of Patent: May 16, 2000
    Assignee: National Instruments Corporation
    Inventors: Murali Parthasarathy, Omid Sojoodi
  • Patent number: 6065068
    Abstract: A modular distributed I/O system includes a computer coupled to module banks through a network bus. A module bank includes a communication module, terminal bases, and I/O modules. The adjoined terminal bases form a local bus mastered by the communication module. The I/O modules connect to the local bus through terminal bases. I/O modules are pluriform and programmable. The communication module maintains a memory image of the configuration state of each I/O module resident in the module bank. A memory image persists when an I/O module is removed from its terminal base. The memory image is used to configure a new I/O module which is inserted into the same terminal base. The communication module monitors for communication failure on the network bus, and is configured to capture the state of the module bank and automatically restore this captured state after a power-loss event. The terminal bases realize a local bus which includes a parallel bus, a serial bus, and an address assignment bus.
    Type: Grant
    Filed: April 20, 1998
    Date of Patent: May 16, 2000
    Assignee: National Instruments Corporation
    Inventor: Garritt W. Foote