Add On Instruction help AOI

GTUnit

Member
Join Date
Oct 2009
Location
Orange, CA
Posts
401
Hello,
I am working on projects where the individual alarms number in the hundreds.
I am trying to creat a Add On Instructions which allows me a simple way of consolidating the individual alarms into a main "System Alarm" and a main "System Shutdown" tag.

Does anyone have any input on a good way to do this?

Some of my sensor AOI look like this: (attached pic)


I just enter the sensor name in the AOI and it creates all the necessary tags for the sensor.

Now I need to enter a few hundred sensor names into something and have it spit out "shutdown" tripped and "alarm" tripped.

Is there a way to do this without writing it out in ladder?

AOI.jpg
 
What are the conditions that will trigger alarm or shutdown? Could you make an AOI for each input module. This will help with single ended analog. If you are just looking for something to generate tags then wouldn't UDT's do the trick? Add-on instructions help when you need to process the same logic with different tags.
 
A quick question ... Why not just use the ALMA instruction for analogs like that?
Using any complex alarm block though is going to require to to do some more legwork somewhere in the program to AND/OR the results together to an overall status bit/word.

For most of that background work, I actually prefer to just use a structured text routine to do the overall summations.
 
What are the conditions that will trigger alarm or shutdown? Could you make an AOI for each input module. This will help with single ended analog. If you are just looking for something to generate tags then wouldn't UDT's do the trick? Add-on instructions help when you need to process the same logic with different tags.

The conditions are not too relevant and are handled in the AOI that I created for each input module. Im really trying to OR a ton of tags together efficiently.
 
A quick question ... Why not just use the ALMA instruction for analogs like that?

We created our own Alarm AOI for 2 reasons:
--Practice for someone like myself who has not used them before.
--Better suited to our needs since it Scales Raw Input, Has Individual Alarm Filters, combines Alarms with Shutdowns

Using any complex alarm block though is going to require to to do some more legwork somewhere in the program to AND/OR the results together to an overall status bit/word.

For most of that background work, I actually prefer to just use a structured text routine to do the overall summations.

I should have mentioned that my programming skills are on the very low intermediate to high beginner level.

We literally have hundreds of alarms in some of these projects and I was hoping to create a scalable system which would allow us to enter/handle these alarms in an efficient manner.

I have not written in structured text before but I will learn if you recommend that approach.
 
I am new to PLC programming so balls to my knowledge, but could you have an array of referenced inputs and write the AOI to parse through the array and keep a running total of alarms?
 
Just curious what is the advantage of doing it in ST over ladder or function block?

A couple reasons, it is more concise, so you can see more on a page, I can use my favorite programming editor, and I'm much faster typing then icon dragging and mousing around.

For things like simple summations or just moves that really never need to be edited it is much cleaner just to keep them out of the way of actual control logic (IMHO).

Example:

// Alarm summation and enable:

Result_Bool :=
(
Bool_Tag_1 OR
Bool_Tag_2 OR
Bool_Tag_3 OR
Bool_Tag_4 OR
Bool_Tag_5 OR
Bool_Tag_6
)
AND
Summary_Enable;

// HMI Moves :

HMI_Tag_1 := PLC_Speed;
HMI_Tag_2 := PLC_Load;
HMI_Tag_3 := PLC_Reference;

 
Where ever possible I use ladder - especially in AOI that are called often
Reason is execution time

Try a test call the same AOI 1000 times in a in loop
Then Call a Ladder AOI 1000 doing the same
the Ladder will be faster

I have been caught out with ST in a AOI before and had to re-write in ladder
 
in your ladder say in every block OR the alarm and the alarm of the previous one.
alarm= alarm or rungalarm in every set.
When any alarm exists the alarm output wil be true.
 

Similar Topics

Hello all, I have followed the import/export Add-On Instruction manual that Rockwell has. I am working remotely on two Logix 5000 files at...
Replies
4
Views
2,324
Using: RSLogix 5000 V19.1 Hello I am running into a problem that is keeping me from completing a program for a small sand plant. Here's the...
Replies
16
Views
4,776
Hi all- I had a question about adding in a word with a value of 15 (1111 binary). Can I just define it in my AOI somehow? Or does it have to be...
Replies
1
Views
3,186
hey good afternoon ! I have a simple question, I need to import an Add on instruction to a controller that is in operation and cannot stop. Is it...
Replies
6
Views
290
please can someone help me how do i add status bits to the add on instruction in studio 5000 thank you
Replies
2
Views
1,474
Back
Top Bottom