Eii vs. Interrupt subroutines

John Morris

Lifetime Supporting Member
Join Date
Sep 2015
Location
San Antonio
Posts
689
Good afternoon to all

I am using FTV 8.1, RS logix Micro developer, and (4) 1400 A micro processors.

Scenario: If any one of a dozen + alarms goes off, the Machine needs to "pause" until the alarm is cleared/acknowledged.

Would it be advisable to use Event Input interrupt. What would be the draw backs. Advantage. Is there a more acceptable way to achieve this function.

Only seven events are available when the EII function file is opened. Can a second or third be opened after that.

Is this the same as an interrupt subroutine and can it be managed in the same way.

Thank you for your time and attention to this matter.

Your efforts will be appreciated.
 
Last edited:
Please indulge another question.

If a user interrupt sequence is used will also suspend a timers function in a main program as well.

Will I have to replicate the same user interrupt in all four processors or just the first on and use a MSG to the other three? how ould that be accomplished.

Thank you again for your indulgence.
 
John, you totally misunderstand the concept of interrupts.
But they have nothing with the needs you described.
Use regular subroutines, called by JSR from the main program.
Forget about interrupts and do not try to do anything interrupt-related in this case.
 
One does not simply pause a PLC. Pause the sequence it controls...sure, pause the PLC? Don't go there.

A PLC is designed to run in circles forever and ever and if it doesn't make a fast enough lap through the maze of logic, a separate process will blow the whistle and shut everything down.
 
I appreciate your responses.

I completely Misunderstood the 1400 manual. I interpreted this

What is an Interrupt?
An interrupt is an event that causes the controller to suspend the task it is
currently performing, perform a different task, and then return to the suspended
task at the point where it suspended.


to mean that under certain circumstances the machine routine would pause until another called routine was finished. In this case clearing a fault.

If i understand both of you correctly, there is no way to achieve a routine interrupt, and is inadvisable to try?

Just want to make sure before I tell the customer.

Thank you both for you time and attention to this.

B/r
 
You interpreted the manual correctly. An interrupt will act as you describe. It's just that an interrupt really won't help you accomplish what you want.

Part of this is semantics. When the word "interrupt" is used we tend to think more in terms of a hardware or firmware trigger event that will provide a very high speed response. It doesn't necessarily have to be that way but we tend to think in those terms. If all you are doing is clearing some fault bits and possibly filing away some information, you don't need an interrupt to do that. You could either simply accomplish that with inline code or you could call a specific subroutine to service the fault bits if a fault exists. Some peoples shorts get real tight when you talk about conditional subroutine calls. I'm not one of those but to each his own.

The big point being made above is you can't just park a plc program somewhere and stop it from executing. Keep in mind this is different than the process being controlled, which can be interrupted and stopped wherever you like. As OkiePC stated, a plc is designed to loop through the code present and will fault if it is not allowed to do so. Your initial post seemed to indicate you might want to do this. That action is what is really a bad idea.

Keith
 
Once again- interrupts have nothing with your goal.
Interrupt is triggered by hardware event, which is the PLC input signal change.
This has nothing with "event" in the machine operation logic, such as an alarm decision and resulting actions.
You have to program everything in the main program.
 
You are right, I did make it seem like I wanted to park the plc.

I apologize for not being clear.

I have suspended or "paused" programs before. Not in A/B and not with timers. Counters! Remove the tick timer (one second internal timer) and the counters stop.

Program will not advance until the counter finished and gives the go-head. In those programs I had subroutines for the alarms and all of them would remove the tick timer. Effectively pausing the routine. Just don't know how to accomplish this in A/B

My worry is, if this routine ( which uses timers ) is paused, and Joey operator is on his lunch break, alarms go off, then cleared twenty minutes later,does the cycle finish from where it was interrupted, or will it, having timed out, move to the next stage.

I have to be very cautious here, the customer is washing jet engine parts and has to follow a set routine with NO deviation. Other wise the parts are Graved.

Is this any clearer, or have I just muddied the waters more. Bottom line is I have to be able to stop the routine, alarm, but not lose the place in the timed sequence.

Any help would be very appreciated.

Thank you
 
I think your two choices are to do it with counters as you did in the past or use conditional retentive timers. This will let you "pause" the process where it is and allow you to resume at will.

But it sounds like you are in a bit of a pickle either way. If your cycle is time based and you are going to pause the cycle at come point that may not be immediately acknowledged, you have just deviated from your cycle as the time associated with the active stage will be longer than spec.

Keith
 
In this routine a cycle stop will raise the platforms out of the tank, allowing the operator to address what ever the problem is, low level solution, motor overload trip, high conductivity, temp deviation, ect. It is the operators responsibility to acknowledge the alarm. Part of the contract is to data log the alarm time and the acknowledge time.

I am not completely familiar with the NADCAP regulations. Its alot like QS9000 for aerospace, and this is the first gov facility I've seen use it. But they were very specific on how they wanted the machine to behave.

I don't think replacing all the timers with counters would be a good idea.

RTO's look like they would work. Honestly didn't know they existed before now. I have along way to go familiarizing my self with all the options in A/B

Ill have to go thru all four processors. I wonder If it could be a direct replacement. That would be too easy.

Thank you Keith

You've given me something to work with.

I appreciate your time Sir.
 
Originally posted by John Morris:

I wonder If it could be a direct replacement.

Not quite. The thing that makes a retentive timer retentive is that the accumulated value won't reset if the instruction input conditions go false. the only thing that will reset the accumulated value is if a RES instruction is executed. So at the very least you will need to insert an RES instruction somewhere for each timer and trigger it when you want the timer reset.

Keith
 

Similar Topics

Hey guys/gals, I ran across this instruction while troubleshooting a machine. The machine has a fairly simple function but has a really long and...
Replies
2
Views
1,471
Need help about this issue, im a student from Chihuahua Mexico at instituto Tecnologico de Chihuahua. My email is [email protected] I...
Replies
2
Views
2,009
One of our products depends on the MicroLogix1100 EII (Event Input interrupt) function to catch pulses from a single-channel incremental encoder...
Replies
4
Views
3,107
I have an application where I will be using the HSC 0 on a micrologix 1400 for Distance and Rate calculations. Looking here, and on the AB...
Replies
0
Views
2,056
Hi, After dropping onto Ken Roach's excelent info (MR PLC Forum in November 2007; Google is great!)on using EII rather than HSC, I need a little...
Replies
2
Views
1,453
Back
Top Bottom