LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VI server LabView 8.0

Smiley SadI'm realy desapointed....
How I'm suppose to find how VI server works in LabView 8.0???
 
I used it in LabView 7.1 with no problem. But I dont know why, but VI server doesn't work the same way in LabView 8.0.
 
May somebody help me???
 
Here is the code.
I start the server and the client. The client use the Get Set.vi with VI server to exchange data with the server.
When build, The Server could run in a distant machine and the client could access to the server by the Get Set.vi.
 
Look at the code, and please tell me what I did wrong.
 
For now, the only things that i can found is the Path or the string that point to the Get Set.vi.
 
Try my code and try to figure it out.
 
Thanks to anybody that try to help me.
 
Benoit
Benoit Séguin
Software Designer
0 Kudos
Message 1 of 9
(3,328 Views)
Did you check your server settings in the tools/options?

0 Kudos
Message 2 of 9
(3,302 Views)

When you use the project manager in LabView 8.0, you set the server setting in the porject. But I try with the older methode and it's doesn't work.

Did you try the code?

 

Benoit

Benoit Séguin
Software Designer
0 Kudos
Message 3 of 9
(3,295 Views)

Another thing you might try besides the VI server settings is that you have the fully-qualified VI name in the string control on the client.  In this case it looks like it would be:

Get Set.lvlib:Get Set.vi

You can get this pretty easily by just dragging the VI from the project window into the string control on the client VI.

Hope this helps!

0 Kudos
Message 4 of 9
(3,282 Views)
Can you elaborate more on that, i dont realy understand what you are saing. It's look to have a lots of sense, but I dont understand.
 
Thanks
 
Benoit
Benoit Séguin
Software Designer
0 Kudos
Message 5 of 9
(3,273 Views)

I no longer have your VIs in front of me, but the idea is this:

In LabVIEW 7.1 and earlier, VI Libraries (LVLIB) did not exist.  A large part of the reason for creating VI Libraries was to address namespacing issues, so you could actually have two VIs with the same name in memory at the same time, provided they are in different libraries.

Similarly, to address a VI by name in 7.1 and earlier, you only needed the name of the VI.  In this case, that would be "Get Set.vi".  Since it is in a library in 8.0 called "Get Set.lvlib", the fully-qualified name is "library name:VI name" -- "Get Set.lvlib:Get Set.vi".

So make sure your client VI has that string (just drag the Get Set.vi from the project window into the string control) and is set to use the string and not the path, and hopefully that will solve the problem.

Message Edited by Jeff B on 02-03-2006 08:16 AM

0 Kudos
Message 6 of 9
(3,269 Views)
OK, But the real problem, is when I'm creating the .exe application Server. I send my problem to an ingeneer at Ni and here is his answer.
 
 

First of all, I've managed to successfully call a VI dynamically that is

being called as a subVI in a built application from another built

application using LabVIEW 8, which I believe is what you want to

accomplish. So this is possible. The path reference has not changed from

LabVIEW 7.1 to 8. You still reference the subVI as

C:\...\Application.exe\subVI.vi.

I then tried taking sequential steps to find out what in the process is

breaking this communication. I started by embedding the subVI to be called

dynamically into a Project Library and rebuilding all the executables. The

result still worked. After that I tried embedding the Server VI that

contains the subVI into a separate Project Library. After rebuilding the

exact same application, but with the new library structure, the VI Server

communication failed. I believe, therefore, that we are getting some

conflicting information when we start including these VIs into Project

Libraries. I also noticed with your application that at times the

Client.exe application still seemed to be referencing the unbuilt version

of Get Set.vi at its original location, even though the path was clearly

set absolutely to be Server.exe\Get Set.vi. I'm not sure if this is because

of the Project Library format as well.

I will escalate this issue to find out exactly what is going on. In the

meantime, you can achieve this functionality for now by not embedding the

Server VI in a Project Library. If you rebuild the application without

Project Libraries, the VI Server communication succeeds.

 

 

Benoit

Benoit Séguin
Software Designer
0 Kudos
Message 7 of 9
(3,266 Views)
I do not see any problem with using libraries.  I apologize for not looking at this as closely as I should have initially.  I had not built the applications from your VIs, nor had I tried them communicating from one PC to another.
 
Starting with the ZIP file attached in your first post, here is what you need to do to get it to work.
  1. Build both apps from the project (I did not build the installers, I just ran the EXEs on machines that already had the LV RTE already installed).
  2. I'm not sure why, but the application builder doesn't seem to set the access list properly in the server EXE's INI file.  Try enabling VI Server TCP access and allow access to * from Tools - Options in LabVIEW, then copy the line that starts "server.tcp.acl=" to your Serveur.ini file.
  3. Launch the Server EXE.
  4. On another machine, launch the Client EXE.  Enter the machine name, enter the string name of the VI in the top box as (without the quotes) "Get Set.lvlib:Get Set.vi", and click the "String" button.

This worked great for me.  Really the part that took some digging is step 2.  The other part that I was previously trying to explain was just making sure you included the library name in the name of the VI in step 4.

0 Kudos
Message 8 of 9
(3,239 Views)
Hello Benoit,
I had the same problem as you did, VI server worked in Labview 7.0 but not in Labview8.0.
My problem was fixed by disabling TCP-IP in the VIs Tools/Options/VI Server:Configuration, then Click on "My Computer" within the Labview project.
Next right clicking HERE, go to Properties and enabling TCP-IP within VI Server: Configuration.
My port = 3363 default.


Hope this helps
Frank
0 Kudos
Message 9 of 9
(3,039 Views)