LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

What is the expected execution time for the Invoke Node?

Hi. I have the following setup. One computer has DAQ boards in it and is situated in a remote underground location. The second computer, in the lab., has no direct acces to DAQ hardware. The two computers are link in peer to peer configuration and communicate through TCP/IP. Applications are written in LabVIEW (ver. 5.0, Full development edition). Since once the DAQ computer was operated locally there are lots of applications written that work very well. One easy way to adapte them to the new setup consist in replacing all direct calls to VI's that acces the hardware with VI's that use Invoke Node to call simple VI's on the remote computer that will acces the DAQ hardware. As an example lets imagin
e that in a application a VI that acces a PCI 1200 board is replace with a VI that uses 3 Invoke Nodes, first one to set a value (channel(s) to be read), the second to start the remote VI and the last one to read the result (double or array of doubles). I timed the remote VI that acces the hardware : 14 ms. Than the VI that uses Invoke Nodes : 1300 ms. This is unexpected since Open Application Reference and Open VI Reference were called well before the VI containing the Invoke Nodes starts to execute. IP number addressing is used to avoid any possible name resolution conflict. In VI server configuration I uncheck "strict checking" option. Ping time between the two computers is 1 ms. Than I downloaded an example VI from the NI web page. This VI uses one Invoke Node to read the value of a global variable on a remote PC. Execution time is about 550 ms.
What is the expected execution time (order of magnitude) for the Invoke Node once a VI reference number is provided? In other words how
long a Invoke Node takes to read (or set) a value (one double) on a remote computer?
0 Kudos
Message 1 of 2
(2,630 Views)
As near as I can tell, it takes on the order of (200) milliseconds. I tested this roughly by using an invoke node to set the value of a control on another computer through ethernet network connection. I took a millisecond clock reading on either side of the invoke node and compared. Ping was 1 ms. Obviously, timing will depend on network and computer speed.
0 Kudos
Message 2 of 2
(2,630 Views)