I have a pump Group Template and there are 4 valves that belong with each pump. In the pump Group Template I have a detail popup that opens when you click on the pump and shows a more detailed screen of the pump, its alarms and associated valves. The valves are not part of the pump Group Template, the valves have their own valve Group Template and the instances are in other Groups.
This works for the first pump that it was made with but the detail popup always has the same valve Group Template instances, the valves that it was created with. So when you make a new pump Group Template instance for pump 200 it’s popup always has the valves for pump 100.
It seems like the options are:
Don’t make the pump a Group Template so you can make changes to the detail popup and embed the correct valve instances that belong to the pump.
Create the valve instances of the valve Group Templates inside the pump Group Template. I don’t see a way to rename the valve instances that are part of the pump Group Template when a new pump instance is created. Also, the valves are already different group folders and would not want to move them into the pump group.
Don’t make the pump detail popup Screen/Mimic part of the pump Group Template. Create it after making each pump Group Template instance. You have to make a new pump detail popup Screen/Mimic and put the correct valves on it for each pump Group Template instance. Not sure I can make the Hyperlink pick action from the pump to the popup Screen/Mimic that is not part of the pump Group Template.
Is there a way to make the valve instance Mimic path dynamic inside a Group Template? I wish I could put a parameter in there or something. Even being able to edit it would be handy.
What you're trying to accomplish is a fairly common task. When you embed things from the template, ensure that they're embedded with a relative path. If done properly, at each instance it'll be configured to look and act as the proper valve. If you can't get it working properly, do a double then triple check of how the animations/parameters are configured on the object.
Lastly -- you can always edit things at an instance level if you enabled property overrides for Document Content, but more often than not you don't want to do this since you now lose your ability to manage and maintain objects from a single location.
Not sure I follow. I have a pump template and I've placed a valve template inside of it, on a mimic. It has a remote reference but it's to the valve template that is outside of the pump template. So when you make a new pump template it has a little rectangle for where the valve should go but it's still pointing to the other pump templates valve. I don't see how to tell it to point to the new pumps valve template.
I'm guessing the only way this works is if you have both templates in the same group and that group always has a template called “valve”. Then the pump template will have a mimic with an instance pointing to “valve” in the same group. But my problem is the valves have actual names with EQ numbers and they're not inside the same group.
You're making it a bit tough for us to follow along at home...
Templates cannot exist within other Templates. So you likely mean Template Instance at some points here.
Templates are not graphical, so you can't "placed a valve template... on a mimic", you possibly mean that you have an embedded mimic referencing either a mimic in a Template, or in a Template Instance (and it's very important the distinction between which one).
Remote references would imply a reference to a different ClearSCADA System, but you've only mentioned a single system, so you likely mean Relative Reference (or Absolute Reference.. who knows at this point).
If you have uniquely named Template Instances, then this will always be a problem, and there's no real way to solve this. Since they need to be named differently, then you can't have any configuration where ClearSCADA / Geo SCADA will just 'know' the name of the Template Instance that you are thinking of.
So.. the solutions are:
1. You have Templates which represent the pump/valve assembly and contain Template Instances for each valve position in the assembly (i.e. the Valve Template Instances would be named the likes of 'Inlet Valve', 'Outlet Valve', 'Bypass Valve'). Then when you create your Pump/Valve Assembly for 'System 1A' you will have System 1A.Inlet Valve, System 1A.Outlet Valve and System 1A.Bypass Valve. Your mimic System 1A.My Mimic will then happily reference these valves, regardless of where you move the systems or how many systems you have (assuming you have relative/absolute references correct).
2. You have a separate Template which represents the pump, and a separate Template which represents the valves. And then you instantiate the appropriate Pump and Valve as necessary (and they can be named whatever you want, within CS/GS limits). You then manually deal with the Mimic (whether the Mimic is in the Pump Template and has Property Override, is in a System Template and has Property Override, or is just put in a random Group makes no difference), dragging and dropping Mimics from the appropriate Pump / Valve Template Instances (which turns them into Embedded Mimics) onto the Pump / System / random Group Mimic
Yes, as I said in the first post and part of the second and the title of the question. Never miss a chance to make me feel like an idiot do you? I just do not get you.
Option one sounds like what I and Tfranklin had already mentioned. The path of least resistance where everything has the same name everywhere.
But what if you want to have a screen or mimic inside a group template that has embedded instances of other group templates that are not really related? Just something you would like to also see on the first group templates popup.
Option two sounds like where I'm at. The group templates that we want to embed have unique names. That could be changed but it's problematic because you lose the ability to simply give the secondary group template an equipment number or something else that's then used in all the alarms that are also inside that group template. If I remember there's a field where you can manually enter what you want the source message (I think it is called) to be. But then you’ve got to deal with managing that.
So it sounds like you're saying there's a property override that'll let you change the embedded mimics path? I had asked about that in the first post but I'm guessing that's not possible even though they make it look like a field you could just type into. Even when it’s not in a template you can’t just change it, that would make coping things a little easier.
I had thought about making the pop-up mimic yet another group that you could place into the pump group template after you've created an instance. Then you could edit that mimic and embed whatever valves you wanted onto it. But then you’ve got to remember to create it and put the right valves on it.
“You then manually deal with the Mimic (whether the Mimic is in the Pump Template and has Property Override,”
This is the part I need to see work or figure out how it works. So as I've dealt with in a few symbols already once they're a template you can't make changes and you need to use the property override but I haven't seen how you do that with an embedded template that already exists and the first templates mimic. I'll try looking around in the morning, what a fun way to spend your vacation.
"dragging and dropping Mimics from the appropriate Pump / Valve Template Instances"
But these are templates so how do you do the dragging and dropping?
Jeez man, don't make things so personal.
This is a technical forum, the accuracy of the words is important.
You should have been able to read through my message and understand 'ahh yes, I said that, and I meant that'... and then next time you can use the correct terminology.
In addition, you should have been able to the read the portions specifically related to the standard ways (I've encountered) of doing nesting of template instances inside of templates, or having separate template instances and customised mimics, and determined that one of these options would suit what you wanted. Or you could have considered either of the options I presented, thought of a variation of them and if you wanted clarifications then asked for clarifications.
Templates only really make sense if things within them are entirely related. Once you start needing to deal with things that aren't related being in a Template you end up needing workarounds, and then people that come after you will get confused (even if that person is just future you.. I experience this far more often that I wish)
So, if doing something like a Sewer Pump Station, or a Skid, then I will typically Template this.
However... if doing a process Train, then I will almost never Template this, because invariably they will have something a little weird about them, like one has two pumps here, or a vent valve here, or a cross flow valve here... and dealing with these tiny little differences if the whole thing is templated just becomes too difficult.
By that, I also very much template individual devices. Valves will have Templates, Pumps will have Templates...
If you only want to have an Equipment Identifier associated with a device, then you could do this using a CParamString (this is quite a common way to do it). It won't be obviously visible in the DB tree, and you will still need to handle the Alarm Source field like you mentioned on every Alarm Object (so the maintenance burden might be too much), but it provides options. If the end-user really wants it a certain way (or has a standard for that already), then it just is what it is, and you should just follow that.
In regards to Mimics and Property Overrides... it doesn't matter how deeply you nest Templates / Template Instances you can enable the Property Override at the 'outermost' Template and modify the Mimic Document Content (what the Mimic displays) in any Template Instances instantiated from it (this sounds like a tongue twister). As Franklin mentioned however, this really steals away from the power of Templates, and itself becomes a real maintenance headache.
Nothing is worse than having 100 instances of a Template, and then someone wants to change the colour of the background, or the font, or the line style or something unimportant.. and you end up having to make the same modification hundreds of times because Property Override was enabled (to allow for a handful of customisations), and hence changes to the Template Mimic aren't pushed down.
There are a bunch of really hacky things that are entirely possible to do, but very much not recommended.. I'll throw a few out anyway.
You could have an 'Uber Mimic' in your Pump Template with options for every possible variation of Valves, and a whole bunch of Indirect Tag Expressions which look at some fixed CParamStrings (or other config object) to do the mapping to an actual valve configuration. Very very very not recommended, performance will be terrible, and it will be horribly complicated for anyone to understand... urggh... I shudder just thinking about this solution.
You could just dump the whole thing as non-templated Objects.. then it's all free-form and there's no restrictions. Maintenance would be a nightmare, but it would be 'flexible'.
In the long run, it won't matter too much how you implement it, in 6 months time you'll have a better idea, and will want to rip it out and start again 🙂
Or someone else will come along, say that your idea was terrible, and they they would NEVER have done that... and they'll convince the person in charge to completely replace it with another way... but by then, you'll be elsewhere, being that 'someone else' and prophesising the 'bin the baby with the bathwater' solution to another customer... this is the way...
I’m sorry if you think I’m overreacting but how many times have we had runins like this? You are right, this is a technical forum we're supposed to be professionals and yet you continually take digs at me after me asking you many times to please stop.
I mentioned in the title that I'm talking about screens or mimics with embedded objects from group template instances and then in the original post I was really careful to talk about that and say instance of and post a picture and so on and so forth. Then you spend many words giving me grief and acting like you don't know what I'm talking about, that you don't know that I meant instance of the template and that you don't know that I meant relative reference and implying that I could be talking about anything... who knows.
The first part of that message was unnecessary. “So the solutions are” was a perfect start to what could have been the last reply. Maybe you can type really fast and all this comes super natural to you but I've told you many times I can't and it doesn't come super natural to me. It takes me a long time to respond to these emails and to go back through ClearSCADA and check stuff out and see what stuff's called and try to make a picture of it and then try to explain it in a way that makes sense and so on and so forth. And now my heart's racing and I'm upset and why?
I'm super tempted to start posting links to recordings of my desktop talking through the questions but that would probably take me even longer.
Answer the questions, if you don't know what I'm talking about ask a little more, I'll be happy to try to give more information. Just like you just said to me, you should have been able to read through the message and understand ah yes this is what he means so I'm not going to be a jerk and spend time talking about how he didn't say something just quite right. I'm going to look at the previous messages and this message title and I'm going to know what he's talking about. Just folks replying with the correct terminology is enough.
Maybe you really didn't know what I was talking about but I think you're pretty smart guy and I think you knew exactly what I was talking about.
As I've told you a few times already, I'm old and my memory is not great and it takes me a long time to type this stuff out.
I just want to do my job and figure out the best way to go about things for the customer. If you don't want to answer the question, don't answer the question. If I didn't ask something in the exact right way but you understand what I said, just answer the question or ask for more information.
Thanks for the latest reply and info I'll look at it in the morning it's after 11:00 p.m. here and I can't really see the monitor anymore.
[NON TECHNICAL CONTENT REMOVED]
“I'm unsure how you consider my comments as "digs at [you]". I am commenting on factually incorrect statements within your postings.” I'm not saying anything about your opinions, or your capabilities.
Because like you said words matter but so does context and sass. Because you say things like, l haven't given you any information and that I have to give you some actual information if you're going to help me. Then someone else reads that same post and gives me the correct answer. And then you ask me how are you not being helpful. Because you say things like, it would be nice if you read the manual. Because you say things like, who knows what you're talking about at this point. Because you say things like, you wouldn't be wrong all the time if you read the manual. Because you say things like that's the dumbest way to do stuff. Because you say things like, that's the exact opposite of what that is, when it wasn't. Because you replied like you didn't have any idea what I was talking about and had to take a best guess. That I was making it tough for you to follow along. The message or thread or topic title covered that, my first post covered that. In a topic on embedding templates and using template instances your first reply is to point out in a later post that I'm trying to put templates in templates and you can't put templates in templates. Because you say things like, ”In contrast, the majority of your responses appear to just be derogatory comments towards me on how I shouldn't be correcting any of your mistakes.” and that's just not true. I never said that you're not helpful. I've said a number of times that you're smart and you know a lot about ClearSCADA but I don't like the way you talk to me sometimes. Not all the time, not the majority of the time, but sometimes yeah. I don't think Adam and Steve construct their corrections and quite the same way. Something along the lines of, now remember when you do this this is going to happen so you can't do that. Not, geez I'd wish you'd read the manual.
Using the correct terminology in a reply doesn't leave them completely unaddressed. I admit I'm hypersensitive to you now but it's not because you simply correct terminology.
Discuss challenges in energy and automation with 30,000+ experts and peers.
Find answers in 10,000+ support articles to help solve your product and business challenges.
Find peer based solutions to your questions. Provide answers for fellow community members!