From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Intercommunication Between Programs

What is the easiest way to, when a boolean is set to true, send the "true" to a second prgram in order to start data collection (this would normally be done by a mouse click)? Also, when the data collection is finished, the  second program needs to send a "true" boolean back to the first program to start a timer. The fist program is my labview project and the second is a third party software.

 

Any help is welcome.

 

Thanks,

 

Matt

0 Kudos
Message 1 of 7
(2,703 Views)

That would depend entirely on the third part software.  What interfaces do they allow?  ActiveX?  TCP?


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 7
(2,687 Views)

I don't know the inner workings of the software but I can tell you that it allows remote connection over a network and supports OPC, ModBus, and CanOpen.

0 Kudos
Message 3 of 7
(2,682 Views)

How would you recommend that I do this if the second software was written in labview instead?

0 Kudos
Message 4 of 7
(2,669 Views)
OPC, modbus, CAN, are hardware interfaces. Find the vendor of the software and ask if the program itself supports remote control.

A generic way for control/communication is a program called AutoIT. You can use it to press a button on another program. If it really has an indicator for status, you can poll that.
0 Kudos
Message 5 of 7
(2,659 Views)

If I understand you correctly, the problem is that you did not write the second software but would like to start it using LabVIEW.  Here is one thing you can try:

 

  • See if you can launch the program and have it automatically acquire data (for a set period of time, ideally).  If so, you can simply open it via System Exec VI and have it begin logging on open.

It will be very basic and you won't have a lot of control over it, but it should (at least) get the data collection started.

 

For a more complex approach, you will likely need to contact the manufacturer of the software for more info about trying to communicate with it remotely.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If someone helped you out, please select their post as the solution and/or give them Kudos!
0 Kudos
Message 6 of 7
(2,647 Views)

@MattEntner wrote:

How would you recommend that I do this if the second software was written in labview instead?


If the other program is written in LV you would have several options including standards like TCP/IP. However, to pick a technique I would have to know how the other program was written.

 

For example, you could use VI server to programatically press a button on the other program front panel. Of it the other program is event-driven, VI  server could remotely fire an event to do something.

 

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 7 of 7
(2,605 Views)