Dynamically build VI using LabVIEW

I'm currently working on an application and I would like to be able to generate VI's using LabVIEW. I remember seeing something like this being used before, so I would like to know how one would go about accomplishing such a feat. The point is that I want to be able to use LabVIEW to generate LabVIEW VI's add some elements to those VI's (controls, functions, etc).
Thanks in advance,

I can not comment on when, but it will become available, someday.
Vision Builder has been doing this for years.
The LV State Diagram Editor (which is wonderful by the way) can obviously edit diagrams and is apparently implemented as a VI!
THe SD Editor (which is great by the way, I love this thing, NO MORE PowerPoint to design) is an incredibly small add-on. This leads me to suspect much of this functionality (i.e. VI's to edit VI's) is already implmented in LV, we just do not have mechanisms to get at it (other than using the very restricted tools mentioned above).
I stongly agree with Wiebe in that this functionality will be rather challenging to master.
It will also be dificuly to support!
Imagine the type of code that would result. here
is one mind bogling possiblity.
Write three VI's
"A.VI" alternately calls "B" and "C".
"B.VI" Executes a "random VI" evaluates the reuslts and clones a modified version of itself as "C.VI" based its evaluation of the random code results and any prior experiments it has performed.
C.VI then duplicates the actions of B.
This could lead to a type of artificial intellegent code that is able to adapt it own algorithm.
What happens if the code after learning and growing decides it does not want to do math anymore and would rather just listen to the same albumn over and over again?
How does a support engineer address that?
The reason I present this extreme case was that this functionaly, when it comes, it will be limited at first (as we see in dynamic event registration).
I seem to remember Rolf Kalbermatter (on Info-LabVIEW) saying something like "Self modifying code is a bad idea and went out style years ago".
Just my thoughts,
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction

Similar Messages

  • Getting Error 08 when attempting to build exe using LabVIEW 2009 (32 bit) and Windows 7

    Testing development platform on Window 7 vs XP. I received following message while building an executable using 2009 32 bit on Windows 7 machine. Same build will work on an XP machine.
    Error 8 occurred at Copy in AB_Engine_Copy_Error_Files.vi->AB_Application.lvclass:Copy_Error_Files.vi->AB_Application.lvclass:Copy_Files.vi->AB_EXE.lvclass:Copy_Files.vi->AB_Build.lvclass:Build.vi->AB_Application.lvclass:Build.vi->AB_EXE.lvclass:Build.vi->AB_Engine_Build.vi->AB_Build_Invoke.vi->AB_Build_Invoke.vi.ProxyCaller
    Possible reason(s):
    LabVIEW:  File permission error. You do not have the correct permissions for the file.
    =========================
    NI-488:  DMA hardware error detected.
    C:\Program Files (x86)\National Instruments\Shared\LabVIEW Run-Time\2009\errors\Internet Toolkit-errors.txt
    Any suggestions?
    Thanks

    For any who may be having this problem here is a little more information and what I did to get around the issue. (so far)
    First I tried a simple vi with a while loop in a project and made an executable build. This worked. I double checked on an XP machine the project that I was having problems with. The executable was built successfully. I changed back to the Windows 7 machine.  On the program compatibility trouble shooter I started the LabVIEW 2009 (32 bit) in the XP service pack 2 mode and selected run as administrator. The build was successful.
    Note: was logged in as administrator and program would build a simple executable in Windows 7. The executable that would not build had more complex code that included serial communication and calls to lvanlys.dll and nilvaiu.dll.
    This may not be a complete fix to the problem but at least in this one case it worked.

  • Is it possible to build a firewall using labview??

    Is it possible to build a firewall using labview??
    RAJESH

    There are several kinds of firewalls, for example:
    (1) so called "personal firewall software" which applies some policies to incoming and outgoing ethernet traffic on the computer it is running.
    (2) Dedicated hardware firewalls (having at least two ethernet interfaces) that enforce policies of traffic flowing across. These can be bridging, routing, or even be proxying.
    LabVIEW does NOT have access to the low level packet structure (ethernet header, ip header, tcp header, etc.) and relies on the OS for routing decisions. LabVIEW only deals with TCP and UDP and only at a very high level. A firewall must also make decisions for e.g. ICMP, GRE, or other IP packets, must know the status of all TCP flags (SYN, ACK, URG, PSH, FIN, RST), must check for valid fragmentations, et., etc.. LabVIEW cannot do any typical firewall tasks unless you do most of your work with external routines. In this case, LabVIEW just provides the UI.
    (Even simple ftp traffic would be quite complicated. For example the ports for the secondary data connections must be dynamically allowed based on information gleaned from the control connection, in this particular case the PORT command and the reply to the PASV command).
    I would say the answer is NO! Not with the networking tools provided with LabVIEW alone.
    With lots of work, you might be able to built a simple proxy server using LabVIEW, but this would seem quite useless...
    LabVIEW Champion . Do more with less code and in less time .

  • How to load dynamically String into a VI using LabVIEW Run-time Engine Version 7.0?

    I would like to be able to traduce string into my application using import string method. I create an program with my VI to translate. When I use the import method, I get this error: the VI is locked. WHY ? because it works well in the edit mode but not using LabVIEW Run-time Engine Version 7.0 .

    Hello loup,
    If you call dynamically a VI in your LabVIEW application you must add this VI when you build the .exe file.
    To add this VI, go to the Tab "Source Files" when you build application and click on "Add Dynamic VI..." then chose the VI you call.
    It should solve your problem.
    In the attached file you can found an example of LV program that translate front panel.
    Try to build exe file and add "Languages.vi" as dynamic VI and .txt files as "Support files".
    I test it, it works.
    I hope that this will help you.
    Best Regards,
    Sanaa T
    National Instruments
    Attachments:
    Translation.zip ‏69 KB

  • Execute Dynamic SQL statement using procedure builder

    i want to execute a dynamic SQL statment using procedure builder not using forms
    because my statement depending on a variable table name
    i know that i can do that from forms using
    FORMS_DDL('SQL_STAT');
    but i wanna to use the procedure builder
    which function i should use and how?
    please explain in example if you don't mind.
    thanks

    Hi,
    You can very well use DBMS_SQL Package supplied by Oracle for doing this.
    Search for DBMS_SQL in OTN. You will get all info regarding this.
    Regards.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by itslul:
    i want to execute a dynamic SQL statment using procedure builder not using forms
    because my statement depending on a variable table name
    i know that i can do that from forms using
    FORMS_DDL('SQL_STAT');
    but i wanna to use the procedure builder
    which function i should use and how?
    please explain in example if you don't mind.
    thanks<HR></BLOCKQUOTE>
    null

  • Making DLL with C++ builder to use in Labview

      Anybody knows how to make DLL in C++ builder to use in Labview?? 
      Regards,

    smercurio_fc wrote:
    MCFSE wrote:
    This is a good question that does not appear to be addressed in that other thread.
    But is addressed via several NI KnowledgeBase articles and NI Community examples. For example: https://decibel.ni.com/content/docs/DOC-14564
    Well not verbatim, as that document refers to Visual Studio, not C Builder. But creating DLLs in C Builder for use in LabVIEW is no different than creating DLLs in C Builder for any other programming environment that can call unmanaged DLLs. How to configure C Builder to create a DLL, is really beyond the tasks anyone from NI should be required to explain. This requires someone who is familiar with C Builder and requesting a supplier to have specific experience with tool X goes a bit far. NI and most others are using Visual Studio so that is what gets explained. If some C Builder crack would come up with a tutorial targeted at integration with LabVIEW and post that here or someplace else, that would be of course great, but alas, nobody so far has felt the desire to step up to the challenge. There is no inherent difficulty with C Builder created DLLs to be used by LabVIEW, but apparently some difficulty of people to understand how to use C Builder to create working DLLs at all. Similar problems can appear for beginners with Visual Studio and since this is the tool mostly used here around, there are several tutorial style documents available that try to handhold the beginner to get a DLL at all.
    Personally I'm not sure that is ideal either, since those people usually know very little about C programming, or more precise if they know about C programming, they will be able to learn to use the tool in question, with some simple, non LabVIEW oriented examples from elsewhere and then easily apply that knowledge to LabVIEW with the help of the Visual Studio examples posted in quite big numbers, even if they use a different tool than Visual Studio.
    Other even more challenging topics would be to use CygWin, MingW, Bloodshed Dev C++ and similar compilers and write tutorials about them. However the challenges with all of these is to get them even installed well on your development system and to figure out various configuration hassles, also when trying to distribute the result later on.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Receive an error when closing my program built using LabVIEW applicatio​n builder

    When I close my program built using LabVIEW application builder I receive an application error,"The instruction at "0x77fcb1ad" referenced memory at "0x023a0010". The memory could not be "read". Click OK to terminate the program"
    I have no idea why this is happening.

    This is most likely due to a reference or similar left open. You will experience this if you leave an image undisposed in IMAQ as well.
    Check all of your references and be sure you are cleaning everything up.

  • LabVIEW 8.5 and building executable (using fxs from Advanced Signal Processing Toolkit)

    Hello out there to NI and Gavin:
    For for building an executable using LabVIEW 8.5 and functions from the
    Advanced Signal Processing toolkit, do we still need to manually copy the
    special set of DLLs related to the toolkit use to the target installation, or are these now included
    within a build file for automatic installation to the target
    installation?
    Thanks,
    Don

    Hi Don,
    I imagine that any improvements made to steps required to build an executable using toolkit-specific vi's would be inherent of the toolkit itself. Meaning, I imagine the inconvenience you experienced would be eliminated with the next release of the Advanced Signal Processing Toolkit.
    Cheers,
    Emilie K. | Applications Engineer

  • How to build anintractive questionare using labview

    Hi everybody,
     I am working on Curriculum Developement where I would like to come up with an automated LabView questionare as an alternative solution to existing paper-based questionaires. I'm interested in using labview but I have no idea how to begin. could someone please help me out.
       I really,Really need this help.

    Thank you so much Adnan,I know I may sound stupid asking these questions but its because I need help and would really love to use labVIEW and understand it even better (am not big in programming much less using text based languages,but I love labVIEW and would want to explore it even further! thats why I opted to use Labview in building this interactive and automated questionare).
    This questionare should capture almost all the information that is required,thus it will include both detailed and one word answers. check boxes and radio buttons if possible. as you have pointed out,the questions should be put in a database and the corresponding answers also to be captured in a database for later analysis.
    My labVIEW knowledge is not wide but am going through some materials at the moment plus your support and I hope to accomplish this within the shortest time possible.
    regards

  • Command-li​ne build using Labview 8.0

    My company is trying to automate builds from a single machine (nightly builds). This requires an unassisted (read scripted/command-line) build for LabVIEW executables (currently we are building manually). LabVIEW 7.1.1 and prior didn't really offer this and i was needing to know if LabVIEW 8.0 has added this functionality.

    PLEXSYS wrote:
    My company is trying to automate
    builds from a single machine (nightly builds). This requires an
    unassisted (read scripted/command-line) build for LabVIEW executables
    (currently we are building manually). LabVIEW 7.1.1 and prior didn't
    really offer this and i was needing to know if LabVIEW 8.0 has added
    this functionality.
    For pre-LabVIEW 8 you could take a look at the OpenG Builder.
    It is basically yet a different application builder around the LabVIEW
    core functionality that does the actual building. Since the OpenG
    Builder is distributed in source code it is not a very difficult
    (although possibly laberous) exercise to call the specific functions
    necessary in your own scripted or otherwise controlled LabVIEW
    application that would allow you to do some sort of batch processing.
    The folks at OpenG are looking into possibilities to extend the OpenG Builder for LabVIEW 8 but it is a quite involved change.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Cannot build application with labview 7.0

    I had built application previously using labview 6.X while some of the V.I. are without block diagrams, but I couldn't do that any more with labview 7.0 as a error will be prompted, why is this happening & are there difference in application builder between labview 7.0 and previous version? Must I load those V.I. without block diagrams dynamically now ?

    Unfortunately it is impossible to build application with newer version with VIs without block diagrams, which saved in oldest version.
    from ni web site:
    "National Instruments does not recommend saving VIs without block diagrams because LabVIEW needs the block diagram to recompile the VI after an upgrade. When you upgrade LabVIEW, you must find a version of the VI that includes its block diagram to recompile it. Such a version did exist before the block diagram was removed because it is impossible to create a new VI without a block diagram."
    "Based on that information, it should be clear that once a VI is saved without diagrams:
    You cannot open or run the VI on any other version of LabVIEW, older or newer."
    More information:
    http://digit
    al.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/00a6bacda1c01a0786256b60006163e7?OpenDocument
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/28c4cb0cf83e1a1d862566e2007a2a9c?OpenDocument
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/fee732f4b1541b9586256bf0006a78ca?OpenDocument
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/0649a3350de20aa186256d91007b3d61?OpenDocument

  • Extremely long build times using object oriented code

    We have a LabVIEW application that we need to build an .exe for distrubution purposes.  The application relies on several object-oriented classes for data handling and dynamic dispatch type casting and function selection.  Currently it takes approximately 1.5 hours to build the application and it seems that most of the time is spent processing the object oriented files.  Has anyone else seen this issue and are there any creative ways to improve the build times?

    Hi again.  We are still having issues using LVOOP due to extrmely long .exe build times as well as long labview loading times.  I traced the source of this to one class hierarchy, shown below.  This hierarchy also relies heavily on overriding top-level functions, declared as virtual VIs in the top level class, which I suspect contributes to this problem.  While debugging another issue, I was trying to build a small piece of my main code into an .exe to verify its functionality and experienced the same extremely long build times.  When I removed this class hierarchy from the VI, it built extremely fast.  Also to be clear, I am using neither the mean function or Mean.vi anywhere in this set of code.  To date we have been delighted with LVOOP and how it has made our code cleaner, mroe robust, and more maintanable.  However, when creating new functionality in the code we often elect NOT to create new objects (even though they would be beneficial) because we are hesitant to introduce the extra time (load and build) required for LabVIEW to handle these classes.  If our entire system was rewritten in LVOOP, I would suspect that it would become unmaintainable and unbuildable due to the LVOOP overhead.  I was hoping that LV2009 would address some of these issues but, alas, it did not. Still looking for a way to improve this and thanks in advance for all of the replies.

  • How to let the user define the colors for each plots in the graph (I use LabVIEW 7)?

    How to let the user define the colors for each plots in the graph (I
    use LabVIEW 7)?

    Hi,
    Take a look at this example, it uses property nodes to select tha
    active plot and then changes the color of that plot.
    If you want to make the number of plots dynamic you could use a for
    loop and an array of color boxes.
    I hope this helps.
    Regards,
    Juan Carlos
    N.I.
    Attachments:
    Changing_plot_color.vi ‏38 KB

  • Can I find the OS of a remote system using LabVIEW?

    I wish to be able to start an application on a remote system using
    LabVIEW. To do this, I need to know what the OS of the remote system is
    (Windows, Linux, etc). I can ask the user to provide this information
    for me, but is there any way I can get LabVIEW to automatically
    retrieve this information? I know I can use the application node with
    the OS sub-section to get this information for the local machine... is
    there any way I can remotely run this? Would VI server allow me to run
    this, if I turned it into a VI, on the remote system such that I could
    retrieve this information for the remote system? Or is there a neater
    solution I'm missing?
    Cheers,
    M.J.

    Heya... many thanks for the suggestion(s).
    The problem with my case is there's any number of users on the network
    that might be using this, and it could be running on a Windows or Linux
    box, depending on user circumstances, so trying to get a VI Starter
    type application put into the start-up of all machines just in case is
    a) overkill & b) more than I want to bite off So basically I
    need to have the VI running on the machine in order to use VI server is
    what I'm hearing & reading from the help, which essentially my idea
    of dynamically firing off labview & loading/running any VI on the
    remote system just ain't possible... hmmmn.
    Back to the drawing board then, it looks like...
    Cheers,
    M.J.

  • Error while using LabVIEW 8.2.1 Dll from Visual C++ 6.0

    I am getting an error while using a LabVIEW 8.2.1 dll from Visual C++ 6.0 application. This is what I am doing:
    1) Created a dll using LabVIEW 8.2.1 (I used a tutorial from NI knowledge base: "Creating DLLs from 6.0i". It is a temperature conversion VI; input DegreeF and get DegreeC out). Instead of LabVIEW 6.0i, I used 8.2.1. It created the dll Convert_Temp.dll successfully.
    2) Then I created a Visual C++ 6.0 application (used a tutorial from NI knowledge base: "Calling a DLL from Microsoft Visual C++ that was Generated by LabVIEW 6i). I could build the project and create an executable application F_To_C.exe.
    3) Then copied the LabVIEW dll Convert_Temp.dll into the folder where F_To_C.exe resides. Using windows explorer, went into that folder, and executed the application.  I got the following error:
    System Error 998 while loading the LabVIEW run-time engine (C:\Program Files\National Instruments\Shared\LabVIEW Run-Time\8.2\lvrt.dll).
    Convert_Temp requires a version 8.2.1 (or compatible) LabVIEW Run-Time Engine. Please contact the vendor of Convert_Temp to correct this problem.
    I checked the folder: C:\Program Files\National Instruments\Shared\LabVIEW Run-Time\8.2\. It has the file lvrt.dll.
    So why am I getting this error?
    GKB

    sounds like you need to install the LabVIEW 8.2.1 runtime. Not the 8.2 runtime engine.
    Paul <--Always Learning!!!
    sense and simplicity.
    Browse my sample VIs?

Maybe you are looking for