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.
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.
02-16-2012 04:54 AM - edited 02-16-2012 04:57 AM
My question concerns the methods that are available for a VI referenced through ActiveX.
I am specifically interested in the "Run VI" method, which appears in Labview when using Open Vi Reference, then Invoke Node.
In particular, this "Run VI" method has a "Wait Until Done" parameter that I need to set.
In Labview, I manage to set this parameter and run the VI in the background (see first attached picture).
Now, I get confused when referencing this VI through ActiveX from /outside/ of Labview (Matlab in my case).
According to Matlab (see second attached picture), the referenced VI has a method called "Run", but not "Run VI".
This command does run the VI, but I cannot see any "Wait Until Done" parameter. In fact, there is only one parameter listed (it appears as Run(handle, Variant(Optional)), which means that aside from the object itself, there is only an optional Variant value).
(I have highlighted the method in green in the second picture).
Actually, when looking at the methods listed in the Matlab picture, it appears that many are different from the ones that are accessible in Labview through the Invoke Node.
Is this normal ? If yes, how can I set the value of the "Wait Until Done" parameter for the "Run"/"Run VI" method through ActiveX from outside of Labview ?
Solved! Go to Solution.
02-16-2012 05:06 AM - edited 02-16-2012 05:07 AM
I have attached a png file of how I use this method. To obtain the vi reference use the open vi reference.
Hope it helps.
02-16-2012 05:11 AM
sorry misread your message slightly,
02-16-2012 08:39 AM
Is it normal? Yes. Why? Because the first method isn't ActiveX. It's using the VI Server. Totally different beast. Hence, the interface will be different.
The LabVIEW documentation indicates the actual signature should be:
object.Run([async])
Name | Type | Description |
---|---|---|
async | Boolean | If TRUE, you do not need to wait for the VI to finish running. The default is FALSE. |
I'm not sure why you're seeing the signature as "Run(handle, Variant(Optional))" from Matlab.
02-16-2012 09:02 AM
Thank you !!!
You definitely solved my problem. It works 🙂
I am curious: where did you find this information ? where are these activeX functions documented ?
02-16-2012 10:53 AM
In the LabVIEW Help.