Alarms from multiple projects

I have multiples projects on one gateway (7.8.2). Each project is unique to each machine which are dissimilar from each other.

I have a “master project” which redirects to all the individual projects, to let management log in to the one project and not have to logout, launch, log in, etc

I have created a template with each project name, a symbol for the process, and a script which redirects to the relevant project. Once a machine project is launched, you can get back to the master with a home button in the navigation dock.

I want to add to the template an alarm status for each project. Can this be done?

Having a quick look my thoughts are to create an alarm journal for each machine (project) and then have the master (project) filter the journal name.

You should be able to use the “Source Filter”, “Provider Filter”, and “Display Path Filter” properties on the Alarm Journal component to get what you want (same thing for the “Alarm Status Table” component). Keep in mind that you can use the * wildcard on these filters. So you could have a source filter of “Machine1”, without the quotes, to get all the alarms that have a source path with “Machine1” in the path.

Good luck,
-Will

Thanks Will. I have created an alarm journal component page in each project and am using the “Search string” to filter only alarms relevant to that project.

In the master project I would like the “Alarm count label” in the navigation pane to show the sum of all alarms for all projects, but in the template for each project I would like it to only count for that alarm. If I copy and paste the template, rename it, any tips on how to add a filter into that code so it only counts for the associated project? (I already have a custom property for project name/path)

Thanks

I would think you could use the system.alarm.queryStatus function to get a count of what you are looking for. You can pass in filters to this function to only retrieve the alarms you are looking for. Then you should be able to count the number of items in the result and display that as the number of active alarms. It wouldn’t be perfect since you would have to put it on a timer script to constantly recheck the number of active alarms. Maybe create separate gateway scripts that run every 10 seconds (or whatever you need) and write the alarm count to some tags? Just a thought.

-Will

Sorted! Thanks

One per project:

x = system.alarm.queryStatus(displaypath=["*FT*"], state=["ActiveUnacked", "ActiveAcked"]) list = x.getDataset() print list y = system.dataset.toPyDataSet(list) print len(y) system.tag.write('FT Alarm count', len(y))

1 Like

Thanks, the_msp

For me worked with
x = system.alarm.queryStatus(source=[""], state=[“ActiveUnacked”, “ActiveAcked”])

Where xxxxxxx is a substring of the tag path.

Good Morning,
In using this code where is appropriate to use it, on the root container of the alarm status table? right clicking to select scripting? and what is best way to arrange this code?

I will re-create this for you but it won’t be today.

From memory I had a template on my master project and the alarm status template (that comes from IA as default) was used to show a new summary for each sub-project of the master project.

Thank you. I will be expecting?

Monday next week.

Good Morning

Reminder!!!

Thank you

Morning!

Thanks for the reminder. It’s a bank holiday here, and just coming up to noon.

If you can wait (up to) another 12 hours so I can enjoy some of the bank holiday sun, it would be most appreciated :slight_smile:

Alright. I will wait. Enjoy the holiday

Please see attached image for placement of above script, for formatting it is re-pasted below although it’s all left indented anyway

In the image you can see the FT filter on the alarm journal table

I had a template made to only show alarms for project X, or Y, etc

FTx = system.alarm.queryStatus(displaypath=["*FT*"], state=["ActiveUnacked", "ActiveAcked"])
FTlist = FTx.getDataset()
print FTlist
FTy = system.dataset.toPyDataSet(FTlist)
print len(FTy)
system.tag.write('FT Alarm count', len(FTy))

Thank you, what i really needed was that when i click any of the machines, it will pop up more details of the machine with it alarm count button and if i click the button it brings up the alarm status of that particular machine alarm?

You might give me your contact for better clearification. Thank you for the effort so far.

That’s all possible using templates etc, have you checked out Inductive University?

Yes i have and i have seen in extension function but didn’t get the right way to do it, maybe you can help? https://docs.inductiveautomation.com/display/DOC79/system.alarm.queryStatus

Sure but today is another bank holiday here.

Give me a week or so.

i waited for your reply but did not see.