LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Firing Value Signalling Event with Activex

I've been trying to access cluster variables. Recently I learned that you cant do so using .NET Network Shared Variables and I found that people usually do this via Acitvex.

 

Using Activex I am able to run any VI I want and change the values but most of the VIs that I am trying to access have UI Loops and Consumer Loops. Changing the value of a limit manually fires an event that is detected and leads to certain actions that I am interested in. After reading some old KBs I found out that with ActiveX one can't do that.

 

Is it the same in LabView 2015? In some forums people discussed creating a VI within the Activex program that fires the user events, a sort of a layer. Can someone share examples of such VIs?

 

 

0 Kudos
Message 1 of 4
(2,367 Views)

I don't understand what you are trying to do, nor why you cannot do it!  I access Clusters all the time, have no problem with it (I'm partial to Bundle by Name and Unbundle by Name, as it prevents me from mixing up different variables having a common Type).

 

I almost never use ActiveX.  I do have some hardware that provides an ActiveX call to pass parameters into and out of the device, and on rare occasions, I've used it when needing to do something with Excel beyond the excellent capabilities of the Report Generation Toolkit, but that rarely involves Clusters.

 

I use LabVIEW to "run any VI I want and changes the values".  I'm not sure what you mean by "accessing UI Loops and Consumer Loops.  Changing the value of a limit manually fires an event that is detected and leads to certain actions that I am interested in."  I do this sort of thing directly in LabVIEW without problems, but, then, clearly I don't understand what you are trying to do.

 

Can you provide a simple description (or some VIs) to help us understand the task?  You mention ".NET Network Shared Variables" -- is this an important part of your problem?  What are you trying to do?

 

Bob Schor

0 Kudos
Message 2 of 4
(2,334 Views)
Thanks for the reply. Sorry, I wasn't clear in the original post.
 
I am trying to change values via an ActiveX script. I want to define a sequence of operations that would be performed based on the current water levels in the plant in which the VIs run. I am trying to create a general purpose API to manipulate the scada testbed in my lab.
 
Using the Meaurement Studio C# API I was able to access certain network shared variables and read/write to them. Some of the other variables are cluster variables which the NetworkVariable API can't see. On an NI distributed systems manager these variables are called Advanced Type variables and in LabVIEW they are defined as clusters.
 
 
After some elementary research I learned that ActiveX can be used to read and write to VIs as well. I have a VI which I'll attach as soon as I can access a laptop that generated an event whenever a value is manually input on the screen. This event is caught by an event listener which makes desired changes. With ActiveX I am able to change the value of these control inputs but I am not able to generate the events. I believe this is called the value signalling property and is mentioned in this KB
 
 
Thanks 🙂
Download All
0 Kudos
Message 3 of 4
(2,323 Views)

What would you like me to do with your attached pictures?  I can't even see them, they're so small.  Now, if you had attached your VI, I could see the Front Panel, the Block Diagram, all the cases of the Case Statement, ...  Oh, well, maybe someone else has more patience (and a magnifying glass) ...

 

Bob Schor

0 Kudos
Message 4 of 4
(2,295 Views)