05-21-2014
04:26 AM
- last edited on
04-22-2025
01:09 PM
by
Content Cleaner
We are in the process of developing a LabVIEW application that is supposed to communicate with a 3rd party custom application running on the same PC.
We have been asked by the 3rd pary developers on what mechanism to be used for this implementation.
Here is an article recommended by NI Applications Engineer: http://www.ni.com/white-paper/10060/en/
The article is dated March 2011.
I am wondering if there are any better mechanisms in recent versions of LabVIEW that allow efficient communication with 3rd party applications.
05-21-2014
04:47 AM
- last edited on
04-22-2025
01:09 PM
by
Content Cleaner
If you are using Windows you can use DDE (Dynamic Data Exchange) to exchange infomation between applications: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LMUSA2&l=en-US
David
05-21-2014 10:46 AM
The question is in what regard you need something better than the options you already identified. I guess this heavily depends on what your and the 3rd party's applications are doing.
You will have to analyze that.
Cheers
Edgar
05-22-2014 04:35 AM
Edgar,
My LabVIEW application will be running in the background
- waiting for commands from the UI application (not written in LabVIEW and running on the same PC)
- communicating with the hardware to collect data, analyse the data
- send the result (few data points) back to the UI application
I have partial success with DLL and might be very close to the solution.
Here is what I have done:
- Driver VI - Uses DLL provided by the hardware manufacturer. Driver VI works successfully with the hardware.
- Driver DLL - Converted Driver VI to Driver DLL.
- Main VI - Used Driver DLL (to simulate another application). Main VI works successfully with the hardware. But, closing the main VI crashes LabVIEW.
- Main EXE - Created EXE from the Main VI. Sadly, the EXE does not communicate with the hardware at all neither throws an error.
So, you see there is a "Hardware DLL --> LabVIEW DLL --> LabVIEW VI (works but crashes when closing VI)"/LabVIEW EXE (does not work at all and no error pops up).".