02-13-2014 05:51 AM
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?
02-13-2014 06:32 AM
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!
02-14-2014 02:41 AM
Thanks, GerdW
I'll try it