US2003196187A1PendingUtilityA1

Specifying and targeting portions of a graphical program for real-time execution on an embedded processor

Assignee: NAT INSTR CORPPriority: Aug 18, 1997Filed: May 16, 2003Published: Oct 16, 2003
Est. expiryAug 18, 2017(expired)· nominal 20-yr term from priority
G06F 8/34G06F 9/44505
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer-based virtual instrumentation system including a host computer and an embedded system or device, wherein graphical programs created using the computer system can be downloaded to the embedded system for execution in a real-time or more deterministic manner. The present invention thus provides a method for automatically generating an embedded application in response to a graphical program created by a user. This provides the user the ability to develop or define instrument functionality using graphical programming techniques, while enabling the resulting program to operate in an embedded real-time system. The invention includes a novel method for configuring the embedded system. During execution of a graphical program in the embedded system, the block diagram portion executes in the embedded system, and the host CPU executes front panel display code to display on the screen the graphical front panel of the graphical program. The embedded system and the host computer exchange data using a front panel protocol to enable this operation. The present invention also includes improved debugging support for graphical programs executing on the embedded system. The host graphical programming system thus provides the user interface for graphical programs executing on the embedded system, essentially acting as the front panel “browser” for embedded applications. The host LabVIEW can also act as an independent application communicating with embedded LabVIEW through the shared memory. The host graphical programming system further provides a seamless environment in which the user can develop an embedded application using high level graphical programming techniques.

Claims

exact text as granted — not AI-modified
1 . A memory medium which stores program instructions for configuring a device, wherein the device includes an embedded processor and an embedded memory, wherein the program instructions are executable to perform: 
 storing a graphical program in a memory, wherein a first portion of the graphical program requires a greater real-time response, and wherein a second portion of the graphical program requires a lesser real-time response;    generating code that is executable on the device for real-time execution based on the first portion of the graphical program which requires a greater real-time response.    
     
     
         2 . The memory medium of  claim 1 , wherein the program instructions are further executable to perform: 
 receiving user input selecting said first portion of the graphical program requiring a greater real-time response.    
     
     
         3 . The memory medium of  claim 1 , wherein said receiving user input selecting said first portion of the graphical program requiring a greater real-time response comprises: 
 receiving user input indicating an execution engine comprised in the device for executing the first portion of the graphical program requiring a greater real-time response;    wherein said generating code that is executable on the device for real-time execution based on the first portion of the graphical program which requires real-time execution is performed in response to said receiving user input indicating an execution engine.    
     
     
         4 . The memory medium of  claim 1 , wherein the graphical program comprises a model.  
     
     
         5 . The memory medium of  claim 1 , wherein the graphical program comprises a plurality of interconnected nodes that visually represent functionality of a procedure.  
     
     
         6 . The memory medium of  claim 5 , wherein the first portion of the graphical program comprises at least a portion of the plurality of interconnected nodes.  
     
     
         7 . The memory medium of  claim 5 , wherein the first portion of the graphical program comprises only a portion of the plurality of interconnected nodes.  
     
     
         8 . The memory medium of  claim 1 , wherein the graphical program comprises a front panel portion, wherein the front panel portion implements a Graphical User Interface for the graphical program.  
     
     
         9 . The memory medium of  claim 8 , wherein the second portion of the graphical program comprises the front panel portion.  
     
     
         10 . The memory medium of  claim 1 , wherein generating further comprises establishing an inter-process communication link between the first portion of the graphical program which requires greater real-time response and the second portion of the graphical program which requires lesser real-time response.  
     
     
         11 . The memory medium of  claim 10 , wherein the second portion of the graphical program which requires lesser real-time response is operable to receive output from the first portion of the graphical program which requires greater real-time response via the inter-process communications link.  
     
     
         12 . The memory medium of  claim 11 , wherein the second portion of the graphical program which requires lesser real-time response is operable to perform: 
 processing the output from the first portion of the graphical program.    
     
     
         13 . The memory medium of  claim 12 , wherein processing the output from the first portion of the graphical program comprises: 
 displaying the output on a computer display.    
     
     
         14 . The memory medium of  claim 1 , wherein the program instructions are further executable to perform: 
 deploying the generated code onto the device for execution.    
     
     
         15 . The memory medium of  claim 14 , wherein the program instructions are further executable to perform: 
 executing the first portion of the graphical program on the device, wherein said executing comprises the embedded processor executing the first portion of the graphical program from the embedded memory.    
     
     
         16 . The memory medium of  claim 14 , wherein the program instructions are further executable to perform: 
 executing the second portion of the graphical program requiring a lesser real-time response on a host computer.    
     
     
         17 . The memory medium of  claim 1 , wherein the program instructions further comprise a set of pre-defined instructions for generating machine language code corresponding to the first portion of the graphical program requiring a greater real-time response.  
     
     
         18 . A method comprising: 
 storing a graphical program in a memory, wherein a first portion of the graphical program requires a greater real-time response, and wherein a second portion of the graphical program requires a lesser real-time response; and    generating code that is executable on an embedded device for real-time execution based on the first portion of the graphical program which requires a greater real-time response, wherein the embedded device includes an embedded processor and an embedded memory.    
     
     
         19 . The method of  claim 18 , wherein the graphical program comprises a model.  
     
     
         20 . The method of  claim 18 , wherein the graphical program comprises a plurality of interconnected nodes that visually represent functionality of a procedure.  
     
     
         21 . The method of  claim 18 , wherein said requiring a greater real-time response or a lesser real-time response comprises: 
 requiring a real-time execution or not requiring real-time execution.    
     
     
         22 . The method of  claim 18 , wherein the graphical program comprises a data flow diagram.  
     
     
         23 . A method comprising: 
 receiving user input specifying a graphical program model, the graphical program model including sections, a first subset of the sections designated post-processing unit sections requiring a lesser real-time response, and a second subset of the section designated first processing unit sections requiring a greater real-time response;    generating software source code for the graphical program model using the second subset, wherein the software course code is deployable onto an embedded device for execution; and    linking the software source code to the first subset via an inter-process communication link; and compiling the software source code into executable code.    
     
     
         24 . The method of  claim 23 , further comprising: 
 deploying the executable code onto an embedded memory on the embedded device; and    an embedded processor comprised in the embedded device executing the executable code.    
     
     
         25 . The method of  claim 24 , further comprising: 
 executing the first subset of the sections designated post-processing unit sections requiring a lesser real-time response on a host computer.    
     
     
         26 . The method of  claim 25 , wherein said executing the executable code generates data, the method further comprising: 
 the post-processing unit sections executing to receive the data from said executing; and    post-processing the received data.    
     
     
         27 . The method of  claim 26 , wherein said post-processing the received data comprises displaying the received data on a computer display.  
     
     
         28 . The method of  claim 26 , wherein said embedded processor executing the executable code is performed substantially concurrently with said executing the first subset of the sections.  
     
     
         29 . The method of  claim 23 , wherein said receiving user input comprises receiving user input through a graphical user interface (GUI).  
     
     
         30 . The method of  claim 23 , wherein the graphical program comprises a plurality of interconnected nodes that visually represent functionality of a procedure.  
     
     
         31 . A method comprising: 
 identifying portions of a model as requiring a greater real-time response or a lesser real-time response; and    generating code that is capable of greater real-time response based on the portions of a model requiring a greater real-time response, wherein the generated code is targeted for execution on an embedded device comprising an embedded processor and an embedded memory.    
     
     
         32 . A system for configuring a device, wherein the device includes an embedded processor and an embedded memory, comprising: 
 a host computer system, comprising: 
 a CPU; and  
 a first memory coupled to the CPU; and  
   a device, coupled to the host computer system, comprising: 
 an embedded processor; and  
 an embedded memory coupled to the embedded processor;  
   wherein the first memory stores program instructions which are executable by the CPU to: 
 store portions of a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually represent functionality of a procedure, wherein a first portion requires a greater real-time response, and wherein a second portion requires a lesser real-time response; and  
 generate code that is executable on the device for real-time execution based on the first portion of the graphical program which requires greater real-time response.  
   
     
     
         33 . A system for configuring a device, wherein the device includes an embedded processor and an embedded memory, comprising: 
 means for storing a graphical program in a memory, wherein a first portion of the graphical program requires a greater real-time response, and wherein a second portion of the graphical program requires a lesser real-time response;    means for generating code that is executable on the device for real-time execution based on the first portion of the graphical program which requires a greater real-time response.    
     
     
         34 . A memory medium which stores program instructions for configuring a device, wherein the device includes an embedded processor and an embedded memory, wherein the program instructions are executable to perform: 
 storing portions of a block diagram, wherein a first portion requires a greater real-time response, and wherein a second portion requires a lesser real-time response; and    generating code that is executable on the device for real-time execution based on the first portion of the block diagram which requires greater real-time response.

Join the waitlist — get patent alerts

Track US2003196187A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.