How can you call a LabVIEW VI from MATLAB script?

50 次查看(过去 30 天)
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?

采纳的回答

Ahmet Cecen
Ahmet Cecen 2018-3-28
If you have them both installed this should just work:
!test.vi
  5 个评论
Deepansh Bhatia
Deepansh Bhatia 2018-3-29
Awesome! Worked like a charm! Thank you so very much.

请先登录,再进行评论。

更多回答(2 个)

Stefano Franceschini
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?

NI_OS
NI_OS 2020-2-25
You need LabVIEW & MATLAB on the same machine installed and licensed.
I'll tested it with LV2019SP1 & MATLAB R2019b:
e=actxserver('LabVIEW.Application');
vipath='C:\Users\NI\Desktop\test.vi';
vi=invoke(e,'GetVIReference',vipath);
!start C:\Users\NI\Desktop\test.vi
vi.Run;
This code works perfect for running a LabVIEW VI out of MATLAB.
See the LabVIEW test.vi attatched as a Snipped:

类别

Help CenterFile Exchange 中查找有关 LabVIEW 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by