Push Custom Property value from one graphic to another

I am using a Push Button industrial graphic - and using Show Symbol animation to open a popup graphic in SP2023R2.

I am trying to optimize the use of Single graphic and replace the tags dynamically instead of creating duplicates of the same graphic with different tags.

i.e. In Intouch Window 1, I click Push button - it displays popup with Tag 1 tagname + value, Tag 2 tagname + value.

The same button if I open in a different window (Window 2), it displays Tag 3 tagname + value, Tag4 tagname + value.

When trying Show Symbol, it does not allow a Custom Property name within the "Reference" section. It is looking for a Graphic name (either General or instance).

I would like to know if the above scenario is possible either through Show Symbol or Show Graphic.

Also, Is it possible to set Custom Property value of 1 graphic from another graphic?

  • To communicate between symbols you need to use InTouch memory tags, as with OMI using a Namespace.
    And with InTouch for System Platform you could get an object involved in hosting data that you reference.

    Embedded graphics can be accessed using references but if you dynamically show windows with symbols it will not work.

    But as you mention, you can use Show Graphics to set references or values on a opened symbol using scripting.

    Please see the below example on how to do this.

    You will find this better described in the help documentation as well.

    I hope it helps

    dim ActiveGraphicName as string;
    Dim gh As aaGraphic.GraphicInfo;
    'some examples of settings you could use to modify the symbol
    'gh.WindowType = aaGraphic.WindowType.Modal;
    'gh.WindowLocation = aaGraphic.WindowLocation.TopLeftCorner;
    'gh.WindowRelativePosition = aaGraphic.WindowRelativePosition.Mouse;
    'gh.HasTitleBar = FALSE;
    
    'here is the way to setting CustomProperties
    dim cpValues[2] as aaGraphic.CustomPropertyValuePair;
    cpValues[1] = new aaGraphic.CustomPropertyValuePair("MinValue", EngUnitsMin, True);
    cpValues[2] = new aaGraphic.CustomPropertyValuePair("MaxValue", EngUnitsMax, True);
    gh.CustomProperties = cpValues;
    
    gh.Identity = "MySymbol";
    gh.GraphicName = "MySymbol";
    ShowGraphic(gh);