Patents Assigned to National Instruments
  • Patent number: 7791671
    Abstract: A smart camera with modular expansion capabilities, including a housing, a camera directly attached to the housing for acquiring an image of an object, a functional unit comprised in the housing and coupled to the camera, where the functional unit is configurable to implement an image processing function, a backplane comprised in the housing and coupled to the functional unit to provide electrical communication, and one or more slots comprised in the housing, where each slot includes a connector that is electrically coupled to the backplane, and where each slot is adapted for receiving a function module. An inserted function module provides modular functionality to the smart camera, such as dedicated image processing functionality, pattern recognition, analysis, communication, sensor, sensor I/O, signal conditioning and/or conversion, control, measurement, and synchronization, among others. The function module may communicate a protocol to the functional unit which may be configured to implement the protocol.
    Type: Grant
    Filed: April 19, 2009
    Date of Patent: September 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Kevin L. Schultz, Perry Steger, Stefanie Breyer
  • Patent number: 7793273
    Abstract: System and method for implicit downcasting at compile time in a data flow program. A first data flow function in an object-oriented dataflow program is identified, where the first function includes an input of a parent data type and an output of the parent data type. The first function is analyzed to determine if the output preserves the run-time data type of the input. A second dataflow function in the object-oriented data flow program is identified, where the second function includes a program element that calls the first function, passing an input parameter of a child data type of the parent data type as input. If the analysis determines that an output parameter returned by the output of the first function will always be of the child data type, the program element is automatically configured at compile time to always downcast the output parameter from the parent data type to the child data type at run-time.
    Type: Grant
    Filed: November 8, 2005
    Date of Patent: September 7, 2010
    Assignee: National Instruments Corporation
    Inventors: Stephen R. Mercer, Steven W. Rogers
  • Patent number: 7764619
    Abstract: System and method for analyzing routing in a system. Routing information for the system, received, e.g., from a user and/or tool, is analyzed, where the routing information specifies a plurality of routes in the system, and where each route comprises one or more routing resources in the system. A routing conflict between two routes of the plurality of routes is determined based on the analyzing, where the routing conflict is with respect to a routing resource comprised in each of the two routes, e.g., incompatible reservations and/or incompatible specified configuration of a routing resource included in each of the two routes. An error message useable in debugging routing for the system is output indicating the routing conflict, where the error message includes identification of the two routes, e.g., respective names, sources and destinations, and/or routing resource sequences, of the two routes, and may optionally include identification of the routing resource.
    Type: Grant
    Filed: June 24, 2005
    Date of Patent: July 27, 2010
    Assignee: National Instruments Corporation
    Inventors: Roy P. Mathena, Robert W. Thurman
  • Patent number: 7765278
    Abstract: A system and method for deploying one or more graphical programs on a personal digital assistant (PDA). One or more selected graphical programs may be programmatically converted to an executable format that can be executed by the portable computing device. For example, the graphical programs may be initially represented as a plurality of data structures that define or specify the operation of the respective graphical programs, and conversion software program may operate to access these data structures from memory and convert the data structures to an executable format suitable for the portable computing device. The executable may be transferred to the portable computing device for execution.
    Type: Grant
    Filed: September 11, 2007
    Date of Patent: July 27, 2010
    Assignee: National Instruments Corporation
    Inventors: Andrew Dove, Hugo Andrade, Darshan Shah
  • Patent number: 7765493
    Abstract: A system and method for navigating among hierarchies of palette windows displayed on a display. 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. The navigation items may include back navigation items, forward navigation items, and up navigation items. The navigation items may be used in navigating to previously displayed palette windows and/or to higher palette windows 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 current palette window is closed when a new palette window is opened. Thus, at most one palette window in a hierarchy is displayed at one time.
    Type: Grant
    Filed: December 27, 2000
    Date of Patent: July 27, 2010
    Assignee: National Instruments Corporation
    Inventors: Justin Chickles, Raghavendra Gururaj
  • Patent number: 7761802
    Abstract: One embodiment of the present invention comprises a method for displaying a diagram of a measurement system, in which various components in the diagram may be expanded or collapsed as desired. 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. Providing the ability to expand or collapse components in a measurement system diagram 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.
    Type: Grant
    Filed: December 23, 2002
    Date of Patent: July 20, 2010
    Assignee: National Instruments Corporation
    Inventors: Mohammed Kamran Shah, Jeffrey N. Correll
  • Patent number: 7760238
    Abstract: Vision system and method. The system includes a vision system, including: a camera, a processor and memory, coupled to the camera, and an EtherCAT interface, coupled to the processor and memory, possibly contained in a chassis, and operable to couple to an EtherCAT network that provides for deterministic low-latency communication between the vision system and devices coupled to the EtherCAT network. The vision system may be configurable to operate as any of: an EtherCAT master device, an EtherCAT slave device, or a TCP/IP Ethernet device. One or more additional vision systems may couple to the EtherCAT network. The vision systems may be synchronized using an EtherCAT distributed clock technique, time-based triggered, and/or event triggered, via the EtherCAT network, e.g., in a multi-view vision, collaborative processing, control, I/O, or video servoing application, e.g., using an EtherCAT deterministic low latency closed loop feedback system, including processing, control, or I/O devices.
    Type: Grant
    Filed: July 25, 2007
    Date of Patent: July 20, 2010
    Assignee: National Instruments Corporation
    Inventor: Robert J. B. Giesen
  • Patent number: 7761859
    Abstract: One embodiment of the invention comprises a system and method for aiding a user in specifying function parameter values in a computer program. An application development environment (ADE) may be operable to display parameter assistant user interfaces for aiding the user in specifying various function parameter values. Another embodiment of the invention comprises a system and method for automatically declaring variables passed as parameters in function calls.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: July 20, 2010
    Assignee: National Instruments Corporation
    Inventor: Jared L. Low
  • Patent number: 7761846
    Abstract: A system and method for configuring a target hardware device. The system receives user input selecting instances of circuit-like primitives and instances of dataflow primitives. The user may wire the instances together using wires of various kinds to specify a graphical program. The wires are distinguished into types depending on whether or not they impose dataflow ordering dependencies and depending on the kind of data they are intended to carry. The circuit-like primitives may receive and/or generate digital signals to control the timing of processes or events such as A/D conversion, D/A conversion, digital input, digital output, pulse generation, etc. The circuit-like primitives and the dataflow primitives may communicate with each other through cast primitives and satellite nodes. Program code corresponding to the graphical program may be compiled to a format suitable for configuring a programmable hardware element or some other target device.
    Type: Grant
    Filed: August 8, 2006
    Date of Patent: July 20, 2010
    Assignee: National Instruments Corporation
    Inventor: Timothy J. Hayles
  • Patent number: 7761847
    Abstract: A system and method for executing a plurality of graphical code portions as a timed sequence is described. The graphical code portions may be included in a graphical program and configured with information specifying a sequential order of execution and execution timing information. During execution of the graphical program, the graphical code portions are executed sequentially in the sequential order and in accordance with the execution timing information. In one embodiment a timed sequence structure node may be utilized to specify the timed sequence. For example, the user may include the timed sequence structure node in the graphical program and associate the plurality of graphical code portions with the timed sequence structure node such that the timed sequence structure node species a sequential order of execution for the graphical code portions. The user may also configure the timed sequence structure node with execution timing information for one or more of the graphical code portions.
    Type: Grant
    Filed: August 15, 2005
    Date of Patent: July 20, 2010
    Assignee: National Instruments Corporation
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic
  • Patent number: 7743362
    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: May 6, 2004
    Date of Patent: June 22, 2010
    Assignee: National Instruments Corporation
    Inventors: Joseph E. Peck, Matthew E. Novacek
  • Patent number: 7743335
    Abstract: A system and method for creating a graphical program which accesses registers of a hardware device. In one embodiment, a register access node or primitive may be included in a graphical program, such that when the graphical program is executed on the computer system, the register access node is operable to access (i.e., either read or write) registers of a hardware device in the computer system. The method may comprise first displaying a register access node in the graphical program in response to user input. For example, the user may select the register access node from a palette and drag and drop the register access node onto a window of the graphical program being created. The user may then configure the register access node to access one or more registers of a selected hardware device, e.g., by using a user interface for performing this configuration.
    Type: Grant
    Filed: August 9, 2006
    Date of Patent: June 22, 2010
    Assignee: National Instruments Corporation
    Inventors: Steve Rogers, Jason King
  • Patent number: 7730450
    Abstract: System and method for automatic versioning and data mutation for user-defined data types. A program development environment may be operable to: create a first version of a data type definition in response to user input; instantiate and store an object of the first version of the data type, optionally including a version identifier indicating the version of the object; modify the first version of the data type definition in response to user input, thereby creating a second version of the data type definition; load the object from storage; and automatically (without user intervention) modify the object to conform to the second version of the data type definition. Successive modifications of the data type definition may generate successive versions of the data type. Objects instantiated and stored according to a previous version of the data type may be loaded from storage and automatically modified to conform to a specified subsequent version.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: June 1, 2010
    Assignee: National Instruments Corporation
    Inventor: Stephen R. Mercer
  • Patent number: 7725877
    Abstract: A system and method for creating a graphical program utilizing one or more input/output (I/O) nodes. An I/O node may be displayed in a first graphical program, where the I/O node may include associated generation code for programmatically generating execution-time code associated with the I/O node in the first graphical program. First input may be received to select a first I/O source or target corresponding to the first I/O node, e.g., from various supported hardware resources, and the associated generation code may be executed to programmatically generate or modify the execution-time code, e.g., at compilation or prior to execution of the first graphical program, to provide I/O to or from the first I/O source or target.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: May 25, 2010
    Assignee: National Instruments Corporation
    Inventors: Hugo A. Andrade, Matthew E. Novacek, Lukasz T. Darowski
  • Patent number: 7725874
    Abstract: A combination structure node is provided by a graphical programming development environment for use in a graphical program, where the combination structure node is operable to perform two or more control flow functions. For example, the combination structure node may be operable to perform two or more of: iteration, looping, conditional branching, sequencing, timed execution, event-driven execution, or other control flow functions. A user may include the combination structure node in a graphical program and associate a graphical code portion with the combination structure node. During execution of the graphical program, the combination structure node is operable to cause the associated graphical code portion to execute according to the two or more control flow functions performed by the combination structure node.
    Type: Grant
    Filed: August 15, 2005
    Date of Patent: May 25, 2010
    Assignee: National Instruments Corporation
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic, Matthew Curtis, Steve Rogers
  • Patent number: 7725627
    Abstract: System and method for performing distributed input/output (I/O). A distributed I/O device (the device) coupled to a controller may read data from a serial port, may determine if the data are framed by time, and if so, may handle the data according to a time-based protocol. If the data are not framed by time, the device may determine if the data are framed by delimiters, and if so, may determine an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols, and handle the data according to the appropriate delimiter-based protocol. This process may be repeated in an iterative manner to read a stream of data from the serial port. The device may include or be coupled to one or more I/O modules (e.g., for DAQ, motion control, etc.), which themselves may be coupled to a unit under test or other external device or phenomenon via additional devices.
    Type: Grant
    Filed: November 15, 2006
    Date of Patent: May 25, 2010
    Assignee: National Instruments Corporation
    Inventors: Charles E. Crain, II, Tony Widjaja
  • Patent number: 7725356
    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: May 25, 2010
    Assignee: National Instruments Corporation
    Inventors: Mohammed Kamran Shah, David W Fuller, III, Jeffrey N. Correll, Brian H. Sierer
  • Patent number: 7707014
    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: December 18, 2006
    Date of Patent: April 27, 2010
    Assignee: National Instruments Corporation
    Inventors: Jeffrey L. Kodosky, Hugo Andrade, Brian K. Odom, Cary P. Butler
  • Patent number: 7703034
    Abstract: A system and method for viewing timing of one or more loops in a graphical program. A graphical program having one or more loops may be created. In one embodiment the one or more loops may include one or more timed loops, i.e., the loops may be configured to execute according to particular execution periods. The graphical program may be executed, and timing analysis data regarding timing of the one or more loops during execution of the graphical program may be stored. A graphical user interface (GUI) for viewing timing of the one or more loops during execution of the graphical program may be displayed. In various embodiments the GUI may display any of various kinds of information regarding timing of the one or more loops, and any kind of visual presentation may be used in displaying the information.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: April 20, 2010
    Assignee: National Instruments Corporation
    Inventors: Jacob Kornerup, Biren Shah, Aljosa Vrancic, Bob Preis
  • Patent number: 7702417
    Abstract: System and method for utilizing drawing specifications for use in motion control. Elements in a drawing specification may be automatically identified. The drawing specification may include one or more drawings, digital files, AutoCAD drafting files, and/or drawing specifications. Code may be automatically generated based on the one or more elements in accordance with a schema, and may include instructions in a data representation language, e.g., a markup language such as HTML, XML, etc. The automatically generated code may include move operations, e.g., arc, contour, line, raise, lower, halt, begin, etc., with associated parameters, e.g., move constraints, digital outputs, position compares, etc. The schema may include one or more blocks, each associated with a portion of the drawing specification, one or more elements, each associated with a block, one or more move operations, each associated with an element, and one or more parameters, each associated with a move operation.
    Type: Grant
    Filed: January 31, 2006
    Date of Patent: April 20, 2010
    Assignee: National Instruments Corporation
    Inventors: Sushrutha Ravish, Praveen Shivananda, Sundeep Chandhoke, Mahesh Ramchandani