Patents Assigned to National Instruments
  • Patent number: 7864178
    Abstract: A machine vision development environment that may utilize a control flow representation (preferably a state diagram representation) to specify and execute machine vision routines (e.g., sometimes referred to as inspection routines). A user may first create one or more machine vision routines using any of various methods. The user may then graphically specify a sequence of machine vision steps or operations, e.g., a machine vision inspection, using a state diagram representation. The state diagram representation may comprise a plurality of icons which represent states with corresponding operations or functions, such as, for example, Load Inspection, Part Ready, Run Inspection, Read Digital Input, etc. The various icons may be connected by wires that indicate control flow transitions, e.g., state transitions, among the states. The state diagram may then be executed to control the machine vision routines.
    Type: Grant
    Filed: October 18, 2006
    Date of Patent: January 4, 2011
    Assignee: National Instruments Corporation
    Inventors: Marc Marini, Nicolas Vazquez
  • Patent number: 7865326
    Abstract: In some embodiments, an input measurement module may be configured to insert into a slot of a carrier using alignment guide slots and corresponding guide projections. Clips on the input measurement module or the carrier may engage corresponding depressions to secure the input measurement module to the carrier. The clips may be spring-loaded. The input measurement module may include a first outer casing and a second outer casing coupled together around a circuit board that interfaces with a backplane of the carrier through a backplane connector.
    Type: Grant
    Filed: August 27, 2004
    Date of Patent: January 4, 2011
    Assignee: National Instruments Corporation
    Inventors: Chris S. Johnson, Christopher D. White, Glen E. Clifton, James J. Truchard, Garritt W. Foote
  • Patent number: 7865349
    Abstract: A system and method for coordinating timing between simulation of a system and measurement and/or control of the system. A measurement/control loop comprising a measurement/control program, a simulation program, and an execution coordination kernel is described. The simulation program may be operable to simulate any of various types of systems. The measurement/control program may provide measurement/control logic for measuring various variables associated with the simulated system. The execution coordination kernel is responsible for coordinating the execution and time advancement of the measurement/control and simulation programs. The execution coordination kernel may be operable to intercept I/O calls produced by the measurement/control program and the simulation program. If the execution coordination kernel determines that the system is in simulation mode, the calls may be routed to software routines instead of to the I/O hardware.
    Type: Grant
    Filed: January 18, 2002
    Date of Patent: January 4, 2011
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Jack E. MacCrisken
  • Patent number: 7863851
    Abstract: System and method for controlling a stepper motor. A current position of the stepper motor may be received. A position error of the stepper motor may be determined using the current position of the stepper motor. A velocity profile may be maintained based on the position error, such that it tracks the position error. A position correction value may be determined based on the velocity profile, e.g., by integrating a portion of the velocity profile. A new position value may be generated to drive the stepper motor. An output position value to the stepper motor may be provided to drive the stepper motor. The output position value may incorporate the new position value and the position correction value and may be operable to reduce position error of the stepper motor.
    Type: Grant
    Filed: August 22, 2007
    Date of Patent: January 4, 2011
    Assignee: National Instruments Corporation
    Inventor: Sundeep Chandhoke
  • Patent number: 7860582
    Abstract: A compact modular embedded device. A base module includes a processor, a memory medium operable to store a bootloader for executing graphical programs, a bus, and a power input coupled to the processor, memory medium, and bus, for receiving power from a power source and providing the received power to the processor, memory medium, and bus. The base module can couple to a host computer via a transmission medium, receive a program from the host computer, and store the program in the memory medium. The base module may couple to extension modules via the bus in a stacked fashion, where the base module and the extension modules each include a respective substantially planar circuit board that when stacked are substantially parallel. Each extension module provides respective functionality for the device. The base module can execute the program to perform a function in conjunction with the extension modules.
    Type: Grant
    Filed: June 23, 2004
    Date of Patent: December 28, 2010
    Assignee: National Instruments Corporation
    Inventors: Marius Ghercioiu, Horea Hedesiu, Silviu Folea, Gratian I. Crisan, Ciprian Ceteras, Ioan Monoses
  • Patent number: 7849449
    Abstract: System and method for implementing a design flow for a programmable hardware element (PHE) that includes a processor. A graphical program (GP) is received, where the GP specifies performance criteria. The GP is mapped for deployment, with a first portion targeted for execution by the processor, and a second portion targeted for implementation in the PHE. A determination is made as to whether the graphical program meets the performance criteria. If not, the GP is remapped for deployment, including identifying and specifying the sub-portion for implementation in the PHE, thereby moving the sub-portion from the first portion to the second portion, and/or identifying and specifying the sub-portion for execution on the processor, thereby moving the sub-portion from the second portion to the first portion. The determining and remapping is repeated one or more times until the performance criteria are met. The first and second portions are deployed to the PHE.
    Type: Grant
    Filed: December 5, 2006
    Date of Patent: December 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Hugo A. Andrade, Joseph E. Peck
  • Patent number: 7849444
    Abstract: A test executive sequence may be created by including a plurality of test executive steps in the test executive sequence and configuring at least a subset of the steps to call user-supplied code modules. One or more of the user-supplied code modules may take buffer parameters. The test executive sequence may be executed on a host computer under control of a test executive engine. When executing each step in the test executive sequence that calls a user-supplied code module that takes a buffer parameter, the test executive engine may be operable to perform several operations related to detecting a situation where the user-supplied code module writes outside the bounds of the buffer parameter and/or preventing the user-supplied code module from corrupting heap data if the user-supplied code module writes outside the bounds of the buffer parameter.
    Type: Grant
    Filed: March 16, 2005
    Date of Patent: December 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Douglas Melamed, Scott Richardson
  • Patent number: 7849210
    Abstract: A mechanism for managing packetized data transfers in a system including a transmitting and a receiving device. The transmitting device may transmit data to the receiving device in a plurality of packets, each packet a predetermined number of data bytes wide. The transmitting device may include a transfer count unit to maintain a data transfer count based on a number of transmitted data bytes. The receiving device may program the transmitting device with a transfer count mark, which may be a number that corresponds to a specific count of the data transfer count. The transmitting device may calculate a difference between the data transfer count and the transfer count mark. If the difference between the transfer count and the transfer count mark is less than the predetermined number, the transmitting device may transmit a short data packet having less than the predetermined number of data bytes to the receiving device.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: December 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Andrew B. Moch, Aaron T. Rossetto, Brent C. Schwan, Glen O. Sescila, III
  • Patent number: 7849416
    Abstract: A system and method for developing a prototype that comprises a sequence of motion control, machine vision, and/or data acquisition (DAQ) “MC/MV/DAQ” operations. A MC/MV/DAQ prototyping environment may be designed to enable a user to easily and efficiently develop/prototype a MC/MV/DAQ sequence (i.e., a sequence of operations which includes one or more motion control, machine vision, and/or DAQ operations) without requiring the user to perform programming, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the MC/MV/DAQ sequence at a high level, by selecting from and configuring a sequence of MC/MV/DAQ operations using the GUI.
    Type: Grant
    Filed: January 18, 2002
    Date of Patent: December 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Sundeep Chandhoke, Nicolas Vazquez, David W Fuller, Christopher Cifra
  • Patent number: 7844911
    Abstract: A system and method for configuring a graphical user interface (GUI) element to publish data to a data target and/or subscribe to data from a data source. The developer specifies a data source or target The program is executed. If the GUI element is configured to subscribe to data from a data source, then the program receives data from the data source. This data is then be provided to the GUI element, which displays the data to the user. If the GUI element is configured to publish data to a data target, then the program sends or writes data associated with the GUI element to the data target.
    Type: Grant
    Filed: November 1, 2004
    Date of Patent: November 30, 2010
    Assignee: National Instruments Corporation
    Inventors: Paul F. Austin, Robert Dye
  • Patent number: 7844908
    Abstract: System and method for distributed execution of a graphical program. First and second icons associated with respective execution targets are displayed on a display. Each icon has an interior and specifies execution of a respective graphical program portion positioned in the interior of the icon on the respective execution target. First and second graphical program portions are respectively displayed in the interiors of the first and second icons, where each graphical program portion comprises a respective one or more interconnected nodes that visually indicate functionality of the graphical program portion. One or more wires connecting the first graphical program portion and the second graphical program portion are display. During execution of the graphical program, the first and second graphical program portions execute respectively on the first and second execution targets, and the first graphical program portion and the second graphical program portion communicate as specified by the one or more wires.
    Type: Grant
    Filed: July 11, 2007
    Date of Patent: November 30, 2010
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, David W Fuller, III, Timothy J. Hayles, Jeffrey N. Correll, John R. Breyer, Jacob Kornerup, Darshan K. Shah, Aljosa Vrancic
  • Patent number: 7840904
    Abstract: System and method for creating a graphical program (GP) having portions that execute on different targets. A GP including a plurality of interconnected nodes visually indicating functionality of the program is created in response to user input, including a first graphical code portion with a first execution context specifying execution of the first graphical code portion on a first target. A second execution context indicating a second target for execution of a second graphical code portion of the GP is established in response to user input, e.g., by displaying a context structure indicating the second execution context and associating the second graphical code portion with the context structure in response to user input. During execution of the GP, the first graphical code portion executes on the first target using the first execution context, and the second graphical code portion executes on the second target using the second execution context.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: November 23, 2010
    Assignee: National Instruments Corporation
    Inventors: Darshan K. Shah, Aljosa Vrancic
  • Patent number: 7836426
    Abstract: System and method for generating an application domain specific graphical program. A graphical user interface (GUI) for specifying functionality of a graphical program in an application domain is displayed, where the GUI corresponds specifically to the application domain. User input to the GUI specifying the functionality of the graphical program is received, and the graphical program generated in response, where the graphical program is executable to perform the specified functionality, and comprises multiple interconnected graphical program nodes that visually represent the graphical program functionality. The GUI includes graphical interface elements operable to indicate and/or specify, e.g.
    Type: Grant
    Filed: February 7, 2006
    Date of Patent: November 16, 2010
    Assignee: National Instruments Corporation
    Inventors: Joseph E. Peck, Matthew E. Novacek
  • Patent number: 7831914
    Abstract: A system and method for creating and using configuration diagrams for configuring distributed systems. The methods described herein may be used for various types of operations in configuring distributed systems, including creating programs, managing programs in the distributed system, deploying programs to various distributed devices, configuring remote execution or inter-operation of distributed programs, and executing distributed applications. Embodiments of the invention utilize graphical iconic-based techniques for performing the above operations. The configuration diagram may include device icons which represent devices and program icons which represent programs. Device icons and program icons may be associated with each other to accomplish various program creation and deployment operations. Device icons and program icons may also interact with graphical program nodes or icons. Context sensitive device connections and/or program connections are displayed.
    Type: Grant
    Filed: October 10, 2007
    Date of Patent: November 9, 2010
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Darshan Shah, Steven W. Rogers
  • Patent number: 7831680
    Abstract: A system and method for enabling deterministic or time-triggered data exchange between a first graphical program and a second graphical program. A first variable is assigned to a first time slot in a network cycle. A first graphical program may be configured to write data to the first variable. A second graphical program may be configured to read data from the first variable. The first graphical program may be executed on a first computer system, where executing the first graphical program comprises writing data to the first variable. Writing data to the first variable may cause the data to be delivered over a network to a second computer system when the first time slot occurs. The second graphical program may be executed on the second computer system, where executing the second graphical program comprises reading from the first variable the data sent from the first computer system.
    Type: Grant
    Filed: August 17, 2005
    Date of Patent: November 9, 2010
    Assignee: National Instruments Corporation
    Inventors: Jacob Kornerup, Aljosa Vrancic
  • Patent number: 7827068
    Abstract: System and method for receiving purchase information for a client system, e.g., a measurement system. A configuration diagram visually representing a current configuration of the client system is displayed. Multiple product icons are displayed representing products (hardware and/or programs) available for use in the client system. User input is received graphically associating at least one first product icon with the configuration diagram, where the first product icon represents a first product, and the user input indicates a desire to purchase the first product. An updated configuration diagram is displayed representing the configuration of the client system after receiving the user input, including the first product icon. Pricing information for the first product is displayed in response to receiving the user input. User input initiating purchase of the first product may be received in response to displaying the pricing information, and the product may be provided to the user.
    Type: Grant
    Filed: September 12, 2005
    Date of Patent: November 2, 2010
    Assignee: National Instruments Corporation
    Inventors: Mohammed Kamran Shah, David W Fuller, III, Jeffrey N. Correll, Brian H. Sierer
  • Patent number: 7818716
    Abstract: A system and method for automatically generating a data flow diagram in response to a first diagram. The first diagram may specify one or more states and one or more state transitions, wherein each state transition specifies a transition from a first state to a second state. A data flow diagram may be automatically generated from the first diagram. A hardware description may be generated from the data flow diagram. The hardware description may be usable to configure a programmable hardware element such as, for example, a field-programmable gate array (FPGA). The configured programmable hardware element may implement a hardware implementation of the data flow diagram.
    Type: Grant
    Filed: May 4, 2007
    Date of Patent: October 19, 2010
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Kevin Hogan
  • Patent number: 7818715
    Abstract: A system and method for automatically generating a data flow diagram in response to a first diagram. The first diagram may specify one or more states and one or more state transitions, wherein each state transition specifies a transition from a first state to a second state. A data flow diagram may be automatically generated from the first diagram. A hardware description may be generated from the data flow diagram. The hardware description may be usable to configure a programmable hardware element such as, for example, a field-programmable gate array (FPGA). The configured programmable hardware element may implement a hardware implementation of the data flow diagram.
    Type: Grant
    Filed: March 8, 2007
    Date of Patent: October 19, 2010
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Kevin Hogan
  • Patent number: 7802229
    Abstract: A “timed loop with frames” node may be included in a graphical program. The “timed loop with frames” node may combine a timed loop with a timed sequence such that the timed sequence is executed at each iteration of the timed loop. The “timed loop with frames” node may be configured with first execution timing information that controls execution timing for the iterations of the loop. A plurality of graphical code portions may be included in the “timed loop with frames” such that a sequential order of execution for the graphical code portions is specified. The “timed loop with frames” node may be configured with second execution timing information that controls execution timing for the graphical code portions executed at each iteration.
    Type: Grant
    Filed: August 15, 2005
    Date of Patent: September 21, 2010
    Assignee: National Instruments Corporation
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic, Matthew Curtis, Steve Rogers
  • Patent number: 7801258
    Abstract: A system and method for aligning a local timebase to a remote timebase given a timebase error value from a higher-level protocol, and using the aligned timebases to generate and distribute synchronized events and synchronized adjustable frequency periodic signals across a domain using the aligned timebases. Slightly speeding up or slowing down a periodic signal used to count time, a local timebase may be aligned to a remote timebase when given an error value from a higher-level protocol. A device may be configured to begin generating a periodic waveform at an agreed upon time in the future, once the timebases are aligned, where the time may be synchronized to remote devices via a synchronization protocol and an alignment mechanism. Remote periodic signals may remain synchronized to each other as long as the higher-level protocol and timebase alignment algorithm keep the timebases aligned.
    Type: Grant
    Filed: April 2, 2007
    Date of Patent: September 21, 2010
    Assignee: National Instruments Corporation
    Inventors: Gabriel L. Narus, Craig M. Conway