Mcr ote

Prayder

Lifetime Supporting Member
Join Date
Jun 2014
Location
Arkansas
Posts
254
Am I right in saying that if you have an MCR OTE on one rung and then have another one about 20 rungs down, is it right in saying that if the MCR's are not energized then everything between the rungs would not work?
 
Am I right in saying that if you have an MCR OTE on one rung and then have another one about 20 rungs down, is it right in saying that if the MCR's are not energized then everything between the rungs would not work?

You are correct. The program will still scan all the rungs inside the MCR zone, but they will resolve as false unless the MCR is true. The TechNote spells out a very little more clearly what you can and cannot do in terms of branches on the same rung as the MCR. The easy way around that is to not put branches on the same rung as the MCR.


Bubba.
 
The MCR instruction is frowned upon, please achieve what you want to achieve some other way.

Has anyone seen one used in a program not in an educational environment?

To expand, the MCR is annoying, because you can't use cross reference to find out how a tag is being controlled. We all learn about it because we have to be able to troubleshoot a program with it in, but we try to be nice and never put an MCR in, just for our colleagues who might be out late troubleshooting our code. There are also weird things with subroutines and AOIs, because the end of a routine will set the MCR back on.

A de-energised MCR does not stop the code from working. It just makes the rung condition false. So for example if you had a TOF that would otherwise be on, its .DN bit will stay true for the preset time and then turn off.

If both of the MCRs are de-energised, then all of the rungs after the first MCR instruction will be false. Usually the first one is true/false as needed and the second one is always true.

The most standard way of replacing an MCR zone is to turn a bit on to enable the zone (eg with an OTE instruction where the first MCR instruction would be), then use that bit in an XIC on each rung that needs it.
 
The MCR instruction is frowned upon, please achieve what you want to achieve some other way.

Has anyone seen one used in a program not in an educational environment?

I use them on our shop PLC in a program that tests pneumatic valves. For me it was just a quick and easy way to skip sections of code that didn't need to run for a particular test. Such as the rungs for testing solenoids two and three if the valve being tested only had one solenoid. JMP/LBL, sub-routines, and permissive bits would have also gotten it done. There were a lot of ways to skin that cat, the the MCR fit the bill at the time.

I do still see them on older equipment, but they are the exception rather than the rule.


Bubba.
 
Last edited:

Similar Topics

I am using some MCR pairs in RSLogix 500 as if they were subroutines. I could, for example, have used JMP & LBL instruction pairs instead. When...
Replies
9
Views
6,120
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
831
I have an MCR0 function and ENDMCR0 tab in the main block of a 90-30 program I'm upgrading to Rx3i. When I attempt to download the program, it...
Replies
5
Views
1,638
I have been fighting with a series of GE MDS orbit MCR radios and DF1 Hdx comms (PLC5's) over low bandwidth (220mhz). This battle has been going...
Replies
27
Views
8,859
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,702
Back
Top Bottom