hello again leon turner of trend here once more um today's topic is alarm handling in iq vision we often get asked questions about how we can change the alarm format and how to indeed how to deliver alarms to iq vision successfully from iq controllers so i thought i'd make a quick video about that this one will be pretty brief i hope but without further ado i'll get into it you can see a quick snapshot from set there this is what's actually in the controllers i've got a couple of controllers both doing pretty much the same thing so i've got a trigger which uh drives two uh internal digital inputs both of those digital inputs are fed through the group root and destination path in the in the controller and they're they're coming out as ip alarms which comes straight to my ip address of the laptop that you're looking at it's a iq vision when they get here they're fed through a couple of different alarm classes so they arrive at an alarm class and i'll talk about that in a little while and they're delivered into what's called a console recipient and the console recipient is kind of like your alarm view that's your day-to-day alarm view which looks a lot like that although normally with some alarms in this one's obviously empty right now so what i've done to start is i've set up a little view which looks at um it's actually launched from my controller here the controller called iq alarm demo and this is just a little overview page the top the stuff in the top there is all um virtual points dragged out of here and it's all relativised to the controller so it picks up various bits and pieces of information about the controller itself we're not really looking at that today that's just an extra little piece i put in so i can see what's going on i've got a little alarm trigger button here which fires the alarm off in the controller it just basically writes back to a switch inside the controller and then a couple of the alarm consoles here so the these two alarm consoles are the ones we saw a second ago for the time being everything's going to get delivered into the default uh alarm console via the default alarm class because that's how it's it's configured as you get it out of the out of the box so if i do just trigger an alarm like so you'll see some alarms come in here so we've got two one from each of the digital input modules and you can also see it's triggered on a little alarm panel here which goes green and red depending on what's happening out in the field and if i just clear my digi my alarms just suppose for a minute i've actually fixed something and then i can just acknowledge these and they'll go away there is an alternative um alarm console which actually can show you the alarms which are both acknowledged and cleared now in the standard niagara alarm console those disappear and you have to go into the alarm database view to see them there is another console view which you can use to see those and in fact if i show you that very quickly so if you go to default this is the honeywell alarm console show normal act alarms you'll see the stuff that's actually disappeared with a white bell which as i say was both clear down the field and i've acknowledged the states of it but that's that's all in there if you wish to use it so we'll go back and set that view back to my alarm service and you'll see that count in here has gone up so total alarm count two right now the bit we get asked about my most commonly is the format of the alarms so if i send them in again so you can kind of see what's going on you'll see it says if we look at the text default alarm format workshop land 20 alarm demo local station blah blah blah so that might seem a bit wordy for some customers they may not particularly find that clear um you can kind of see what's going on in there but not everyone thinks that's particularly nice and they may want to get sent to a specific console even and the way we do that is down at the alarm extension level so if i just acknowledge those for now they go gray because they're acknowledged but they're still alive in the field so that's still an alarm in fact we'll get rid of those it should go all green and then we can enlarge them and they'll disappear so down at the proxy extension this is where we do all the the heavy lifting really to get this to work you'll see down here alarm info now i'm going to send it to the modified class that's already set up and i'm going to flip this little button down here use alarm source info which localizes everything now i don't really want all of this information here there's quite a long string of stuff which is what made up that long name i only really want a few bits of information actually now i'm going to go with i don't want the device name particularly now parent dot display name parent is the point hosting it so in this case modified alarm point format is the name of the point so i want that and i also want the name of the hosting controller now so we've got that's the parent that's the parent of the parent you see it's points i don't want that because that doesn't mean anything to anyone i want the parent of the parent of the parent and it sounds like gibberish but it's fairly easy to to do so you've got parent.parent.parent display name and that should be alarm demo and then proxy extension and if i put two underscores in there to make it clear where that division is hopefully that will make some sense right now if i go back to my overview again and incidentally i i i can change the the text here as well which i will do for clarity and again we can put hyperlinks and all that sort of thing in here and even alarm instructions when they come in but i'm not going to be doing that today right so if i go to my screen again and trigger an alarm oops missed now you see this time we've got one in each alarm panel one in the modified one and one in the default panel now you can see now hopefully oh i've got it wrong look points underscore proxy x so i've actually got my um parents in the wrong place here not the first time that's happened i shall go and put that right again pretty easy to fix i'd like to say that was a deliberate mistake so you can see how i've gone wrong but it wasn't okay we'll go back to my view again and we'll clear that and try again so acknowledge acknowledge and we'll fire another alarm in that looks a bit more like it so you can see the top we got default alarm format and this long string and if i double click on it you can see the details and including the text and so on and so forth we'll just acknowledge that one and close it now this one hopefully you can see we've got a bit more information so the source alarm demo modified alarm format for example and in the alarm data you'll actually see the text should come up somewhere in here there we go message text text not quite right so actually i can i can put that into a graphic and that sort of thing and into build bql queries and the like and hopefully that's enough to get alarms to to maybe look a bit more like a customer may wish to you can make them really however you see fit so that method's great for individual points it's not perhaps so great if you've got tens of thousands of points and to that end there's a couple of ways you could go about making these changes and and other changes in fact one of which would be using the the program editor which we'll go through and it's kind of like a batch process you make a change once and it'll apply it to however many thousands of points you select for this particular change there is an easier way though which has been introduced in later versions of iq vision and if we go to the trend systems folder and look at the ax property sheet you'll see we've got the alarm manager under here and underneath that we got the alarm and specifically this trend source mapper so that gives us um the various parameters for how an alarm will appear from these different sources system alarms land alarms and so on the one of interest right now for us is this default alarm format for for point alarms and if i scroll across you'll see that that is the default format which is the one we changed earlier now if i get rid of all of that and put something simpler in now for example exactly what we did earlier which would be the parent or parent apparent and so on and so forth using the correct format this time and save and that will just become the default delivery method or delivery appearance for every single alarm underneath the trend uh folder so that's a that's a really simple way to do it in in bulk and it takes out any any potential errors in using the the program editor for example so what we'll do now is go to a different example where we're trying to catch and filter alarms based on their label or some other information and send them into specific alarm consoles so that we can uh pick out um one alarm from another so it's to that end i've got a couple of points in a controller one called pump fire one called boiler tripped these represent alarms out in the field somewhere obviously these labels could mean could be pretty much anything and i've got a yet another little screen same screen reused really uh this time i've got a default alarm console in the top here and all boiler alarms down at the bottom here so that's a specific alarm class leading to a specific console which is the one we've got down here if i triple arms at the moment in my other controller what happens is they'll all come in to this top group so everything's going straight through to the default uh alarm console and you can see we've got boiler tripped and pump fail here and if i just clear those um obviously the reverse happens and well not the reverse but they clear and everything goes green fantastic and i can clear those i'll acknowledge them and they disappear so what we'll do now is set up a filter to catch the boiler arms and send them to a slightly different route so in my alarm service i've got uh boilers up here that's a specific alarm class and you can see that's the console i've put in that in that page now to try and catch these and send them somewhere specific there's a particular set of things we need to do and in the property sheet for the trend systems not at the workshop level not at the site level notice this is at the very top level of the driver you've got an alarm manager now there's quite a few bits of functionality all packaged up under here but the one we want for right now is this alarm preprocessor and you'll see there's a few things here the default priority that alarms are sent to the default alarm class and so on what we actually want to do is look at these filters down the bottom now by default you get a few of these and again if we go to if you go to your alarm servers you'll see some examples of where these get sent with a class and an alarm console ready to catch them so there's some examples you can start with and if you notice i've disabled all of these so i don't want them to go right now but if you if you go through all of these you'll actually see how this is all set up so my diff my examples here the land and outstation is set up in there the simplest way to create another one is actually to duplicate an existing one you you can drag a brand new one in from the trend palette but they're already in here so we might as well just duplicate it so i've got this one down the bottom i'll set the display name so i can see what it is so we're just going to catch anything with boiler in it effectively there we go now there's a few things in here i want to turn off and a few things i need to tweak so i don't want to send it to that alarm group long class i want to send it to boilers that's the whole point of this i want to enable it because i want it to work and i don't want to dump matching alarms now i could do this so if i wanted to for example ignore everything on this boilers um class i could do that but for my example that would be pointless one way it could be useful is you could indeed catch everything from a particular site and this this trigger here this boolean writable you can actually link that to a point in a px page so if i for example wanted to conduct black building tests on you know power down and run off the generator and potentially get floods and floods of alarms which will just annoy the operator i could link this to a graphic and turn off all of the alarms for a site or a lan or an outstation whatever level i want and just get rid of them so that if we know we're going to be generating floods and floods of alarms we can effectively mute them or put this on a schedule a boolean schedule and turn it off certain times a day or you know certain times of the year that's a completely different use case to what i'm trying to do now but i thought i'd mention it so what i actually want to do i do want to catch occurred alarms and i do want to catch cleared alarms if i didn't they just go up the next level and this this filtering works from the bottom up so the alarm effectively arrives here and then goes up through this level of filters until it gets to the top and if it doesn't hit anything it will go to the default alarm class so that's the catch all at the top there but i want to look from the very beginning so i'm going to catch everything that says boiler but there is a there is a hierarchy here of how these things trickle through so as i said i do want to catch fill occurred and cleared the source address i want from any lan any outstation or any guid now the alarm details i do want to catch these and module module code or item label that's where i want to look so what i want i need to use the quote marks for this if i use the wild card at the end and then the quote mark again i want to catch anything with the word boiler and then whatever follows it so i'm going to catch any alarm condition that's associated with my boiler from any out station now obviously i could be a bit more specific here i wanted but for the sake of demonstration i'm not going to bother right now and that should do it that should be working now if i go back to my alarm page or my overview page well the spot luck now if i trigger the alarm there we go and it instantly has split them out um now you can have as many of those filters as you want uh they can be as specific or as generic as you want um and you can put them to any purpose you want so obviously i've got two alarm consoles here i could have one for pumps one for boilers i could have one for for certain ounce stations other outstations and so on it's pretty easy to do um once you get the the hang of these things and as i said you can build these out to basically deal with alarms however you want um there are other examples of what this can be made to do um they're all quite well documented in the in the docs that come with iq vision uh feel free to go on our way and have a read um but for now that's all from me uh so thank you very much for listening and i'll talk to you again soon bye