Allrighty, So after some more of my own research, I have configured our galaxy as a remote tag source (with the help of the help file in Intouch) but for the life of me I just cannot find the answer I am looking for. So to simplify things,
all I need to do is simply write a value to a tag in one application, and read/write to that same tag in a different application.
I didn't think this would be such a hassle to be honest (but then, when is it ever as easy as we think?
). So I believe my assumption that you have to use the access name of galaxy, for whenever I select a tag from the galaxy tag source, all I get in the left panel are the deployed applications and viewengines, and when I look inside of them for tags, all I find is diagnostic information about that individual object, stuff like scan time, deployment status, etc. I just want to see a specific tag that is within the application, but none of those seem to be showing up.
Here is the code I am writing:
This code will be sent out in the applications running on the thin clients out in the plant. It basically sets a tag value "NodeName"Heartbeat back to 0.
DataChange Script: $Minute (so it executes every minute)
Code:
{This defines ClientID and RunningOnClient as variables local to only this QuickFunction}
DIM ClientID AS MESSAGE;
DIM RunningOnClient AS INTEGER;
{This sets the value of ClientID and RunningOnClient, where ClientID is equal to
the node name of the computer/thinclient that Windowviewer is running on, and
RunningOnClient is hi if the application is running. A little redundant, but hey, you never know.}
ClientID = TseGetClientNodeName();
RunningOnClient = TseQueryRunningOnClient();
{This will set the value of the tag "NodeName1"Heartbeat to 0}
IF ClientId == "'NodeName1'" AND RunningOnClient == 1 THEN "NodeName1"Heartbeat = 0;
ENDIF;
This code is the code that will run in our engineering application. It basically increments the heartbeat, and if the heartbeat reaches a certain threshold, we can assume the communications to the node have failed.
DataChange Script: $Minute (So it basically runs every minute.)
Code:
{This increments the heartbeat. When the heartbeat reaches 4, the HIHI alarm of the tag
is triggered and sent to the alarm viewer."
"NodeName1"Heartbeat = "NodeName1"Heartbeat + 1;
I have tested the script locally, and it works exactly how I think that it should. The only piece I am missing is that it doesn't work across applications. I can reset the timer but only for my own node, not for others when I activate it for others. And as I increment both, it is only updated in the one i have manually updated. I need it to increment the same across all applications, and be set to zero across all applications as well. I am driving myself crazy because I think that this should be simple, but I am just not getting it, I suppose. After that clearing up, hopefully someone can point me in the right direction on how to set up a tag to be read/written to by multiple applications at once. I would greatly appreciate it, truly.
Sincerely,
Conor