BeeHay Posted February 23, 2014 Share Posted February 23, 2014 Hello again message board! Long time no visit! Just curious, as I am further venturing new landmarks in my SCADA path, if DAQ Factory pages can act as an OPC client? I have seen this in other HMIs and I am just wondering if DF has this capability... Since I have moved on from my last place of employment, I can't "play" around in DF anymore without my key to see if this works or test it out! Also, on a side topic, would there be a way to use indirect addressing to a channel within DF? What I am using now is an item called "Tag Groups" in GE's iFIX software... http://support.ge-ip.com/support/index?page=kbchannel&id=S:KB12688&actp=search Pretty much I can make one screen pointing to "aliased" channels and "load a tag group in the screen" to point to the specific channel(s) on the fly... It is rather nice using these for "templateized screens"... I read your post here -- http://www.azeotech.com/board/index.php?/topic/5249-some-basic-pointers/ -- and it seems that is probably what I am asking about... Thanks again for indefinite help and guru advice! Brandon Link to comment Share on other sites More sharing options...
AzeoTech Posted February 23, 2014 Share Posted February 23, 2014 First, you can always download a 25 day trial! Also, you can always use Express even past 25 days. Everything here will work in Express (subject to its limits, pages, # of channels, etc..) Second, yes, DAQFactory is an OPC client and can read from pretty much any OPC DA server. Finally, no, you can't address channels as pointers, however, you can get around it somewhat using a evalute() or perhaps execute(), or better yet use classes that store string references to channels. For example: class myClass local string pressureChannelName function getPressure() return evalute(pressureChannelName + "[0]") endfunction endclass Then you can instantiate this a few times: global vessel1 = new(myClass) vessel1.pressureChannelname = "pressureVessel1" global vessel2 = new(myClass) vessel2.pressureChannelName = "otherPressureVessel" global currentVessel Then, simply set currentVessel to the one you want to view, and have all the screen components access that object. So, a variable value display of pressure might have as an expression: currentVessel.getPressure() You can then switch between them by doing something like: currentVessel = vessel2 or currentVessel = vessel1 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.