LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Datasocket Write Delay Problem in target pc

Hi,
 
I have a program that writes to shared variables in a server machine in the network via datasocket write. This works fine if i run the Vi or .exe in a machine with labview development system, but it don't run (it seams to hung) in a machine without labview development system.
I try to add some additional installers to the intaller (NI datasocket, NI Variable Engine, NI Variable Manager, OPC) without sucess.
It runs ok in the server machine (without labview development system, just the installer).
I make a test vi (attached) and produce an exe to test it:
 
PC1 - computer with Labview developer system
PC2 - computer without Labview developer system (I run an installer with NI run-time, NI datasocket, NI Variable Engine)
PC3 - computer without Labview developer system, with shared variable deployed in variable engine (I run an installer with NI run-time, NI datasocket, NI Variable Engine, NI Variable Manager)
 
The vi only writes to a shared variable (c13515_value) in a library (chLibrary) deployed in PC3 (192.168.10.25). The indicator x-y shows the time taken by the datasocket write vi to run.
The results of x-y running the .exe in the 3 pcs are:
 
PC1:1000ms
PC2:6000ms
PC3:1000ms
 
I cant understand why it takes to long in PC2 (network pc without labview development system).
I need to install some other additional component?
Please can someane help me?
 
 
0 Kudos
Message 1 of 6
(3,205 Views)

Hi,

This behavior seems a bit strange especially if you installed NI Datasocket. I will try to reproduce your problem and I send you the result as soon as possible. Can you send me your VIs?

    Benjamin R.


Senior LabVIEW Developer @Neosoft


0 Kudos
Message 2 of 6
(3,181 Views)

Hi BenjaminR,

The vi used is attached aa.vi additionaly there is only one shared variable "c13515_value" in a library "chLibrary" deployed to variable engine in PC3.

Yes, but this is realy very strange!

I have some news (not good):

I have an application working for some time ago where there are various clients that connects via Datasocket Read to variables in a variable engine in a network server. This is working for a long time, and now the only machine where this is working is in my machine and in the server itself, all other machines stop to work (even machines with Labview development environment). I really can't undestand this. There are no changes in the application or in the network.

This seams to be the same problem related in this thread: http://forums.ni.com/ni/board/message?board.id=170&thread.id=218603   but as there are no changes in the network itself i supose we can disregard network equipment issues.

Smiley Sad

 

 

 

0 Kudos
Message 3 of 6
(3,171 Views)

More news:

When i start the cient program in other computer, the client program in my computer or in the server stops to work also, and only re-start to work a few minutes (let say 5 to 10) after stop the client in the other computer.

During this if i open the variable manager in the server and watch the variables they are in a very strange state: the value is "no value" and the quality is "connecting, disconnected" for all variables.

Smiley Surprised

 

0 Kudos
Message 4 of 6
(3,163 Views)

Hi,

Have you try to use OPC server?

Complete the following steps to configure an OPC server to run remotely if you are using DataSocket with an opc URL.
1. Locate and run dcomcnfg.exe.
2. Click the Applications tab.
3. Select the OPC server from the list.
4. Click the Properties button to display the Properties dialog box.
5. Click the Location tab.
6. Remove the checkmark from the Run application on this machine checkbox and place a checkmark in the Run application on the following computer checkbox.
7. Type the name of the remote computer or click the Browse button to navigate to the remote computer.
8. Click the OK button.
9. Click the Default Properties tab and set the following options.
1. Place a checkmark in the Enable Distributed COM on this computer checkbox.
2. Set the Default Authentication Level to Connect.
3. Set the Default Impersonation Level to Identify.
10. Click the Default Security tab.
11. Click the Edit Default button. Make sure that the computer on which you want to launch the OPC server is allowed to access your computer. This is necessary for the remote computer to call the DSC Module on your computer when supplying OPC values.
12. Click the OK button.

    Benjamin R.


Senior LabVIEW Developer @Neosoft


0 Kudos
Message 5 of 6
(3,116 Views)

As you certainly understood I’m not using OPC Server on this connection.

I'm using others OPC server and all works ok.

Of course i can change the connection string to opc:\\192.168.10.25\National Instruments.Variable Engine.1\ChLibrary\c13515_value but the effect is the same. (this also reaches an old question - as far as i now isn't possible to create an OPC Server with Labview 😞 )

 

 

0 Kudos
Message 6 of 6
(3,062 Views)