Allen Bradley Math Errors

Nevan

Member
Join Date
Oct 2016
Location
Palmerston North
Posts
2
Hi guys

We have an issue on our site with an Allen Bradley panel view c600 HMI, linked to a micrologix 1400. The PLC is controlling 2 motors on a mixer.

Any time an operator enters a value greater than 90 on the HMI as a part of a recipe, it sends the PLC into fault and requires a reset by connecting a PC.

Are any of you guru's able to point me to where I should start looking? A math block inside the PLC or part of an HMI recipe causing the error?
 
Apparently, the logic receiving the value (90) has a bug.

EDIT: Use RSLogix to see if the PLC is receiving the value you're writing. Then check what the logic does with the value.
 
Last edited:
Computation errors (such as divide by zero) produce minor faults.

If "a value greater than 90" is an array index out of bounds, a major fault would be raised.
 
If your input can actually be higher than 90 the you have to check your program, but if your input has to be less than 90 then you only has to modify your panelview entry and restricted to be less than 90.
 
If your input can actually be higher than 90 the you have to check your program, but if your input has to be less than 90 then you only has to modify your panelview entry and restricted to be less than 90.

Just my $3: I would enforce bounds on the controller side, regardless of what the PanelView is allowed to do.
 
Post the program, it's .RSS file ( zip it first)

If you can tell us where the value of 90 is writing to (e.g N7:0 or ??)

Just my $3: I would enforce bounds on the controller side, regardless of what the PanelView is allowed to do.

+1
 
welcome to the forum ...

my GUESS is that some math operation is making use of the value (90) and generating a value (maybe even an intermediate value) that tries to go higher than 32,767 or lower than (negative) -32,768 ...

in the RSLogix500 platforms, those conditions usually generate a "math overflow" error - involving the bit S:5/0 ...
 
Last edited:
Just my $3: I would enforce bounds on the controller side, regardless of what the PanelView is allowed to do.

+1

Whenever a HMI changes a value in a PLC I write to an input integer, then make sure it is the range I want, then write it to the used integer. And if it is out of range I change the input integer back to the current value.

I do this along with setting the limits in the HMI. JIC & CYA
 
Thanks for your help guys. I had looked already at the bit S5/0, but only very briefly. A little more information: the value that cannot exceed 90 is being sent to a powerflex vsd as a speed input, which is why it cannot exceed 90.

I'm the site electrician here, and pretty new to PLC programming. I'm not too shabby with ladder logic, but anything else is pretty new to me. I'll try to upload the .rss file when I get a chance, but is anyone able to explain why I'm better off controlling the value in the PLC rather than in the HMI?
 
I always add the check in the PLC as a safety to insure the value is in the range I set, and set the same limits in the HMI.

A glitch in the HMI or a second, remote HMI you weren't expecting added to the machine somewhere in the future might not have the limits demanded.
 
Another thing I always do before a math operation (especially a DIV) is compare the value(s) being used to make sure there is never a fault

For divide do a [variable] NEQ 0 before the divide, if it equals 0 then go to another calculation or change the variable to an acceptable, default value that will not interfere with the program.

For multiply (by a set value) make sure the variable value is not high enough to cause an overflow.
 
When this value above 90 gets entered into the PLC , can you tell us what
instruction uses that value, be it a multiply, subtract, divide, compare, etc,
as possibilities that could lead to possible maths overflows,
which is most likely what you are running into.
 

Similar Topics

Hi, I have a ControlLogix system with 1756-IF16 analogue inputs. I can't scale the inputs at the card as there is a requirement to facilitate...
Replies
14
Views
359
Dear community, I am trying to find a tool for Allen-Bradley PLCs similar to SiVArch for Siemens PLCs to automatically generate faceplates and...
Replies
0
Views
92
Hi everyone, new to forum. Since very long time i having issue with 1734-AENT module, after some period of time its keep stuck in error (simmilar...
Replies
16
Views
607
Hello, I am new here. I am trying to find good places to sell some surplus items that I have that isnt through ebay. Does anyone have any sources...
Replies
6
Views
425
Hi all, installed on chassis A17 an A/I from Allen-Bradley , problem is what ever I do , all channels are sticked on value 39.9 and cannot change...
Replies
1
Views
145
Back
Top Bottom