LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

deploy shared variables

hi there,


I'm develloping an application using LV 8.2 where I'm using shared variables. everything works fine on the developping PC. When I compile the app into an exe an put it on another PC with the runtime the shared variables simply don't work.

I'm using the shared variables to syncronize data and to plot graphs on different while loops.

I've made a simple example but even this does not work. I've posted it here for any help.

tks
0 Kudos
Message 1 of 9
(3,384 Views)
In your build specifications, under Additional Exclusions, try selecteing do not remove instead of try to remove all.   You may also need to deploy the library progmatically in your program.  YOu can use invoke and property nodes to accomplish this.  see this thread for more info.

Message Edited by Kenny K on 02-19-2007 08:14 AM

Kenny

0 Kudos
Message 2 of 9
(3,374 Views)
tks for the answer Kenny,

I tried not removing unreferenced members like you suggested, but still doesn't work.

I also tried the deploy.library method but it keeps giving me an error:

LabVIEW:  An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

I connected the correct lib path and put 127.0.0.1 on the target IP address.

any ideas??

thanks
0 Kudos
Message 3 of 9
(3,361 Views)
Make sure to specify the ACTUAL ip address for the machine, not 127.0.0.1.  Once I did this, your program ran without errors on my machine.
 
 
Kenny

0 Kudos
Message 4 of 9
(3,347 Views)
tks again for the answer.

Did what you suggested and it worked on my machine. tried it on other machines with run-time and it does not work.

any ideas??

0 Kudos
Message 5 of 9
(3,328 Views)
The ip address needs to be of the computer that the program is running on.  So you will need to get the ip address programmatically to make sure that it can run on any computer.
 
To do this, go to the Data Com > protocols > TCP and wire the string to IP output to the input of the IP to string, with a True constant on the dot.notation input, and wire this to your target ip address on the property node.
 
 
Kenny

0 Kudos
Message 6 of 9
(3,320 Views)
I had already tried to put the Ip address as a control so that the user was able to input the address.

I did what you suggested but even still had no luck.

From my point of view it's a pity because I think shared variables have some key advantages over global. guess I'm going back to global variables....

Adam
0 Kudos
Message 7 of 9
(3,313 Views)

I was able to get your program to work on a computer with only the runtime.

I found this thread, and followed the advice of JamesC.  Basically add the file "NGwrite_imp.vi from "c:\program files\National Instruments\LabVIEW 8.2\vi.lib\variable" in your build specification please add this file as dynamic VI"

also, I had the string to ip and ip to string method is mentioned in the program.  Another key was to wire through all of the error wires.  I ran wires to the top loop and the bottom loop, with 2 different indicators.  Not the best practice, but it provided better debugging.

I added the file dialog box to the deploy library method, so that the user could select the shared variable library.  You can do this programmatically so the user does not have to do this, the dialog box was just faster.

Kenny

Message 8 of 9
(3,308 Views)
I have got it to work!

thanks Kenny for the insights.

Adam


0 Kudos
Message 9 of 9
(3,288 Views)