General Discussions
Wanting to make an interlock faceplate

I have been tasked to make a standard VTScada template. This will get used in different applications. How it is supposed to function is that it will list all the shutdown conditions and it will display which ones are in fault (easy part). Then when you click on each shutdown it will take you to the faceplate of the device it is connected too. The problem I run into is when trying to have it all parameterized I need it to be able to make a choice on what page to open. Any ideas are welcome

I have been tasked to make a standard VTScada template. This will get used in different applications. How it is supposed to function is that it will list all the shutdown conditions and it will display which ones are in fault (easy part). Then when you click on each shutdown it will take you to the faceplate of the device it is connected too. The problem I run into is when trying to have it all parameterized I need it to be able to make a choice on what page to open. Any ideas are welcome

Jason, without knowing the full context of your project, it is a little vague. But, I hope this is helpful. Let me know if you have any questions.

Here is some example code and pictures for creating a dynamic page jump.

(
  pTagSelection Object<SEL2411, SEL2414, SEL2431, SEL2523, SEL2523AG, SEL2533, SEL300G, SEL311C, SEL311L, SEL351, SEL351_7, SEL351A, SEL351R, SEL351S, SEL3530, SEL3530_4, SEL387, SEL387A, SEL387E, SEL411L, SEL421, SEL487V, SEL501, SEL551C, SEL587, SEL587Z, SEL651R, SEL700G, SEL735, SEL751, SEL751A, SEL787>;
  wName <:"l7dexTxWv":> Text;
)
[
  Title = "IinbjDJpQ";
  Color = "<FF202020>";
  ScaleDisplayContent = 1;
  Bitmap = "Bitmaps\Tiles\Opaque\Slate.png";
  PageBMPBrightness = 1;
  PageBMPTransparency = 1;
  PageBMPContrast = 1;
  PageBMPMirror = 0;
  PageBMPColorize = "<FFFFFFFF>";
  PageBMPTile = 1;
  PageBMPTileScale = 1;
  PageBMPStretch = 0;
  PageBMPMarginTop = 41;
  PageMaintainAspectRatio = 1;
  PageChangeName1;
  PageChangeName2;
  WinFlag = 1;
  PageX;
  PageY;
  PageHeight = 625;
  PageWidth = 490;
  PageMinWidth;
  PageMinHeight;
  PageVWidth;
  PageVHeight;
  PageToolTipLabel;
  IsVic ;

]

Init[
    If 1 Main;
    [
        IsVic = IsVICSession(True) ? 0 : 1;
    ]    

]

Main [
  Title = CONCAT(\GetPhrase(pTagSelection\Variables\IED1Tag\Device)," Operator Page");
  Return(Self);
  PageChangeName1 = pTagSelection\Variables\IED1Page\Value;
  PageChangeName2 = pTagSelection\Variables\IED2Page\Value;

  GUITransform(44, 274, 200, 219,
               1, 1, 1, 1, 1 { Scaling              },
               0, 0          { Movement             },
               PickValid(pTagSelection\Variables\IED1Type\Value == "" ? 0 : 0.001, 0), 0          { Visibility, Reserved },
               0, 0, 0       { Selectability        },
               Scope(\Code, "Library", TRUE)\PageChange(PageChangeName1, 1, pTagSelection\Variables\IED1Tag\Value));
  GUITransform(288, 274, 444, 219,
               1, 1, 1, 1, 1 { Scaling              },
               0, 0          { Movement             },
               PickValid(pTagSelection\Variables\IED2Type\Value == "" ? 0 : 0.001, 0), 0          { Visibility, Reserved },
               0, 0, 0       { Selectability        },
               Scope(\Code, "Library", TRUE)\PageChange(PageChangeName2, 1, pTagSelection\Variables\IED2Tag\Value));

]

Note the

PageChangeName[#]

This is a dynamic variable that draws its value from a tag nested in the linked tags tree.

635ab64e3856b

Note that the second tag is blank, which in turn causes the second link to stay transparent.

635ab8bd0ef3f

If I would added a second tag reference...

635ab97c0ef07

Then another page jump button shows up.
Note: The text on page jump buttons comes directly from the tags they are link to. This is not hard coded.

635ab9c104203

This is all to show that you can use the information in a tag tree to dynamically change your list.
Hope this is useful!

Jason, without knowing the full context of your project, it is a little vague. But, I hope this is helpful. Let me know if you have any questions. Here is some example code and pictures for creating a dynamic page jump. ```` ( pTagSelection Object&lt;SEL2411, SEL2414, SEL2431, SEL2523, SEL2523AG, SEL2533, SEL300G, SEL311C, SEL311L, SEL351, SEL351_7, SEL351A, SEL351R, SEL351S, SEL3530, SEL3530_4, SEL387, SEL387A, SEL387E, SEL411L, SEL421, SEL487V, SEL501, SEL551C, SEL587, SEL587Z, SEL651R, SEL700G, SEL735, SEL751, SEL751A, SEL787&gt;; wName &lt;:&quot;l7dexTxWv&quot;:&gt; Text; ) [ Title = &quot;IinbjDJpQ&quot;; Color = &quot;&lt;FF202020&gt;&quot;; ScaleDisplayContent = 1; Bitmap = &quot;Bitmaps\Tiles\Opaque\Slate.png&quot;; PageBMPBrightness = 1; PageBMPTransparency = 1; PageBMPContrast = 1; PageBMPMirror = 0; PageBMPColorize = &quot;&lt;FFFFFFFF&gt;&quot;; PageBMPTile = 1; PageBMPTileScale = 1; PageBMPStretch = 0; PageBMPMarginTop = 41; PageMaintainAspectRatio = 1; PageChangeName1; PageChangeName2; WinFlag = 1; PageX; PageY; PageHeight = 625; PageWidth = 490; PageMinWidth; PageMinHeight; PageVWidth; PageVHeight; PageToolTipLabel; IsVic ; ] Init[ If 1 Main; [ IsVic = IsVICSession(True) ? 0 : 1; ] ] Main [ Title = CONCAT(\GetPhrase(pTagSelection\Variables\IED1Tag\Device),&quot; Operator Page&quot;); Return(Self); PageChangeName1 = pTagSelection\Variables\IED1Page\Value; PageChangeName2 = pTagSelection\Variables\IED2Page\Value; GUITransform(44, 274, 200, 219, 1, 1, 1, 1, 1 { Scaling }, 0, 0 { Movement }, PickValid(pTagSelection\Variables\IED1Type\Value == &quot;&quot; ? 0 : 0.001, 0), 0 { Visibility, Reserved }, 0, 0, 0 { Selectability }, Scope(\Code, &quot;Library&quot;, TRUE)\PageChange(PageChangeName1, 1, pTagSelection\Variables\IED1Tag\Value)); GUITransform(288, 274, 444, 219, 1, 1, 1, 1, 1 { Scaling }, 0, 0 { Movement }, PickValid(pTagSelection\Variables\IED2Type\Value == &quot;&quot; ? 0 : 0.001, 0), 0 { Visibility, Reserved }, 0, 0, 0 { Selectability }, Scope(\Code, &quot;Library&quot;, TRUE)\PageChange(PageChangeName2, 1, pTagSelection\Variables\IED2Tag\Value)); ] ```` Note the &gt;PageChangeName[#] This is a dynamic variable that draws its value from a tag nested in the linked tags tree. ![635ab64e3856b](serve/attachment&amp;path=635ab64e3856b) Note that the second tag is blank, which in turn causes the second link to stay transparent. ![635ab8bd0ef3f](serve/attachment&amp;path=635ab8bd0ef3f) If I would added a second tag reference... ![635ab97c0ef07](serve/attachment&amp;path=635ab97c0ef07) Then another page jump button shows up. Note: The text on page jump buttons comes directly from the tags they are link to. This is not hard coded. ![635ab9c104203](serve/attachment&amp;path=635ab9c104203) This is all to show that you can use the information in a tag tree to dynamically change your list. Hope this is useful!

That definitely helps thank you! One question I do have is I want it to open a new popup when I click the buttons instead of just updating the current popup, is there a way to make that happen?

That definitely helps thank you! One question I do have is I want it to open a new popup when I click the buttons instead of just updating the current popup, is there a way to make that happen?

Two separate page jumps or hot boxes will open two separate windows. If this is not how it is operating, we may need to get more information from the source code.

Two separate page jumps or hot boxes will open two separate windows. If this is not how it is operating, we may need to get more information from the source code.

I actually didn't see that until today oops. so this is what I have

GUITransform(23, 113, 618, 87,
1, 1, 1, 1, 1 { Scaling },
0, 0 { Movement },
1, 0 { Visibility, Reserved },
0, 0, 0 { Selectability },
Scope(\Code, "Library", TRUE)\PageChange(Concat(Scope(\VTSDB, concat("SpruceLake\Comm Driver\",\shortname,"\cfg_NavDisplay(0)" ), TRUE)\Value,"FP" ), 14,
Scope(\VTSDB, concat("SpruceLake\Comm Driver\", Scope(\VTSDB, concat("SpruceLake\Comm Driver\",\shortname,"\cfg_Navtag(0)" ), TRUE)\Value), TRUE)));

But instead of it opening the new page as a popup it just refreshes the current popup to be the next page

I actually didn&#039;t see that until today oops. so this is what I have GUITransform(23, 113, 618, 87, 1, 1, 1, 1, 1 { Scaling }, 0, 0 { Movement }, 1, 0 { Visibility, Reserved }, 0, 0, 0 { Selectability }, Scope(\Code, &quot;Library&quot;, TRUE)\PageChange(Concat(Scope(\VTSDB, concat(&quot;SpruceLake\Comm Driver\&quot;,\shortname,&quot;\cfg_NavDisplay(0)&quot; ), TRUE)\Value,&quot;FP&quot; ), 14, Scope(\VTSDB, concat(&quot;SpruceLake\Comm Driver\&quot;, Scope(\VTSDB, concat(&quot;SpruceLake\Comm Driver\&quot;,\shortname,&quot;\cfg_Navtag(0)&quot; ), TRUE)\Value), TRUE))); But instead of it opening the new page as a popup it just refreshes the current popup to be the next page

Which widget are you using to open the Popup page?

Which widget are you using to open the Popup page?

All these screen snips together is likely VERY confusing, but I wanted to get it all on the same picture.

635c192479821

This may help show the sequence of data, if you are able to decipher it smile

Also, please check your popup page parameters. This may be the root cause.

635c1a400cb93

All these screen snips together is likely VERY confusing, but I wanted to get it all on the same picture. ![635c192479821](serve/attachment&amp;path=635c192479821) This may help show the sequence of data, if you are able to decipher it :) Also, please check your popup page parameters. This may be the root cause. ![635c1a400cb93](serve/attachment&amp;path=635c1a400cb93)
edited Oct 28 '22 at 7:08 pm
127
9
2
live preview
enter atleast 10 characters
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
With selected deselect posts show selected posts
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft