Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here


ALMD/ALMA instruction in RS5000

ALMD/ALMA instruction in RS5000

ALMD/ALMA instruction in RS5000

Here's the problem - it's easy to set up a single alarm, no need for arrays.  However, if I want to trigger multiple alarms, I have two choices (that I can think of):
1. Write 1 rung per alarm.  Since I want to create a test system with 20,000 alarms, that's not very appealing.
2. Find a way to create an "array" of alarms, passing different ALARM_DIGITAL or ALARM_ANALOG tags to the same ALMD/ALMA instruction.

Any help would be appreciated.

RE: ALMD/ALMA instruction in RS5000

Fast and easy way
Create alarm lists based on your inputs of plc.  Of course their are other alarms that are native to plc, (minor faults)
Bit pattern file follows the inputs of plc.  
Example: inputs on 0,1,2,5, create alarms for 0,1,2,5 and keep the rest of the word as spare alarms.
if your sending to a host system, then do a change of state.
Keep an image file of the alarms and when you have a new alarm, trigger a send and copy the alarm file to the alarm image file.

If your sending to an HMI, it will just handle this by its alarm page by your plc setting an alarm at that bit.

Alarm text on the HMI or host should just be a copy of the inputs with a massage for fault text on top of the inputs.

RE: ALMD/ALMA instruction in RS5000

I'm trying to use Structured Text to trigger lots of alarms without many lines of code.  I've come up with the following logic, but have a problem with the ALARM_DIGITAL data type.  Here's the code:

For Index := 0 To 9 Do
    ALMD(MyAlarmDigitalBaseTag, Alarms[Index], ProgAck[Index], ProgReset[Index], ProgDisable[Index], ProgEnable[Index]);

In the ALMD instruction, all the parameters except for the first are type Boolean.  This allows me to create arrays and conveniently access everything using the same index.  The problem is the first parameter must be of type ALARM_DIGITAL.  This data type does not allow me to create an array.  Can anyone think of a way to get a variable address name as the first parameter of this ALMD instruction?

RE: ALMD/ALMA instruction in RS5000

an array of boolean might be the problem.  I made that mistake early in my contrologix experience and caused me problems (I had to rewrite logic).  

If you look at the general instruction help most instructions do not operate on an array of booleans.  I think if you can create some other tag with a data type other than an array of booleans it should work.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close