Patents Assigned to National Instruments
-
Patent number: 6148438Abstract: 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: GrantFiled: January 6, 1998Date of Patent: November 14, 2000Assignee: National Instruments CorporationInventor: Geoffrey Schmit
-
Patent number: 6141596Abstract: 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: GrantFiled: July 8, 1999Date of Patent: October 31, 2000Assignee: National Instruments CorporationInventors: Robert Gretta, Ram Ramachandran
-
Patent number: 6140859Abstract: 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: GrantFiled: September 4, 1998Date of Patent: October 31, 2000Assignee: National Instruments CorporationInventor: Christopher G. Regier
-
Patent number: 6138270Abstract: 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: GrantFiled: June 23, 1999Date of Patent: October 24, 2000Assignee: National Instruments CorporationInventor: Ray Hsu
-
Patent number: 6122713Abstract: 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: GrantFiled: June 1, 1998Date of Patent: September 19, 2000Assignee: National Instruments CorporationInventors: Xiaoce Huang, Rodney Cummings, Yan Wu
-
Patent number: 6108609Abstract: 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: GrantFiled: July 30, 1997Date of Patent: August 22, 2000Assignee: National Instruments CorporationInventors: Shie Qian, Qiuhong Yang
-
Patent number: 6102965Abstract: 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: GrantFiled: August 21, 1997Date of Patent: August 15, 2000Assignee: National Instruments CorporationInventors: Robert E. Dye, Omid Sojoodi
-
Patent number: 6096094Abstract: 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: GrantFiled: October 3, 1997Date of Patent: August 1, 2000Assignee: National Instruments CorporationInventors: Meg F. Kay, Jonathan Brumley, Howard Tsoi, Kurt Carlson
-
Patent number: 6098124Abstract: 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: GrantFiled: April 9, 1998Date of Patent: August 1, 2000Assignee: National Instruments CorporationInventor: B. Keith Odom
-
Patent number: 6098117Abstract: 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: GrantFiled: April 20, 1998Date of Patent: August 1, 2000Assignee: National Instruments CorporationInventors: Garritt W. Foote, Pratik M. Mehta
-
Patent number: 6085156Abstract: 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: GrantFiled: August 21, 1998Date of Patent: July 4, 2000Assignee: National Instruments CorporationInventors: Scott Rust, Jon Bellin, James Grey
-
Patent number: 6081751Abstract: 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: GrantFiled: April 3, 1998Date of Patent: June 27, 2000Assignee: National Instruments CorporationInventors: Rongfu Luo, S. Joe Qin, Dapang Chen
-
Patent number: 6076952Abstract: 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: GrantFiled: September 17, 1997Date of Patent: June 20, 2000Assignee: National Instruments, Corp.Inventors: Robert Gretta, Ram Ramachandran
-
Patent number: 6075690Abstract: 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: GrantFiled: February 11, 1999Date of Patent: June 13, 2000Assignee: National Instruments CorporationInventors: Robert W. Hormuth, Cory A. Runyan, Brian M. Tyler, Scott B. Kovner
-
Patent number: 6073205Abstract: 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: GrantFiled: July 10, 1997Date of Patent: June 6, 2000Assignee: National Instruments CorporationInventor: Andrew Thomson
-
Patent number: 6067584Abstract: 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: GrantFiled: September 9, 1996Date of Patent: May 23, 2000Assignee: National Instruments CorporationInventors: Tim Hayles, James A. Bednar
-
Patent number: 6064816Abstract: 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: GrantFiled: March 4, 1997Date of Patent: May 16, 2000Assignee: National Instruments CorporationInventors: Murali Parthasarathy, Omid Sojoodi
-
Patent number: 6064409Abstract: 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: GrantFiled: February 14, 1997Date of Patent: May 16, 2000Assignee: National Instruments CorporationInventors: Carsten Thomsen, Jeffrey L. Kodosky
-
Patent number: 6064812Abstract: 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: GrantFiled: March 4, 1997Date of Patent: May 16, 2000Assignee: National Instruments CorporationInventors: Murali Parthasarathy, Omid Sojoodi
-
Patent number: 6065068Abstract: 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: GrantFiled: April 20, 1998Date of Patent: May 16, 2000Assignee: National Instruments CorporationInventor: Garritt W. Foote