LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Network Published Shared Variables in EXE with Runtime 8.6 (should I be using datasocket instead?)

My goal is to eventually have a group of networked computers that are running tests using LabView.  Error conditions will be shared variables that are bound to variables on a single reader/alarm computer.  These computers are all running Windows 2000 with only the runtime engine 8.6 installed. 

 

I am developing my project on two separate Windows 2000 computers that are linked to each other via an Ethernet crossover cable connection.  My project so far is one project containing 2 VIs; a writer VI and a reader VI.  Each VI contains a shared variable and a library.  The writer shared variable is bound to the reader shared variable.  In the writer shared variable properties aliasing is enabled and bind to PSP/URL is selected with the TCP/IP address and path to the reader variable defined.  The shared variables are being network deployed. 

 

I have tried running my project as both VIs and EXEs on my development computers and they work as expected.   When I try running them on my machines with only the runtime engine 8.6 nothing happens.  The EXEs run, but the reader VI only reads a 0 instead of what the writer is sending.  I have tried running both the reader and writer programs on the reader machine and that does not work either.  I have tried building the executable as an installer and including NI Variable Engine and NI Variable Installer and that doesn't seem to make things work either.  I have verified that all of my file locations and paths are correct.

 

Any suggestions?

 

Should I be using datasocket or another method instead of network published and deployed shared variables?

0 Kudos
Message 1 of 6
(3,206 Views)

JordanL,

 

Hello! Using Networked Published Shared Variables like you are attempting to is perferectly fine. My guess is that your .exe's are working on your development machines because the Variable Librarys were allready deployed on those machines from when you ran your code as .vi's. Open up your programs from the project view and right click on the librarys and undeploy your libraries. Now, run your .exe's again and see if they have the same behavior as when you run them on your PC's that only have the run time engine installed. If this is the case, then you'll need to setup your .exe's to deploy the variable libraries when they run. Also, you can check in the Distributed System Manger on your development machines and non-development machines to see if the variables are being deployed and updated.

 

Take a look at this document that talks about Developing Portable Shared Variable Applications.

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ben Sisney
FlexRIO V&V Engineer
National Instruments
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0 Kudos
Message 2 of 6
(3,164 Views)
I tried undeploying my libraries on my development machines and then running my .vi's as .exe's.  The .exe's still worked fine.  I also read the "Developing Portable Shared Variable Applications" document and tried changing the TCP/IP addresses in the alias files on the run time engine only machines.  The .exe's still did not work on those machines. 
0 Kudos
Message 3 of 6
(3,139 Views)

JordanL,

 

Can you see your Libraries and Variables in the Distributed System Manager on your Non-Development Machine? This will let us know if they are being deployed or not.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ben Sisney
FlexRIO V&V Engineer
National Instruments
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0 Kudos
Message 4 of 6
(3,115 Views)
The non-development machine does not have the distributed system manager on it so I can't tell if the libraries and variables are being deployed.  Should it have been installed with the run time engine?  I installed the full 8.6 run time engine.
0 Kudos
Message 5 of 6
(3,110 Views)

JordanL,

 

The Distributed System Manager (DSM) can be included as an additional installer for an executable, or you can download it here:

 

Distribute System Manager for LabVIEW 8.6

 

However, if you have LabVIEW 8.6.1 or 2009 you'll have to build an installer to get it on your other computers.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ben Sisney
FlexRIO V&V Engineer
National Instruments
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0 Kudos
Message 6 of 6
(3,101 Views)