LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Connecting LabVIEW with Other Software

Solved!
Go to solution

I’m interested in learning how to integrate different software tools with LabVIEW, as I often work with instruments that come with their own proprietary software. Normally, I ignore these applications and try to create a simple code to connect all the instruments. However, sometimes I feel that using one of these software tools could make my work easier. Are there any threads, videos, or resources you would recommend on this topic?"

Let me know if you need anything else!

0 Kudos
Message 1 of 5
(335 Views)

First I would say that if there is a way around using their software, use that.  If direct communication or communication via some sort of API is available, use that.

 

Trying to get LabVIEW to interact with buttons/knobs/graphs on someone else's custom software will almost never be worth it.  I have had to use it before only minimally, because the manufacturer's software did have an automation interface but it was barely functional, and there were two things not possible to do with it.  One was essentially telling it to draw a certain box on a graph window but there wasn't a function call in the API to do it, and the other was closing a blocking popup where it wouldn't run any more automation commands until the popup was manually closed.

 

For both of those incidents I used AutoIT, or more specifically the automation interface to AutoIT, "AutoITX".  If the 3rd party application uses standard Windows buttons and the like instead of custom ones it will be easier to control or read data from it.

Message 2 of 5
(290 Views)

As Kyle already pointed out, there is not one right answer to this. It depends heavily on the other application and what sort of remote control interface it can support, if any.

 

Basically that application could contain a TCP server that lets other applications control its functionality through some (hopefully documented) commands.

Or it provides a .Net API to control its functions.

Or it has an ActiveX Automation Server interface.

Or it has a (virtual) serial port interface that another application can talk through.

Or it opens a pipe interface on which it listens.

Or it creates a shared memory space through which another application can communicate to it.

Or it has a file based interface where it monitors a (maybe configurable) location on disk for files to appear and then reads them and interpretes them in some way.

Or it detects smoke signals or some other crazy thing some software developer came up with.

 

But even if it does any of the above, it only is helpful if it is also properly documented. And some manufacturers guard this information like it is some precious metal and only will send you a more or less useful documentation about it for a lot of cash.

 

And if all else fails you can always simulate mouse clicks on screen and do screen capturing and image recognition with OCR to read back the reaction, but that is of course utter madness, and a perfect way to create a maintenance nightmare.

 

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 3 of 5
(239 Views)
Solution
Accepted by topic author Aros

@Aros wrote:

However, sometimes I feel that using one of these software tools could make my work easier. Are there any threads, videos, or resources you would recommend on this topic?"

Let me know if you need anything else!


You can always embed these software onto LabVIEW front panel.  Makes them looks like part of the VI.

You can download Windows API VIs at:

https://forums.ni.com/t5/LabVIEW/How-to-run-an-exe-as-a-window-inside-a-VI/m-p/4096356/highlight/tru...

 

George Zou
Message 4 of 5
(192 Views)

Thank you all, very interesting!

0 Kudos
Message 5 of 5
(164 Views)