System exec call question

I have a vi that I want to call another executable (i.e. excel) using the
system exec.vi. I want to run the called application in the background in
parallel with my vi. When I tried this, I wasnt able to operate my vi, buttons
pressed but there was no resulting action. i assume its because the other
application had control. any suggestions?
chuck

"chuck" wrote:
>>Stu wrote>I hate to ask the obvious question, but did you
have the wait until>completion>set to False? If true, that would have stalled
that data>flow until the>called application completes.>Stu>>Stu,>>I am probably
missing something simple, but I am not sure where you set the>'wait until
completion'. also, I have tried using system exec.vi to call>both a program
that I had built using labview, and also commercial programs>(i.e. photoshop)just
to see if it was my program at fault. Both situations>resulted in a hangup.>>chuck
stu,
thanks, that was it. On the system exec.vi from labview 5 there wasn't an
input for 'wait until completion', but I see it on the labview 6 version.
thanks for the help.
chu
ck

Similar Messages

  • Running Oracle Reports via a client using system.exec call from war file

    Hi all,
    I am trying to deploy a war file application to a J2EE 10.1.3 application server. The deployment successfully completes. However testing the application fails.
    When testing, the application reveals that calling a Oracle Reports 6i client (using a cmd line exec) from the war file returns application errors. The errors we get from executing the call below (using debug statements), creates this error:
    OperatingSystemCmd: cmd = D:\Oracle\Dev6i\BIN\rwcli60 MODULE="CLTMLST" USERID="<userid>/<pwd>@<db>" DESTYPE="FILE" DESFORMAT="PDF" DESNAME="<path>\<pdf filename>.PDF" PARAMFORM="NO" BACKGROUND="NO" SERVER="r6i.world" TOLERANCE=0 ADVCODE="<param>"
    OperatingSystemCmd: Command returned 3
    WrsRunReport: Done executing report
    WrsRunReport: Error running report Return code 3
    Error on Screen is REP-0178 : Cannot connect to reports service.
    However running the same command from a operating system command prompt in windows reveals that the command runs successfully.
    Is there any particular OC4J J2EE settings that are required to get this statement to run properly?
    Any help is most appreciative.
    Cheers
    Rodney

    Hi All,
    From much research and experimenting to get this to work I looked at the java.lang.Runtime class and noticed that seperate processes can be started using this very important Java class.
    The first thing that I experimented with was in regards to seeing the environment OC4J runs against. Using the java.lang.Runtime class I executed a standard "cmd /c set" command in my Windows environment, and noticed that Oracle Application Server uses its own environment and not a standard windows login environment for its OC4J containers. Apache Tomcat on the other hand uses the standard user login environment.
    So to get the application to be able to work properly we needed to override the particular environment the process needed to be able to get it to work. There is a exec command which allows you to override completely the environment for a process you would like to run. This method call does not in any way shape or form change the standard OC4J environment. This was done by executing the same "set" but with the overriden environment. Note that no environment variables from the OC4J container are carried into this new environment.
    Cheers
    Rodney

  • System Exec Hang

    Hi.
    Im programming a application for a analyser. I sample data and stores them via a system exec call to a databaseclient. The thing is that every time I get to the system exec the whole gui stops working until system exec is finnished. This is what I would expect. However when I then moved the system exec to another while loop and sent the data over to the new while loop even this caused the whole gui to hand.
    I then did some research here in the forum and found out that others had the same problem as I. It was in thouse threads suggested that a solution would be to create a second program that would take care of the system exec vi and then communicate with that program thru TCP-vi:s.
    Said and done. I made another program just for the system exec vi and set up a tcp between the two. To my dissmay I found that program #1 still hanged when program #2 executed system exec vi.
    How is this possible? Is there a way around this problem? Im getting desperate.
    (The application is running on a linux system)
    Best regards
    Andreas Beckman

    Hi.
    Zou: I must have some confirmation that the data has been sent. If I wire it false the standard error and standard output will be lost. I have however tried this and it does work if you have a very very smal command line input. But it seemed unstable and sometimes crashed the whole gui.
    Mike: Im using postgresql:s client called psql. If you know anything you can use for linux to hook up to a database let me know. Im quite satisfied with the psql & system exec vi combination just now. Reading data is ok because the user will anticipates a smal load time. But when I sample data in the background of the GUI and it hangs the user thinks the code is crap or the computer running it is too slow. And neither is the case.
    I have looked at the cpu consumption of booth the main GUI and the second program I wrote as well as the system exec vi and they dont use up more than maybe 1.3 % of the total cpu usage.
    All help apprciated.
    Best regards
    Andreas Beckman

  • Why does system exec cause a memory leak to occur?

    Sorry if this has been posted before, but I can't quite figure out why this VI is causing a gigantic memory leak (losing nearly 500K of memory a second). It's a simple system exec call, and I even trivialized everything in order to try and discover the problem.
    Does anyone see a huge problem here? I've tried calling up taskkill afterward as well, though that seemed to make little difference.
    If you don't trust my trivial program (and you probably shouldn't), I've also included the source files for the program - it's a one-line C++ program that returns immediately.
    Any insight is greatly appreciated.
    Thanks!
    Attachments:
    Dilution.vi.zip ‏11 KB

    Try putting a wait - even a 0 second wait - in your loop and see if it makes a difference.  Without a wait, LabVIEW will try to run that loop as fast as possible, possibly so fast that it never yields time to free resources.

  • Question about calling batch file by using the System Exec+.vi?

    Hi
    I have a problem about calling batch file. I know that the system exec is equivalent to "run" in Windows. I called the batch file c:\rtxdos\bs\ch0.bat successfully in the "run" but it didn't work in the LabVIEW program. The dos prompt had an error message "Bad command or file name" and it just happen when I call this batch file in LabVIEW. Why?
    Bill.

    Hi,
    Try to set the "working directory" parameter of System exec.vi to the directory where the batch file is located. It may help.
    Good luck.
    Oleg Chutko.

  • Calling a VI which uses "system exec.vi" with LabVIEW run-time engine as adapter

    Hi,
    My TestStand sequence calls a VI which includes a call to "system exec.vi". When I try to load it in TestStand and if LabVIEW adapter is set to run-time engine, I get an error message "Unable to load Vi...". If I switch the adapter to "Development system", then it works fine.
    Is there any way to use "system exec.vi" in a VI which is called in TestStand with LabVIEW run-time ?
    Thanks,
    Alex
    Solved!
    Go to Solution.

    Hi Alex,
    In you case, you are getting a -18002 error.
    The reason is explained in the following link:
    -18002 Errors in TestStand
    http://digital.ni.com/public.nsf/allkb/D82FEAF0B4BA293A862575710053E252?OpenDocument
    Please have a look at the 2nd reason. This is your case.
    Hope it helps,
    Regrads
    Julien De Freitas / Applications Engineer / Certified LabVIEW Developer (CLD)
    National Instruments Switzerland

  • Why I get an error when I call Snipping Tool with System Exec?

    Hi to everyone, I want to call Snipping Tool from LabVIEW using the System Exec VI, but I always get an error 2; this not happen when I call another executables like calculator or paint; I hope someone can help me or tell me why this error occurs.
    Thanks in advance, I have attached a couple of images of the VI that I have done so far.
    Solved!
    Go to Solution.
    Attachments:
    block diagram.PNG ‏11 KB

    Hey there ;
    I am guessing you are using the command: SnippingTool or SnippingTool.exe, just as you would use mspaint; but it is giving you Error 2; this is a Windows Issue more than a LabVIEW one, ,you can try using command:
    C:\Windows\Sysnative\snippingtool.exe;
    it worked for me; i found this info in the KB below.
    Command Not Recognized When Using System Exec VI
    Good luck

  • System Exec and Call Library Function problems

    I have working c code. The code connects to a server; makes a request; and gets a return.  It works from the command line. In LV there are problems.  If I try running it using the System Exec vi, I get the response I expect but not until the connection with the server is broken. This is unacceptible and not the way it works from the command line.
    If I try to use the Call Library Function Node, the response is even stranger.  I just call the routine that is supposed to connect to the server. It fails.
    I attached the vi's. As you will see, they are very simple.
    Attachments:
    AO call.vi ‏9 KB
    AO connect.vi ‏9 KB

    exo,
    Here is the example Mike was referring to.  Let me know if it helps at all.
    Brian T
    Applications Engineer
    Attachments:
    Calling System Exec.vi ‏31 KB

  • Call an external executable through system exec.vi. Problems:

    I have a executable (Fortran i think). I am using System exec.vi to call it and execute. I write a .bat file to configure the execution. It executes fine, but the executable pops up whenever labview calls it. I want to suppress the executable pop-up. Any suggestions ? Do i need to change this in the .bat file or is there any utility in Labview ? Let me know.
    Kudos always welcome for helpful posts

    Thanks for your reply. I guess I've not explained the problem properly. I run like 10 iterations, for each iteration a window pops up, some calculation takes place and it closes. This happens for 10 iterations. What I want to do is suppress that window from appearing to the front end user. I want all processes taken place in the background.
    Kudos always welcome for helpful posts

  • Using Labview's System Exec.vi, is there any way to send multiple standard inputs to the same executeable console? Or is there a way using Labview to target the window for the executeable and send commands to it at will?

    thanks

    One suggestion is to write a batch (.bat) file that will call your executable. The batch file can contain all the standard inputs necessary to run the executable. Then, in LabVIEW, you can call the .bat file using the System Exec.vi.
    As far as your second question, there is no slick way to do this LabVIEW. You would probably have to call Window API functions using the Call Library Function utility. There is a set of VI's that call some of the standard API functions but I don't think they have what you want.
    http://zone.ni.com/devzone/devzoneweb.nsf/opendoc?openagent&74DDE683A1AFF6988625683A000C0D73&cat=034E59A8530E09DF862568900018707A
    Chris_Mitchell
    Product Development Engineer
    Certified LabVIEW Architect

  • Execution of shortcuts with System Exec?

    Is it possible to execute a shortcut (typical named "Shortcut to nnnn") with System Exec.vi?

    No it isn't because shortcuts are not executable. Shortcuts are files which can be interpreted by the windows explorer.
    You can run a shortcut via the shell execute function. Attached is a VI which will call this function. In "Dateiname" you have to supply the filename with extension. In "Verzeichnis" you have to supply the folder where the file is. You can set the verb to "open" which will run the application and "print" which will cause the application to print the file if it can. "Rückgabe" is the return from the shell execute function.
    You can use each file extension to start the registered application for the file. If you give a file with the name Test.vi you will start LabVIEW in the same way you will start it like you have double clicked th
    e file in the explorer.
    Waldemar
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions
    Attachments:
    ShellExecute.vi ‏114 KB

  • Incomplete behaviour of System Exec VI when part of a LabVIEW web service

    Background
    I would like to execute arbitrary command line commands via a LabVIEW web service.
    Problem
    I have a LabVIEW project (attached) with a VI boot.vi that takes a string as an argument, which is handed over to the System Exec VI.
    This boot.vi works nicely: when I execute it with a string "test", it nicely executes my Ruby program "test.rb" because (i) I put the path of my the directory inside which test.rb resides into my PATH system variable and (ii) ".rb" endings are associated with Ruby programs on my PC. Similary, I can hand over the string "PATH", and it displays my PATH system variable.
    However, if I build and deplay boot.vi as a LabVIEW webservice, the situation looks differently:
    - the URL "http://localhost:8080/serviceManager/boot/PATH" works fine: the content of my PATH system variable is correctly displayed in the browser window as expected.
    - However, the URL "http://localhost:8080/serviceManager/boot/test" does not work as expected. The following error message (coming Standard Error output of the System Exec VI) is displayed: 'test' is not recognized as an internal or external command, operable program or batch file.
    My conclusion
    System Exec VI does make correct use of the search paths in the PATH system variable only when NOT executed as part of a web service. This is the case although even in a web service, the content the PATH system variable is KNOWN to the System Exec VI. Strange!
    Question
    Am I doing something wrong? Or is there a work-around?
    Attachments:
    serviceManager.zip ‏7 KB

    I just wanted to add my experiences to this thread.  We have a similar web application, and in fact it seems like we followed many of the same trials with the Internet Toolkit and G Web Server.
    As of today, I have migrated our GWS/cgi based application to use web services and the LabVIEW 2009 built-in web server.  It was a fairly straightforward move, though I did run into difficulties bridging the gap between our "normal" application instance and that of the web server that holds the web service VI's.
    Now I'm looking to move to LabVIEW 2010 and right away running into some problems.  While our web application has individual pages served depending on the web service called, it also uses a common pool of static web pages.  Typically these would install to the traditional "web root" folder and would be served from there.
    LabVIEW 2010 has the "Application Web Server" set up as a service that starts with the system.  That seems to work fine.  It also hosts its own configuration page through the "System Web Server" on port 3580.  This too seems to work, but has very few configuration options available.
    I have also spotted this article that discusses serving static pages from the Application Web Server:
    http://digital.ni.com/public.nsf/allkb/2D926638796FB20E8625778F00572966
    I believe I can drill down into the web server configuration (.conf) files and set things appropriately, but I think there should be more documentation available from NI describing the configuration options and how to support these in a deployed web application.
    James

  • System exec cmd window

    Hello, first time posting a question!
    I have spent a good while trying to find an already posted answer to this, and looking on the wider web, hope i have not just missed it.
    I am using XP Pro SP3, LV 8.6.
    I am not very familiar with Windows command lines and structures etc. 
    I am using the System Exec VI to start a third party piece of software. I have wired the path in to the path input, and if i wire cmd /c start xxx to the command line terminal the VI will run and start the software application (xxx.exe). As the VI executes the cmd window clunks open and closed. If i run the VI without the cmd /c part of the command then an Error 2 is returned (as widely reported by others).
    Is it possible to open an application without the cmd window opening and closing?
    Using the System Exec VI it is possible to open NotePad just by wiring 'NotePad' to the comand line terminal. Is it possible to place the third party software somewhere, or register it with the OS somehow so it could be started in the same way as NotePad (i.e. without the cmd window flashing up)?
    Thanks...
    Blue 
    Message Edited by BlueTwo on 09-25-2008 09:22 AM

    Hi Thoric, thanks for the suggestions, Success!
    I tried the True boolean to the Run Minimized, but it did not help.
    Changing the Environment Path string to include the path to the directory containing the application did work (once i had worked out the syntax).
    On to the next problem....
    Cheers,
    Blue 

  • System exec, How I say to open one file and make operation in external program?

    Hi,
    I got called an external program with the system exec.vi, but i would like the program open the file saved in the other window, i can get the file path, but how Can I put the file path in the external program and the program open the file and I tell (in this case compile), since i open one file code c and only i must to open and say to the program 'compile' and then close external program.
    Any help?. Thanks.
    Attachments:
    system_exec.GIF ‏8 KB

    Hi Fonsi,
    System Exec.vi will allow you to run commands like launching a program easily but it is difficult and many times not possible to execute commands within an application.
    A better way maybe to approach this though ActiveX. Please look at the following example that uses ActiveX to communicate with Excel.
    Writing Rows to Excel 97 and Excel 2000 Using ActiveX
    If you are not familiar to ActiveX and LabVIEW, please read the document below:
    ActiveX and LabVIEW
    I hope this
    helps.
    Sincerely,
    Feroz
    National Instruments

  • System Exec error message help

    I have a piece of code as shown in the attached jpg.  And I have it deployed just as shown, without the error cluster being wired.  I use this piece of code to ping a server to see if it's there, meaning to see if it responds with a correct ping response.  If so, I then move forward with writing a data file to that server that I write every half hour for days or weeks at a time.  If the ping response is not correct, I simply go on and return one half hour later with even a larger (appended) data file to write.  My main intent is to not have my code sit and wait, trying to write a file to a server that might not be there...  
    I've used this same code and technique for years without fail.  Until recently.  When it did finally fail, I got the worst of all possible outcomes where the ping command itself caused my code to hang with error messages I will provide shortly.  And I'm hoping someone can tell me what would even cause a message like those below in the first place...  The entire goal of using this ping of the server was to avoid having the "write file" command get held hostage by the server not being there...  But if the ping command itself causes the code to put up error messages (and no one is there to monitor this typically) then that constitutes a situation where my cure became my problem.  
    See in the jpg where I use
    ping -w 200 -n 1
    followed by the name or IP address of the server.  (that's what comes out of the "ping" control you see in the jpg).
    The -w 200 modifier is a 200 ms timeout to wait.
    The -n 1 is the number (1) of echo requests to send.
    When this code fails, it puts up, in sequence, four messages like the one below.  Note that this code is running from an executable that would be found on this Windows XP machine at
    C:\Documents and Settings\xxxxuser\My Documents\my_executables\
    The first of the four messages, each of which you have to click OK to to see the next one, is as follows.
    The file C:\Documents and Settings\xxxxuser\My Documents\my_executables\-w could not be opened.  No application was found to open that type of file
    The second message is identical to the above except the "-w" is replaced by "200" (without the quotes).
    Same with the third message except the "200" is now replaced by "1" (without the quotes).
    Same again with the fourth message except the "1" is now replaced by the full name of the server, eg., "myserver.abc.com" (without the quotes).
    Clearly the System Exec.vi (see that in jpg) is parsing up the ping command, but skipping over the "-n" component(???), and it thinks it's supposed to try to open some non-existent file at the same file location as the executable that is executing my code.  
    I get this result rarely so it's hard to figure out what's going on.  Anyone have any ideas what might cause such an error and any hints on how to prevent this show stopping error from occurring???  Do I perhaps just need to practice better programming and wire the error cluster on System Exec.vi???  
    Any thoughts or help would be much appreciated...  thanks.. bob.. 
    Attachments:
    ping pic.jpg ‏19 KB

    It appears to me that your ping command is getting mangled on its way to the command shell, like something is interrupting it or trying to run at the same time.
    When it says the executable cannot be opened, I believe that is because it's trying to process that character or string as its own separate command, instead of as a flag of your ping command.
    I don't know why that would happen or what outside program could be interfering with your call to the command shell.
    I do think that Wart's suggestion is a good one: the cmd /c part should send the command through a slightly different channel that may preven this interference.
    Chris
    Certified LabVIEW Architect
    Certified TestStand Architect

Maybe you are looking for

  • ILife 08 iMovieLack of Video Effects

    I loaded iLife 08 and like many of the features but it is a big step backwards especially in iMovie. A few issues are: When finished iMovie, the requirement is to export the movie to desktop and then import to iDVD 08. This seems to be the only way t

  • Audio samples on BBC Radio 1 Top 40 charts not working in Firefox

    Hi.. I'm having trouble playing music samples on the BBC Radio 1 UK Top 40 web page: http://www.bbc.co.uk/radio1/chart/singles There is a play icon for each song but when pressed, an exclamation mark appears. This happens for all the songs. I've trie

  • Problem with dropdownbyKey

    Hi All , I am using one dropdownbykey element in my screen. If I deploy it blank is coming as default element in the list but i want my first element to be default element. Thanks in advance.

  • Mandatory field for TIN No, or  Contact Person

    HI Expert,                  Can anyone please tell me code for Mandatory field for TIN number or Contact person  at the time of adding Purchase Order.its possible by SP i tried for it but its variable so pls anyone have any idea. Sudhir

  • W530 Solid State Hard Drive compatibility

    Is my Lenovo W530-2436-CTO compatible with a Samsung 1 TB 840 EVOSolid State Hard Drive? Solved! Go to Solution.