Tag-based alarms in Logix Designer V33

bgtorque

Member
Join Date
Oct 2013
Location
Northampton
Posts
127
Hi all
I've done a bit of a search and cannot seem to find anything. I'm exploring using the newer tag-based alarm functionality in the GuardLogix 5380 PLC's that we use. One thing that I cannot understand is how when i'm setting up either an Alarm or an Alarm Definition that I cannot map the 'Limit' to a tag.

Am I missing something or does this really have to be manually set through LogixDesigner if it needs to change? I wouldve thought allowing a user with the correct access should be able to modify these values through the HMI?

Hopefully I am just missing something, but i'd appreciate anyone pointing out a step that I am missing here please.

thanks.
 
There are new instructions ALMD and ALMA (Alarm Digital and Alarm Analog) which can be used in the PLC logic. If the connections are correct in the Factory Talk View Studio file, the HMI (Machine Edition) or screen (Site Edition) Alarm should operate. There are all sorts of limits and configuration that can be done within the instruction.

ALMD.jpg
 
Tag-based alarms
Use Logix Designer tag-based alarms to monitor a tag value to determine the alarm condition. Tag-based alarms monitor tag values to determine the alarm condition, but they are not part of the logic program and do not increase the scan time for a project.
Tip:
Tag-based alarms are supported only on Compact GuardLogix 5380, CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, and GuardLogix 5580 controllers.
 
There are new instructions ALMD and ALMA (Alarm Digital and Alarm Analog) which can be used in the PLC logic. If the connections are correct in the Factory Talk View Studio file, the HMI (Machine Edition) or screen (Site Edition) Alarm should operate. There are all sorts of limits and configuration that can be done within the instruction.

Yes thanks, I was trying to avoid using ALMA and ALMD as these add to the scan time and are more data heavy (tag based are ~1/6 of the size for an analogue alarm I believe.
 
Analog[0][email protected] := U1.Recipe[197];

This was spot on and I managed to get this coded ok, mnay thanks. The second question on this subject I have is probably a bit rudimentary, but I cannot figure it out. Now I have a ton of these alarms set up, for each of my analogue inputs I have a LOLO, LO, HI and HIHI alarm.

https://imgur.com/a/pV7r2lF

Now if a channel strays outside of the LO or HI band then I want to consider this an alarm and have a light flash up and set an output bit over EtherNet (as well as the alarm history in the PanelView 5310 register it).

If if a channel strays outside of the LOLO or HIHI band then I want to consider this Trip and stop certain things in the safety program (i.e outputting to hold contactors closed) and have another light flash up and set an output bit over EtherNet (as well as the alarm history in the PanelView 5310 register it).

How do you use all these alarm bits, have I got to write a routine to select every single one of them to create an overall LO/HI or LOLO/HIHI bit? I was hoping there is an easier more efficient way?
 
Last edited:
::[email protected] to get the Unack alarm count. I use this ORed with this: ::[email protected] to activate the alarm horn.

Hi John, sorry but i'm not quite getting it. Essentially you are saying you'd have to use the above lines for every single tag that you are monitoring, so replacing 'THIS' with the actual tag name? Two questions:

1. How can you determine the difference between the conditions of say if in HI vs HIHI? The only way I can think is to give them a different severity I guess?

2. Is there not a way to have some bit return based on any alarm that is in HI or a certain severity, or do you have to code every single one?

Thanks.
 
I probably don't fully understand your question. Do you want for instance all the HH alarms to activate a single output? And you want to do this without programming all the individual HH alarms?
 
I probably don't fully understand your question. Do you want for instance all the HH alarms to activate a single output? And you want to do this without programming all the individual HH alarms?

That is about the size of it John, yes. I'm thinking this must be a way of using the Alarm Set Attributes, but i'm not sure exactly how to call these. For any given analogue channel I would have:

HIHI - High Trip and disable outputs in my code

HI - High Alarm - let the operator know something has strayed and to be aware

Normal expected values

LO - Low Alarm - let the operator know something has strayed and to be aware


LOLO - Low Trip and disable outputs in my code

Now I don't care if a tag is in LOLO or HIHI as they mean the same to me and that is that I need to pull contactors or similar, so if any tag hits one of these then I need the code to act.

Equally I don't care id a tag is in LO or HI as they mean the same and I need to make the operator aware.

Now the Alarm summary in the HMI will display all the details as to which tag has gone into one of these conditions and which conditon it is (HIHI, LOLO, Hi, LO). I just need my code to look across any tag and evaluate the alarms to set a TRIP bit or an ALARM bit based on the conditions.

I could add a severity to differentiate such that all HIHI and LOLO alarms = 1000 and all HI and LO alarms = 500. So if I could poll all the alarms and see if any = 500 or any = 1000 then I could set a bit. I just can't see a way around writing a line of code for every single alarm.

As I mentioned, I wonder if the Alarm Set Attributes lead someway to this, but I don't see any mentions to an 'Alarm Set' in the Alarms dialogue other than the tick option to roll up counts into Alarm Set. Does Alarm set have a link to the Class or Group for instance? I'm very confused as to how unintuitive it seems to be and why you even need to create all four alarm conditions when the ALMA used to let you set all four in one instruction (albeit at cost of heavier processing resource). It seems so confusingly complicated that I can only come to the conclusion that it is me being thick and missing something to be honest.
 
Hi all. I have nade some progress on this thanks to the useful pointers. MY sticking point now seems to be addressing the the alarm limits from the HMI so that an operator can alter them. I can see them and seemingly link to them fine using a numerical input on a PanelView 5310. If I change the number everything appears fine and the HMI accepts it and shows the new limiti value. However, if I look in the PLC online I cna see that value has not actually changed, so not sure what the HMI is doing? I have definately linked the numerical input to the correct alarm / limit value? Has anyone else experienced this?
 

Similar Topics

Hello, I am upgrading some custom AOI's for a customer that was using plantpax 3.5 they are moving to Pax v5. In their old AOI's they were...
Replies
0
Views
535
Good afternoon everyone. Just starting to use Logix based tag alarms, and I am likely a little confused. What I would like to do: Use Logix 33...
Replies
5
Views
1,855
Hello, I have an application with a CLX L8 running under firmware V31 and an instance of FTView SE version 11. I configured a logix based...
Replies
4
Views
2,052
I am trying to use tag based alarms in Studio 5000. It seems really great at making alarms automatic. I have a few alarms that require...
Replies
0
Views
1,060
Does anyone know if you can access the newish Tag Based Alarms in Studio 5000 in Crimson 3.1? There are some benefits to this if it's possible as...
Replies
0
Views
1,690
Back
Top Bottom