How can you call a LabVIEW VI from MATLAB script?
54 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Deepansh Bhatia
el 28 de Mzo. de 2018
Respondida: NI_OS
el 25 de Feb. de 2020
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 comentarios
Respuesta aceptada
Ahmet Cecen
el 28 de Mzo. de 2018
If you have them both installed this should just work:
!test.vi
5 comentarios
Ahmet Cecen
el 29 de Mzo. de 2018
If this is windows, the following should work:
!start test.vi
Más respuestas (2)
Stefano Franceschini
el 7 de Sept. de 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 comentario
NI_OS
el 25 de Feb. de 2020
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:
0 comentarios
Ver también
Categorías
Más información sobre LabVIEW en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!