LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

c calling to vi

I've designed a FPGA VI, with its coresponding  Host VI that is working well.  I needed to interact with the VI from a C language application.  So, I used LabView's Application Builder to build a shared library (DLL).  From my C code I use the LoadLibrary and GetProcAddress to make calls to my Host VI within the DLL.  Functionally, everything works, i.e. I can control the VIs via my C application. LoadLibrary is called only once to load the dll.

However, for the application in which this is being used, the Host VI method within the DLL that the C code calls takes too long to process.  Through debuging, I found that the Host VI method takes about 0.4 seconds to return.  I actually went in and created a Host VI method that does nothing, just to prove that it wasn't the Host VI doing some work that was hogging the time.
This is using NIRIO 3.x.x.
When I use NIRIO 2.1.3 the call returns in a very short time (50msec for example).
I can't use NIRIO 2 anymore because it doensn't support windows 7-32 or 7-64, for example.
How can I solve this?
Compilers are Visual c++ 8 and Labview 8.2.
Best regards
Phil Salamone




0 Kudos
Message 1 of 1
(2,263 Views)