Use of MCR instruction with ML1500 program

BOWILLY

Member
Join Date
Feb 2013
Location
Wasaga Beach, Ontario
Posts
36
I've encountered what , to me, is a programming oddity/rarity. In a small Micrologix program, the OEM programmer has user an MCR at the start and end of each of ten program ladders. The enabling condition for each MCR is a permissive from a hard-wired MCR.

I am not being critical of another's work but I am curious as to why one would program in such a manner.
The outputs used within each ladder are not overly complicated - solenoids, motor contactors, enables to VFDs.

Any thoughts as to what is being accomplished here? Does anyone else use this instruction often? If so, for what purpose and under what conditions?


As always, my thanks for your response.

Bowilly
 
This is just a stab in the dark, but depending on how the physical MCR is wired, the permissive from the physical MCR may be the only thing that will actually stop the machine if say an e-stop is pressed. Hopefully that is not the case, because like the man said....

"Hitting the E-Stop button should shut down the machinery WITH – or WITHOUT – or IN SPITE OF – whatever the PLC decides to do – or NOT to do - about your "emergency" signal."
~ R. Beaufort

But without being able to actually see how the MCR is wired, this is just a guess.


Will.
 
I've encountered what , to me, is a programming oddity/rarity. In a small Micrologix program, the OEM programmer has user an MCR at the start and end of each of ten program ladders. The enabling condition for each MCR is a permissive from a hard-wired MCR.

I am not being critical of another's work but I am curious as to why one would program in such a manner.
The outputs used within each ladder are not overly complicated - solenoids, motor contactors, enables to VFDs.

Any thoughts as to what is being accomplished here? Does anyone else use this instruction often? If so, for what purpose and under what conditions?


As always, my thanks for your response.

Bowilly

MCRs are written in pairs. Embedded outputs can only be energized when the first MCR's rung is evaluated to true. I've used them, and while they aren't a substitute for a hardwired one, they can make the ladder diagram cleaner to read, especially with more complex code.

Quick example, all of these have common input contacts:

estop auto input1 output1
|/|------| |-----| |---------------------()
estop auto input2 output2
|/|------| |-----| |---------------------()
.
.
.
estop auto input86797272 output86797272
|/|------| |-----| |----------------------()



Now they aren't repeated on every rung:


estop auto
|/|--------| |-----------------------------(MCR)


input1 output1
| |-----------------------------------------()
input2 output2
| |-----------------------------------------()
input3 output3
| |-----------------------------------------()
.
.
.
input86797272 output86797272
| |------------------------------------------()

---------------------------------------------(MCR)



In the second example, if the first (MCR) is not energized, the sandwiched rungs will not be energized, even if their lone inputs are energized.
 
Last edited:
Old school. That's why he did it...because he is old school.
If I try to justify it, what I come up with is: You had a big machine to run and very little RAM to work with, MCR zones can save a few dozen bytes.

If I have more than a kilobyte of free memory, I always get rid of MCR zones on logic I support. I have also seen OEMs do some crazy programming as if to try to protect their proprietary "dish" by blending it into a pile of spaghetti that only one guy can understand.
 
The OEM is adding a backup function to the hard-wired MCR. There is nothing wrong with this, and I'm guessing it's to protect against a scenario where a maintenance guy who "has to get it running" decides to jumper out the E-Stop instead of trying to properly diagnose the problem.

Now, it's wrong to do that, and there are plenty of places where doing that will get you fired, but from an OEM's perspective, you have no idea where your machine is going to end up and you have no idea what people are going to do to it in the field. There are also plenty of places run by people who run their plants on a shoe-string budget, buy all of their equipment used from auctions, and run everything jury-rigged and barely kept running. I've seen plenty, including Class 1 Div 1 facilities with 120 volt field devices with no intrinsic safety, explosions waiting to happen.

The MCR rung isn't meant to make the PLC used as a safety device I'm sure. But they probably figured for the two seconds it takes to add those rungs in, it's worth it if it prevents one accident/death and saves them from litigation.
 
Originally posted by FactoryTalktotheHand:

But they probably figured for the two seconds it takes to add those rungs in, it's worth it if it prevents one accident/death...

It might do that assuming the plc and all the other related hardware does what it is supposed to do when it is asked to.


Originally posted by FactoryTalktotheHand:

...and saves them from litigation.

That it won't do. In fact this is probably worse than doing nothing. What it does is force you to admit that you had concerns about the hardware e-stop system not being fully effective so you implemented a "non-standard" method to help guard against that. Then obvious follow-up would be "Why didn't you simply make the safety rated hardware system more robust if you perceived a danger?" which would likely response would be "It cost too much" or "It took too much time" or "It was too hard" or some such. In addition it produces the illusion of redundancy where redundancy doesn't actually exist.

The road to Hades is paved with good intentions.

Keith
 

Similar Topics

Hello, I need some help to convert PMCR instruction from Omron CQM1H that using CQM1H-SCB41 to CJ2M using CJ1W-SCU4, The problem is on the old...
Replies
1
Views
848
What instruction does CCW use for the MCR instruction from RSLogix500? I read in numerous places that CCW does not have an instruction like the MCR
Replies
10
Views
2,743
I've upgraded an older RSLogix project from v19 to v32. It seems v32 is a little more picky about the old code. I have 1 error that states "MCR...
Replies
3
Views
1,784
where we are using the MCR INSRTUCTION PLEASE PROVIDIE THE SAMPLE PROGRAM IN RS LOGIX 500
Replies
1
Views
1,459
Hello All, I would like your thoughts about the MCR instruction. I mean, do you use it? Do you think there are better alternatives to it? I don't...
Replies
17
Views
7,108
Back
Top Bottom