LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

a question about VI server

Dear all,

I have some confusion about VI server. Suppose I
have two computers, computer A will be used as a client
and computer B will be used as server. A wants to get
access to a VI (test.vi) on computer B. What
requirements should computer B meet?

1). Run LabVIEW?
2). Run test.vi?
3). Run test.vi by open VI reference?

Does computer B should meet all the requirements?

Thanks a lot for your help!

Regards,

Tao Song

Mechanical Engineering Dept.
Univ. of Maryland, Baltimore County
0 Kudos
Message 1 of 5
(2,691 Views)
Computer B has to be running LV or LV runtime and test.vi has to be loaded into memory and be executable (i.e. not broken).

From Computer A you first open a reference to the copy of LV running on Computer B. This means you have to know the name or IP address of Computer B, and the port number that LV is listening to for connections (which is configurable through the Options dialog box, or by editing Computer B's *.ini file directly).

Once you have the reference to the copy of LV, you open a reference to the remote VI (test.vi) by name with a type specifier defining the structure of test.vi's connector pane.

Connect this VI reference to a Call by Reference Node and you can run the remote VI.

Be sure to close all the references when you are done with t
hem as this can cause a major memory leak...

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 5
(2,691 Views)
Dear Mike,

Thanks a lot for your help! I think I understand it
now. Unlike the datasocket which has a separate server
program, for VI server LabVIEW itself works as a
server so it has to be runnig to listen to a port. Am I right?

But I still have doubt that if test.vi has to be loaded
into memory on computer B. If I use property and
method node on computer A, such as FP Open and Run VI,
can I remotely control computer B to load test.vi into memeory
and run it?

Thanks a lot! I really appreciate your help!

Best regards,

Tao
"mikeporter" wrote in message
news:50650000000500000025D20000-1042324653000@exchange.ni.com...
> Computer B has to be running LV or LV runtime and test.vi has to be
> loaded into memory and be ex
ecutable (i.e. not broken).
>
> From Computer A you first open a reference to the copy of LV running
> on Computer B. This means you have to know the name or IP address of
> Computer B, and the port number that LV is listening to for
> connections (which is configurable through the Options dialog box, or
> by editing Computer B's *.ini file directly).
>
> Once you have the reference to the copy of LV, you open a reference to
> the remote VI (test.vi) by name with a type specifier defining the
> structure of test.vi's connector pane.
>
> Connect this VI reference to a Call by Reference Node and you can run
> the remote VI.
>
> Be sure to close all the references when you are done with them as
> this can cause a major memory leak...
>
> Mike...
0 Kudos
Message 3 of 5
(2,691 Views)
You are right. From computer A you can remotely load test.vi and run it on computer B. You have to provide the full path of test.vi, as seen from the B computer. If you provide the path "c:\test.vi" it is the drive c: of computer B where the VI Server is running.


LabVIEW, C'est LabVIEW

0 Kudos
Message 4 of 5
(2,691 Views)
Thanks a lot!
"Jean-Pierre Drolet" wrote in message
news:506500000005000000B2D20000-1042324653000@exchange.ni.com...
> You are right. From computer A you can remotely load test.vi and run
> it on computer B. You have to provide the full path of test.vi, as
> seen from the B computer. If you provide the path "c:\test.vi" it is
> the drive c: of computer B where the VI Server is running.
0 Kudos
Message 5 of 5
(2,691 Views)