MATLAB Answers

1

How can you call a LabVIEW VI from MATLAB script?

Asked by Deepansh Bhatia on 28 Mar 2018
Latest activity Edited by Guillaume
on 7 Sep 2018
Hey!
I was wondering if I could run a LabVIEW VI through a command/function in MATLAB. I don't want exchange of any data, or anything fancy. I just want to run the VI at a specific time through my MATLAB code. I looked up the net and found this:
e=actxserver('LabVIEW.Application');
vipath='c:\Documents\Test\test.vi';
vi=invoke(e,'GetVIReference',vipath);
vi.Run;
However, whenever I try to run this, I get the error
Error using
COM.LabVIEW_Application/GetVIReference
Invoke Error, Dispatch Exception:
Source: LabVIEW
Description: LabVIEW: Open VI Reference no
longer matches VIs in memory by filename. A
filename is no longer sufficient because the
full name of a VI now includes any owning
libraries.
Error in readColorVI (line 7)
vi=invoke(e,'GetVIReference',vipath);
Can anyone help me around with this error? From what I gather, it seems I need to provide something else along the path of the VI? If so, what is it? Is there any other way to do it?

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by Ahmet Cecen on 28 Mar 2018
 Accepted Answer

If you have them both installed this should just work:
!test.vi

  5 Comments

This idea worked! The VI now runs automatically when opened by MATLAB, but the script still doesn't execute the following code, until I specifically close the LabVIEW window. Is there any way in which the control returns to the statements after !test.vi?
If this is windows, the following should work:
!start test.vi
Awesome! Worked like a charm! Thank you so very much.

Sign in to comment.


Answer by Stefano Franceschini on 7 Sep 2018

hi! i saw this code and I wanted to test it, but when I run the "e=actxserver('LabVIEW.Application');" line, and matlab shows me this error "Error using feval Server Creation Failed: Impossible to find the specific file.
Error in actxserver (line 86) h=feval(['COM.' convertedProgID], 'server', machinename, interface); " Does anyone know how to fix this issue?

  1 Comment

"Does anyone know how to fix this issue?"
Install LabVIEW.

Sign in to comment.