EcoStruxure Geo SCADA Expert Forum
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-07-05 05:24 AM
Hi everyone,
I made a mimic where there are two embedded mimics.
My need is to hide a layer of one of the two embedded mimics when clicking on the other embedded mimic via vb.
I don't think it can be done...
So I was thinking of an alternative way, using the "visible" animation of the embedded mimic with a parameter of the parent mimic by writing it from the other embedded mimic on click via vb but I can't write it, I can only read.
Some advice?
Thank you so much!
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-07-11 03:57 AM
1) Create a sub or function in the parent mimic's script editor.
a) This might use the syntax to control the embedded object visibility properties like: Mimic.Layers("LayerName").M_1.Visible
or b) This might modify the parameters sent into the embedded mimic (You can add a parameter to the embedded mimic and use it to control it's internal layer visibility - you need to do this because the outer/parent mimic has to 'poke' the value into it, it cannot see item properties directly).
For example:
sub doit(s)
'The layer on this mimic
set MyLayer = Mimic.Layers("New Layer")
'The name of the embedded mimic as on this mimic
set MyItem = MyLayer.Item("M_1")
'The parameter of the embedded mimic you want to change
MyItem.param1 = s
end sub
You could add the item name as a parameter to the doit subroutine.
2) Edit an embedded mimic and choose an object to add a pick action. Choose script and then see the Mode drop-down.
Select 'Execute code fragment on top-level mimic' and type the name and parameters of the sub or function, e.g. MyFunction( "param1")
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-07-06 08:17 AM
@Jfini Thanks for the reply
The idea you tell me is the one I was trying but I can't write the parameter from the VB script.
"Dim parentMimic As Mimic" I can't write it, "As Mimic" gives me an error...
"Set parentMimic = Parent" I can't write it, what is "Parent"?
I use this syntax to read the parameters:
dim param
set param = TopMimic.Parameters
msgbox(param.LayerVisibilty)
I can't find the way without getting errors to write the parameter...
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-07-07 06:53 AM
I just control the visibility of layers and objects like this.
Mimic.Layers("LayerName").Visible = 1 or 0
you can also control the visibility of objects on the screen embedded mimics name is listed when you view the properties they defailt to M_# and you can rename them if you want.
Mimic.Layers("LayerName").M_1.Visible =
You can also read the status of the visibility of an object.
Dim MyMimicStatus
MyMimicStatus = Mimic.Layers("LayerName").M_1.Visible
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-07-10 12:20 AM
Hi Ivan
i can think of a couple of ways.
1) use the feature where an embedded mimic action can execute script on the parent mimic, and have the script refer to the other embedded
2) use a Registry function to control a registry variable name which all mimics can see
might these help?
Steve
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-07-10 01:51 AM
Thanks Steve for reply.
How can I call a parent script from embedded mimic?
Thanks!
Ivan
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-07-11 03:57 AM
1) Create a sub or function in the parent mimic's script editor.
a) This might use the syntax to control the embedded object visibility properties like: Mimic.Layers("LayerName").M_1.Visible
or b) This might modify the parameters sent into the embedded mimic (You can add a parameter to the embedded mimic and use it to control it's internal layer visibility - you need to do this because the outer/parent mimic has to 'poke' the value into it, it cannot see item properties directly).
For example:
sub doit(s)
'The layer on this mimic
set MyLayer = Mimic.Layers("New Layer")
'The name of the embedded mimic as on this mimic
set MyItem = MyLayer.Item("M_1")
'The parameter of the embedded mimic you want to change
MyItem.param1 = s
end sub
You could add the item name as a parameter to the doit subroutine.
2) Edit an embedded mimic and choose an object to add a pick action. Choose script and then see the Mode drop-down.
Select 'Execute code fragment on top-level mimic' and type the name and parameters of the sub or function, e.g. MyFunction( "param1")
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.