Build stand-alon​e applicatio​n with Global variable

Question:
   how to build a VI access a global variable into a standalone EXE file?
there are multiple VIs access to one Global variable, one of the VIs need to run in background to update the Global variable, whick i built into EXE file.
the rest VI will be called in from Teststand to retrieve the Global variable.
the global variable is updated if i run the background VI in labview, but after i build it into EXE file, it seems the global is not updated even the EXE running OK.

Hi,
Do you actually need to have an executable.
If you can call your global variable updater VI as a VI form, then your other VI's will still beable to see the Global variable.
You can launch you global variable updater VI in a new thread or execution so that it runs in the background and returns back to TestStand sequence so you can continue on with the rest of your tests.
Remember to close your global updater VI before you complete your test sequence run.
Regards
Ray Farmer

Similar Messages

  • Build stand alone (exe),help?

    hi i want to make build stand alone (exe) but i cant do that, can you tell me where i can found some example
    to make it (explain with images)?
    tanx

    smercurio_fc wrote:
    Reading the manual might be worth trying as well. You keep asking VERY basic questions which can be answered by just looking in the Help, which NI spent a great deal of time making, or doing a simple search. Your question has been asked many times before, all with the same answer.
    Come on Smercurio, that is too much work!  It would really be easier for him if you would just fly to wherever Marp lives, sit next to him, and handhold him through programming for the rest of his LabVIEW career.
    Marp,
    Take the tutorials. How to Learn LV
    Pay for taking some LabVIEW courses that NI offers.
    and RTFM!

  • How build stand alone application without labview

    I have main vi and contain the sub vi i need build stand alone application without labview
    how build stand alone application without labview?
    thank and regard

    I assume that the poster means to run this on a computer without the development environment installed.  That is what the app builder is for. Review Altenbach's post.  This being said, there will need to be a runtime engine installed on the target PC. You can 'bundle' that with your build application and install it together, although I usually prefer Not to do that, and make that a seperate step because it is rather large, and if the target already has it, then it is wasted space.  Speaking of run time engine, I have seen negative reactions to it by my customers, but after sitting down and explaining that, with few exceptions, every application requires a run time engine. It is just that some are bundled with windows, or installed through windows update.  Once explained, it usually quiets the opposition. [Paul steps off soap box now]
    Paul <--Always Learning!!!
    sense and simplicity.
    Browse my sample VIs?

  • Formula node with global variable

    Hi,
    I am tring to use formula node with global variables as an input and output,
    but this is where I see the SW hangs forever.
    By the way I am a novice to the labview.
    Can some give me hint why this is happening?
    Thank you in advance,
    Do
    Solved!
    Go to Solution.
    Attachments:
    formula_node_wGlobalInputOutput.JPG ‏281 KB

    Well, the first case of the two loops has a direct LabVIEW translation like this:
    However, just because that's the direct translation doesn't mean that's what you should be doing. In the formula node it seems as if you were copying elements from one array to another. Element-wise operation on arrays via loops can be quite inefficient in LabVIEW. Often one can operate in place with arrays, and an operation that would require two loops in a language like C would actually require no loops in LabVIEW. In fact, with the above example, even if you were to use loops, arrays can auto-index for-loops so you don't even need to wire the constants to the N terminals to tell the loop(s) how many times to run.
    Can you describe what you're trying to accomplish? There's likely to be a more natural way to do it in LabVIEW that would require no loops. Have you gone through the tutorials? You can also look over the material in the NI Developer Zone's Learning Center which provides links to other materials and other tutorials. You can also take the online courses for free.

  • Using built-in with global variables

    I am trying to setup built-in source code control for LabVIEW. It seems to be OK except in one case:
    Is it possible to use built-in with global variables ?
    VIs that use a global variable are supposed to be updated automatically when global variable is modified but what happen when VIs are checked-in ? LabVIEW cannot updated them. Is it necessary to check out all VIs before modifying global variable ? This is not convenient if global variable is used in more than 100 VIs !
    Is there another solution ? Can Perforce resolve this problem ?
    Thanks for your help !
    David

    You can still use and update global variables while they are checked in to SSC. The default values will still be saved in SSC but they can still be modified and read by other vi's.
    goldie

  • Creating single executible with global variables

    I am trying to create an executible with global variables. I dynamically load the source file but when I run the indicator does not update unless I run both VI's together. Is the executible require different inputs during creation?

    Hello,
    It's not the fact that you are creating an executable that is causing the issue. What you are experiencing is expected behavior. Please see this KnowledgeBase" for some solutions.
    Nicholas C
    National Instruments
    Applications Engineering

  • Error building stand alone applicatio​n, with LV.7.01

    Hi to all....
    I always get this pop up error (see picture attached) when trying to build a Stand alone application. I got the full version of Labview 7.01 and the Application builder also. the runtime engine is also 7.01.
    Regards
    HFZ.
    HFZ
    Solved!
    Go to Solution.
    Attachments:
    Error Building App.JPG ‏51 KB

    Hi GardW
    All comm. problem are handeled.
    The problem was based on the destinations for the .VI's.
    Labview 7.1 isn't so got to manage these. It's something the user got to be carefully about.
    Allmost solved. But now can't get the default 'labview Icon' to my finnished Application.  You know... when you make a stand alone application..
    then somewhere under the building process... you can choose if you want your own Icon added as the application starter icon! If you don't  choose any.. Labview makes the Labview Icon as your application starter Icon.
    And that is my problem now. Any ideas???
    Thanks for trying to help , i appriceate it !!
    Regards HFZ
    HFZ

  • How to build Vis in NI_AALbase​.lvlib to my Stand-alon​e applicatio​n?

    Hi, everybody.
    I met some problems while building the subVis of NI_AALbase.lvlib and NI_AALPro.lvlib into my stand-alone application.
    I use Labview 8.2 professional version and Windows xp OS.
    While I build the system contained example "Peak detection and display.vi" into stand-alone application, it succeeded in the local computer,and the exe program run correctly.
    Then I move the generated application files to another computer, where only the run-time engine 8.2  was installed.  However, some errors
    appeared during the running. The error message is "unable to load the front panel, error in loading 'NI_AALPro.lvlibeak detector.vi'  "
    It seems the "Peak detector" subvi in NI_AALPro.lvlib can not be found. Similar problems happened with the subvis in NI_AALbase.lvlib.
    I use the default configuration for Application Builder.  I donot know how to configure the Application Builder.
    Could you help me  to solve the problems?
    Thank you.
    Stephen

    An example of a non-vi support file might be an image that you are importing into your application. LabVIEW can obtain data from external files and perform LabVIEW functions on it.
    Thus, if you created an application that imported a file that is not a vi, you would include this in your support files.
    You can find out more about File I/O in the LabVIEW Help>>Fundamentals section.
    I hope this helps clarify things. Let me know if you have any more questions regarding this issue.
    Cheers,
    Emilie K. | Applications Engineer | National Instruments

  • Stand-alone application generates error with function 'Ramp Pattern' (bug in application builder?)

    Hello,
    in my program a main.vi links to a sub-VI via 'open VI reference' and 'invoke node'. In this sub-VI the function 'Ramp Pattern' is used. The program itself runs normally, but if I build a stand-alone application using application builder I get an error message 'error 1003 occurred ..'. I believe this error is directly related to the build specifications which are as follows: the main.vi is referenced in a main build specification, the sub-VI in its own specification where the target is a LLB.
    I appended an example-program that exhibits the error (when executing 'Application.exe' and pressing 'calculate ramp'). The error does not occur when disabling the 'ramp pattern' function and rebuilding the application.
    I would rate this to be a bug in the application builder and would appreciate any help on how to solve this problem. However, due to the structure of the whole program the sub-VI has to remain in its own LLB.
    Attachments:
    RampPattern.zip ‏198 KB

    There can be reasons why a VI might appear broken when loaded from an executable. For example, if you have different versions of the same VI or enum that differ in such a way as to break the calling VI, that can cause a broken arrow when loaded from the executable. If you have DLLs being called and the runtime engine can't find the DLL, that can cause a broken arrow that you might not see otherwise. Finally, there is a bug related to a VI appearing broken when its not.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • I have trouble in building stand-alone application, "you must intall Labview run-time engine on any computer on which you want to run this application"

    I have installed the LabVIEW 7.0 run time engine and checked all in the advanced setup on the installer setup slide. but I still get such a message saying that the target computer needs to have LabVIEW 7.0 run-time engine. What I want is a real stand-alone application even without having labview ... I used to think that's due to my program contains MATLAB nodes. But this is not true, since even without Matlab, it's still wrong. Please help, thanks!!!

    As was stated elsewhere, you have the option of building the runtime engine into your application when you build it. However, you can also create a "runtime engine application" by simply opening the application builder and doing a build without adding any source code files. The result is a small program (named lvrt.exe) that can run any LabVIEW code--whether or not its built into an executable.
    Such an application can be helpful if you are wanting to install several LV-based applications on the same computer in that it reduces the amount of redundant code on disk. All you have to do is make sure that Windows on the target computer associates the llb and vi file extensions with the runtime engine program.
    It can also be helpful during testing to run test code that isn't built into an executable.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Error 10403 when using Stand-Alon​e Applicatio​n and DAQPad 6020E

    On the computer I have LabVIEW on, I can run my VI and also I can run the stand alone application of that VI. But I can NOT run the stand alone applicaiton of that VI on a 2nd computer with out LabVIEW. I get error # 10403. I belive I build the VI correctly and loaded the proper software/driver because I have found I can run a simple stand alone application VI that does not communicate with my DAQPad 6020E. The second computer does reconize the DAQPad 6020E under the Divice Manager. I tried using differnce divice numbers for the AO and AI...

    Hi,
    The first thing you need to check is make sure the same DAQ driver is installed on both computers. Then, you need to make sure that you can view the device in the Measurement and Automation Explorer (MAX). Once you can do this, then you will need to make sure the LV Run-Time Engine is installed on the stand-alone comp. This needs to be the same version as LabVIEW that is installed on the computer where the application was developed.
    I hope this helps.
    George

  • Are stand alone LV applicatio​ns compiled in Win2000 portable to WinNT and Win95?

    I recently upgraded from LV 5 to LV6.1 and at the same time upgraded my developement PC from WinNT to Win2000.
    I have successfully created stand alone applications (with the App. Builder) which run on other Win2000 PCs, but the installer doesn't want to run on a WinNT PC. I am including the LV runtime engine with the application installer.
    Can an executable compiled in Win2000 be installed on WinNT and Win95 PCs?
    Does the LV Run Time Engine need to be installed separately?
    (Or is there maybe just some thing wrong with the WinNT PC?)
    Thanks
    Tim.S

    I develop on Win2K as well, and I haven't had any trouble (knock on wood) running these apps on Win9x/NT4. The only issues I've seen were installation issues; Windows 95 doesn't come with the Windows Installer service, which is used by installers created with the LabVIEW 6.1 Application Builder. The target directory for your installation should have included InstMsiA.exe and InstMsiW.exe, which will add the Windows Installer service to any machine that doesn't have it. Are you putting these files on your install disc along with setup.exe?
    You may want to try manually adding the Windows Installer service to the target PC. You can download it for free at http://download.microsoft.com/download/WindowsInst​aller/Install/2.0/W9XMe/EN-US/InstMsiA.exe for Win9x or
    http://download.microsoft.com/download/WindowsInst​aller/Install/2.0/NT45/EN-US/InstMsiW.exe for WinNT.
    You can also try installing the LV Runtime Engine separately on the target PC and just copying your program's executable over, but that shouldn't be necessary. One more thing to check is that the user installing your program is logged in with sufficient privileges on the target PC.
    One more alternative would be to copy the entire contents of your development PC's LabVIEW 6.1 Runtime folder (C:\Program Files\National Instruments\shared\LabVIEW Run-Time\6.1) onto the target PC, into the same folder where your app lives. Again, this shouldn't be necessary but is one more way to get the LabVIEW RTE onto the end user's computer.

  • Issue with Global variable in FM

    Hi experts,
    I have created  two functional modules under same function group and declared the internal table (ITAB)as global variable ,
    i have populated the data to to  ITAB n first function module , and  These FM are used in a program , when i debug the program , the data is populated to 1st FM and but in  2nd function module the ITAB is null only internal table structure is available.
    please let me know the reason.
    Thanks NK

    thanks all, the program ( it also an FM)  ,which is calling the 2nd FM is in background mode, i think thats the reason ITAB values are not populated.
    i ts working fine with IMPORT/EXPORT but my lead says it is not advisable and they are obsolete in ECC 6.0,
    ---> declated iTAB as global variable.
    ---> call FM1 --populate itab
    call function " MAIN_FM" in update task.
       ---> fm2 cllaed in side MAIN_FM,   ( here values not populated)
    please suggest global variable not filled incase of background mode.
    thanks
    NK

  • PtbyPt editing with global variable?

    Hey guys,
    I'm wanting to setup a counter to count a crossing of a sinewave. The thing is, the sinewave is not zeroed. It's a sinewave of a cyclic load cell that I'm testing a material with. With this test, I will put load on the load cell, then cycle from that position, which is my realitive zero.
    So, say I put 0.043 volts on the load cell. I would then cycle the material at a certain strain both ways horizontally, and this "0.043" would be my zero for the crossing. I've included my Vi so you can see what's happening in the "strain" and "stress" state. These states are independant from eachother and don't work together in anyway. They're just recording data on different channels
    Is there a way I can edit the Pt2Pt vi to look at this "0.043" value (which is an analog channel)? I was thinking global variable...or...something simpler I could put in my code. I'm still a novice in all this and I would greatly appreciate some advice.
    Kindly
    Gary S.
    Attachments:
    New CSS state44.vi ‏405 KB

    glskinner wrote:
    The signal is crossing at the offset, but my "cycle count" is crossing at zero since I'm using Pt2Pt. How to I get my cycle count to cross at the offset? Is there a way I can edit the Pt2Pt to look at my beginning load cell reading zero/offset (I have it a TTL that starts the data aquisition) and then increment everytime is reaches the offset?
    As for the why I need to worry about where the cycle count crosses: I am recording the cycle count as a scalar numeric value in my data file, along side my load cell. I need this cycle count to match with the crossing of the load cell for data reduction purposes. So if the load cell crosses at -0.043, I need the cycle count to change when the load cell crosses that value. I understand the Pt2Pt crosses at zero, but the stipulation for the crossing of this vi, "0", is what I want to change. I want it to cross at my offset (-.043, or whatever the case may be), since that is my true "zero" in relation to the behavior of my load cell voltage.
    I think you're not following my train of thought.  What you want to do is make a copy of the data (i.e, create a wire branch).  On one branch, you will do the crossing calcs.  On the other branch, you retain the actual data.  On the crossing calcs branch, you will subtract out the offset so you can use the Pt2Pt without modifications.  On the other branch you have your original data.  There should be a direct correlation between the two.  You should now have a record of both how many times it crosses and where it crossed.
    Bill
    (Mid-Level minion.)
    My support system ensures that I don't look totally incompetent.
    Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

  • Problems with global variable!!

    Hi!
    I am using some cluster (global variable), and certain fields in the cluster don't be updated.I can't understand where is the problem, because some fields are updated correctly and others no!!
    Any idea?
    Thanks in advanced!!
    Graci

    A functional global acts as a global variable in that it allows LV applications to access the data from different parts of the vi or from different vis for as long a LV is running. The vi is set to not be reentrant so that race conditions are avoided. Since functional globals are subvis that you write you also have the ability to store many global variables which are dependent upon only one input by performing the calculations within the functional global vi. You can certainly achieve this by using semaphores, but with functional globals this synchronization is built in.
    In the functional global vi you have a while loop which is set to stop after 1 iteration. This while loop has a shift register which holds the global data. There is a cas
    e structure to determine whether to read or write the functional global variable. In the write case the data from the input is written to the shift register on the right side. In the read case the data from the left shift register is written to the output and also passed on through to the right shift register. A good example can be found at the following link.
    http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=B45EACE3DB4956A4E034080020E74861&p_node=174821&p_submitted=N&p_rank=&p_answer=&p_source=External

Maybe you are looking for