LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Shared variables multiplexing

Hello

I'm a newbie in LabView and English is not my native language, so... you know..

 

I'm re-making a SCADA project in LabView.

I have three equal devices, each of them has about 100 process points.

I want to display process points related only to one device at a time.

In SCADA I have some sort of mutliplexing - it allows me to access tags depending on value of another tag.

For instance in Genesis32: I have temperature tags of three devices: Oven1_T, Oven2_T and Oven3_T. I declare an alias Oven_T, add Oven1_T, Oven2_T and Oven3_T as possible values, and make the alias depending on "theme" - a name of current device.

In the display I put a control bounded to Oven_T and the runtime substitutes the alias with one of the values. I can change the "theme" anytime I want and system re-substitutes Oven_T again.

So, I need to make one display only.

 

I worked out a solution in LabView: I declare a bunch of shared variables bounded to an OPC server (Oven1_T, Oven2_T, Oven3_T). Then I declare shared variables (Oven_T) for one device only and write (in background cycle) the former variables into the latter depending on another variable.

In other words I made a multiplexer. Then I use my shared variables in a panel that shows state of current device.

The solution seems to work, but maybe there is more natural approach in LabView?

0 Kudos
Message 1 of 3
(2,385 Views)

Hi wb,

 

you should be able to access OPC values using datasocket functions. When using datasocket you will use a string to name the OPC address. And strings can be manipulated using the same approach as in your SCADA system to reference different OPC targets!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 3
(2,370 Views)

Thanks, GerdW

I'll try it

0 Kudos
Message 3 of 3
(2,349 Views)