LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Control a LabVIEW GUI exe from LabVIEW

I have a vendor supplied LabVIEW.exe application, it's used to control a device that's part of an automated manufacturing process.   At present we need to manually run the exe from the control PC , read data, make a decision, then input a few values, button clicks etc.   I'd like to automate this step.  Without having the source code for the application, what options do I have for controlling this application from LabVIEW?

 

I tried using System Exec.vi, but I got beat when I needed to right-click on a graph indicator to retrieve data.  LabVIEW applications don't accept SHIFT+f10 for right-click.

 

What other methods can I use to communicate with this application?

0 Kudos
Message 1 of 9
(3,656 Views)

Hi bmann,

 

did you ask the vendor? They should know the answer to your questions… 🙂

 

To control other (LabVIEW) executables you need some kind of communication protocol. LabVIEW allows a lot of communication ways - but they have to be enabled in the exe. Unless the vendor tells you the information about it you will likely have to play trial-and-error.

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 9
(3,648 Views)

the vendor may offer support, but it's not certain.

 

do you know of any communication methods in the exe that would be enabled as default?

0 Kudos
Message 3 of 9
(3,643 Views)

@bmann2000 wrote:

the vendor may offer support, but it's not certain.

 

do you know of any communication methods in the exe that would be enabled as default?


If the vendor doesn't support their software, then raise hell, all the way to the top if necessary. No company CEO wants to hear about unhappy customers, especially since in a case like yours the software supplied does not meet your (reasonable) requirements and the cure for the problem is so trivial (include output data from graph in an indicator/to a file/etc.).

 

Cameron

 

To err is human, but to really foul it up requires a computer.
The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
Profanity is the one language all programmers know best.
An expert is someone who has made all the possible mistakes.

To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):

LabVIEW Unit 1 - Getting Started</ a>
Learn to Use LabVIEW with MyDAQ</ a>
0 Kudos
Message 4 of 9
(3,635 Views)
On the other hand, if the specifications that you provided to the software vendor did not include these requirements, then the vendor would be quite reasonable in asking for additional money to make the changes. You should also have required that the source code be provided.
Message 5 of 9
(3,626 Views)

@Dennis_Knutson wrote:
On the other hand, if the specifications that you provided to the software vendor did not include these requirements, then the vendor would be quite reasonable in asking for additional money to make the changes. You should also have required that the source code be provided.

Of course, this is true. I was making an assumption, that since the OP has experience in LabVIEW, these sort of things had already been taken into consideration by the buyer.

 

Would source code normally be provided when someone purchases an EXE? If there are proprietary pieces in there (algorithms, etc.), I thought it would be more common for the vendor to just provide hooks to the control and data functions.

 

Cameron

 

To err is human, but to really foul it up requires a computer.
The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
Profanity is the one language all programmers know best.
An expert is someone who has made all the possible mistakes.

To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):

LabVIEW Unit 1 - Getting Started</ a>
Learn to Use LabVIEW with MyDAQ</ a>
0 Kudos
Message 6 of 9
(3,603 Views)
You make a good point. When I've done contract work, I've provided all source code that was created especially for the project. Existing code that was proprietary was excluded. All of this needs to be detailed in the contract. It sounds like the op does not access to the block diagram or project. This is unusual on my experience.
0 Kudos
Message 7 of 9
(3,589 Views)

assuming the vendor cannot supply the source, or provide a new build with hooks.  one other option would be to use desktop execution trace toolkit to monitor the comms between the application and the hardware, reverse engineer the comms and create my own code to read/write to the hardware.  is there any wisdom to be shared on the reverse engineering approach?   I've noticed I can export data from graphs using a right-click, so that's one tip to start us off.

0 Kudos
Message 8 of 9
(3,574 Views)

Might this be an application for AutoIt or AutoHotkey?  I've seen threads suggesting these as valid solutions for GUI manipulation.  I've never used either...

Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

0 Kudos
Message 9 of 9
(3,545 Views)