LogixPro and the LIM Instruction

mrmss

Lifetime Supporting Member
Join Date
Aug 2005
Location
Midlands - England
Posts
101
I feel a little embarassed asking this question since it's so simple...but if you dont ask questions...

I was playing around with the LIM instruction using LogixPro and wanted to prove that for Low Lim > High Lim; LIM is false when test value is between limits but true when test value is equal to or outside either limit.

Following table is taken from http://plcguide.mrplc.com/index.html

Table.JPG


And the following statement is from The AB SLC 500 Instruction Set;

"If the Low Limit has a value greater than the High Limit, the
instruction is false when the Test value is between the limits. If the
Test value is equal to either limit or outside the limits, the instruction
is true."

When I try this in LogixPro, my LIM is false when test is 2 or 6 :confused: I think it should be true for all values except 3,4 and 5.

Below, the CTU Accum value is 1 here and LIM is true as the Lamp is On. As expected.

TestValueNotInLimits1.gif


Below, CTU Accum value is 2, this is EQUAL to the High Lim and I was expecting LIM to be true, LIM is actually false and Lamp goes Off. Not as expected.

TestValue=HighLimit.gif


When CTU Accum value is 3,4 or 5, as these values are between the limits - LIM should be false, lamp goes off. Works as Expected.

When CTU Accum value is 6, this is EQUAL to the Low Lim and I was expecting LIM to be true, LIM is actually false and Lamp goes Off. Not as expected.

TestValue=LowLimit.gif


Finally CTU Accum goes to 7, this is not within the limits, LIM should be true. Lamp goes on, works as expected.

TestValueNotInLimits2.gif


Can anyone shed any light on this?




 
Sounds like a mistake in the Logixpro emulation.

A-B PLC's LIM instruction is "circular" and does function the way that you have quoted from the SLC manual.

It functions the same way in PLC-3, PLC-5, SLC50x, ControlLogix.
 
I received a response from Bill about this, he thinks it's probably a bug. It's obviously pretty insignificant since it's a crazy thing to have in your logic, but I can rest assured!
 
mrmss said:
I received a response from Bill about this, he thinks it's probably a bug. It's obviously pretty insignificant since it's a crazy thing to have in your logic, but I can rest assured!
NOT CRAZY!
It is that way by design and is useful.
 
I agree with Gerry. It is necessary to test that something is outside a certain range as often as it may be necessary to check and make sure it is the range. Alarming on out of range analog values is just one such example. Checking operator entered setpoints is another.
 
Mrmss,

You did not mention the most important case:
If the Low Limit has a value equal to or less than the High Limit, the instruction is true when the Test value is between the limits or is equal to either limit. If the Test value is outside the limits, the instruction is false.
Rockwell Software 2000

This seems to be completely logical, and I always make sure my Low Limit is smaller than my High Limit. (If Low is larger than High, then it becomes the "high", a complete non-sense paradox, so I guess AB figured one paradox deserves another!)
 
Last edited:

Similar Topics

SELECTED NEW FILE SELECTED PROCESSOR TYPE SELECTED I/O CONFIGURATIONS IM UNABLE TO CONFIGURE MY I/O’S. I HAVE A PAPER COPY OF A PROGRAM AND I...
Replies
0
Views
64
Good morning, I am currently working on the LogixPro Advanced Batch #2 Multiple Mode of Operation and got stuck very close to completion. Link...
Replies
3
Views
2,214
Hi folks, i'm pretty much new on this topic and i need some help with the dual compressor part 3 and 4, currently working on part 3 i cant make...
Replies
20
Views
5,077
Hi, I'm using LogixPro Simulator, and I'm experimenting with BSL. I know how BSL works, but what I am trying to do is access the value of an...
Replies
3
Views
1,393
Hello Gurus, I am working on the elevator exercise of LogixPro and my output on the subroutine is being energized without its flag being called...
Replies
4
Views
2,190
Back
Top Bottom