Nonlinear Scaling

ghaulk

Member
Join Date
Jan 2008
Location
GEORGIA
Posts
26
Hello all, I am working on a project where I need to use data that is plotted on a graph that is nonlinear. To help clarify, this is an application where someone has ran an auger and determined that the auger dispenses a certain amount (lbs.) per RPM. The problem is that it is not linear, If it were I could just use a SCP. I need to figure out a way to import the data into the PLC so when the operator sets a given rate in lbs., the auger will know where to start. I hope this makes sense. Any suggestions would be appreciated. I am using RSLogix 5000.
Thanks
 
you should post the graph. So those who know this stuff have possibility to tell if its possible by means os math.

Otherwise, do lookup table.
 
Here's an example. I basically need to build a data base for different ingredients. Each ingredient will have a different rate for a given RPM and I need to know how to scale the data to give me a starting point.
 
I can get a third order trendline to fit pretty close using Excel. You may want to try that.

But for what you are doing a look-up table may be your best bet. It lets you adjust areas of the curve on the fly without having to re-calculate the equation constants.

Keith
 
My head hurts trying to understand why it won't be a linear relationship between an auger speed and its output. But anyway, as others have suggested a simple way it to use a lookup table. If you don't know what one of those is, then read on. You create a table that relates output to speed at a number of points, the more points you enter the more nearly will the result match your curve. When the operator enters a lbs value the plc uses the table to find the related speed. The only problem comes if the operator enters a value that isn't in the table. For instance you have set what to do at 100lbs and 125lbs but the operator wants 110lbs, then you just use a linear scale between the 100lb and 125lb values in your look up table. It is the linear scaling between two points that gives the inaccuracy in the system, rather than a smooth curve you get a curve made up of lots of little straight bits.

edit:
Don't forget to set limits in what the operator can enter, that matches the limits of you table, otherwise you can be certain that they will enter some bad data that will cause you problems.

Bryan
 
Last edited:
Here's an example. I basically need to build a data base for different ingredients. Each ingredient will have a different rate for a given RPM and I need to know how to scale the data to give me a starting point.


It seems to me that this is a simple application for a F(x) if you have access to Function Block programming or Structured Text. It is a little harder in Ladder Logic but can certainly be done.
 
My head hurts trying to understand why it won't be a linear relationship between an auger speed and its output.

were in the same club then, you would think once momentum is acheived the remaining should be linear.
 
Where did you get the numbers?

I can get a third order trendline to fit pretty close using Excel. You may want to try that.

But for what you are doing a look-up table may be your best bet. It lets you adjust areas of the curve on the fly without having to re-calculate the equation constants.

Keith
An excel spread sheet would have been better.
 
Originally posted by Peter Nachtwey:

Where did you get the numbers?


Post #3 and a liberal use of eyeball interpolation.


Originally posted by Peter Nachtwey:

An excel spread sheet would have been better.

Agreed. That's probably where the graph print came from in the first place.

Keith
 
In a pinch I have done a bunch of rungs, each with a compare followed by an SCP block. Each rung covers a different section of the graph as a short straight line.

If you need to cover different products you could use indirect addressing or arrays and it would be relatively simple if you always break the graph up into the same number of straight lines.
 
My head hurts trying to understand why it won't be a linear relationship between an auger speed and its output.........Bryan

Welcome to "real-world" Bryan, where theory and practice seldom shake hands.

In this case I can see that at higher auger speeds it is more efficient.

Perhaps the auger is doing a vertical lift, and gravitational backflow causes the non-linearity, or the auger isn't a perfect fit in its housing, or the material is a slurry that has a degree of "thicktion" (think tomato sauce or the man running across a swimming pool filled with custard...)

Anyway I would go with a lookup table for linearisation, it is easily modifiable if needed
 
Isn't Logix 5000 the program for CLX? If so, CLX has a function block called FGen ("function generator").

It is somewhat similar to the one below from a different system:
2wlre6h.jpg


See pgs 36, 37, 38 in the document below for an application example using FGEN in CLX.
http://www.t-bak.com/Process Contr...ntrolLogix.pdf

Maybe that will do it.
 

Similar Topics

HI Guys, I am in the process of implementing a nonlinear controller for dissolved oxygen concentration of the activated sludge process, as it is a...
Replies
0
Views
1,984
Hello guys, these days, I was trying to linearize nonlinear model which is used in "PID problem" thread. I never linearized model before that, so...
Replies
23
Views
15,920
Hi, having some issues with scalings (SCP commands) with some Vegapuls 65 guided wave radar level transmitters. I've set the min/max in the...
Replies
5
Views
186
I want to measure the tank level and get the sensor output to the PLC. Below are the details : Tank Height =0 - 3m, the sensor is stalled 0,2m...
Replies
15
Views
639
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
373
Back
Top Bottom