CompactLogix - Linearization instruction . Trying to understand . Any thoughts ?

Rob S.

Member
Join Date
Sep 2008
Location
Maryland
Posts
739
I am trying to understand an Italian CompactLogix program. It is for a dough laminator . The block looks like .....,

Linearization
X1. -500
X2. 10618.0
Y1. HMI Real [1]. 0.0
Y2. HMI Real [2]. 18.2
X I.Gen.RIF_Traino
Y. Oven_Reference.Vel_Traino

It is a Add-On-Defined Data Type I see in the tree.

Have any of you seen this done before , and if so , what would it be used for ?

Thanks in advance.

IMG_0645.jpg
 
Sorry it is upside down. I could not find this instruction in the instruction help or and instruction manual. Is this a custom made instruction?
 
looks like an Add-On Instruction ... try Right-Clicking it and then select Open Instruction Logic (or something like that) ... if it's not "protected" then you should gain some insight into what is going on under the hood ...
 
Last edited:
I hope this shows upright , this time. I am using my phone.

After right clicking I had Open Definition and Properties as options .

Thanks,

IMG_0647.jpg IMG_0646.jpg
 
I am using my phone.

that's a problem for someone like me who has 70 year old eyes ... even when I rotate the image, I still can't make out what it says ...

perhaps the other members can see it well enough? - but I'm sorry that I can't help you ...

maybe a "screen shot" would be better? ...

from what little I am able to see - it looks like an SCP type operation (for linear scaling) ... but that's just a GUESS at this point ...
 
Sorry it is upside down. I could not find this instruction in the instruction help or and instruction manual. Is this a custom made instruction?

Yes, this is an Add-On Instruction. By the sound of it, you're not familiar with AOI's, so a little reading up on the subject will probably help answer a lot of your questions.

See this article and this article for a brief description of what they are and how to work with them, and then this document for any detail you're still unclear on.

Once you've got a handle on what AOI's are, why they're used, and how they work, what you're seeing in your program will probably become as understandable as it can be when you don't speak Italian ;)
 
Definitely just an implementation of and SCP (SCale with Parameters) instruction, which wasn't included in the Logix5000 instruction set.

I hope the picture i've attached helps Ron to see the math in the AOI definition - pretty straightforward.

EDIT - didn't come out as big as I'd hoped, but just about readable with Ctrl-+++

2017-01-23_011930.jpg
 
Just a thought....

Have a look to see if there are alternative languages installed for the documentation. It's unlikely, but if the manufacturer has installations worldwide he might just have provided it.

Firstly make sure you have the "Documentation Languages" toolbar open, (see pic) and then see if the drop-down on that tool-bar gives you translated documentation.

Bad luck if there aren't alternative languages, but you can always generate "English" if you wanted or needed to.

The method for creating multiple languages is a bit tricky, but well documented.

You will need the help of an Italian-speaking colleague who you can describe the process to - it can be amazing what translations for technical stuff can come back from commercial translators....
 
Lesson on this one, if you are going to create an AOI that handles mathematical equations, use STRUCTURED TEXT! Equations will look like actual math and can be instantly recognizable. Add a comment to tell someone what the name of the equation is for future reference:

Simplified example
Code:
// Equation of a line: Slope intercept form y = mx+b
// Where:
// m = slope
// b = y-intercept (offset)

m := (Y2-Y1)/(X2-X1)
y := mx + b


EDIT: The blue text is a description "equazione retta dati due punit" = "straight equation Given two points" via google translate.
 
Last edited:
The AOI is using linear interpolation to give you the output of Y given an analog measurement X.
To scale the value of X to Y you need to supply the range for those values.

Since X1 and X2 are fixed, I'm guessing they are the min and max values of some analog input module,
or the min and max for some other function used in the control of the oven.

Y1 and Y2 are the boundaries for the output value, oven reference, and look like they are set in the operator interface (HMI).

Say you had an analog input module with a range from 6221 < x < 31104.
You then want to use that module to read the measurement from a 0 - 40°C thermometer.

You can derive an equation for scaling the thermometer as follows:

XzecWZC.jpg


MNuu6k7.jpg


In your example Y2 relates to y1 in the above images, Y1 to y0, X2 to x1 and so forth.
 
The AOI is using linear interpolation to give you the output of Y given an analog measurement X.
To scale the value of X to Y you need to supply the range for those values......


.....In your example Y2 relates to y1 in the above images, Y1 to y0, X2 to x1 and so forth.

Nice diagram ! One small point though, the straight-line "curve" should be extended (to infinity and beyond, lol) the extremities you have drawn - the math allows any value input, even if outside the stated "range" of the input min. and max.
 
Lesson on this one, if you are going to create an AOI that handles mathematical equations, use STRUCTURED TEXT! Equations will look like actual math and can be instantly recognizable. Add a comment to tell someone what the name of the equation is for future reference:

That's all well and good, but some people don't have it, and some people don't allow it.

In ladder, the whole "equation" for scaling can be put into one CPT instruction, so that would be just as readable as STL
 

Similar Topics

Hi everyone, i have a compact logic 1769-L18 PLC and I'm using FTalk View ME for the display. I wanted to do some visualization on Grafana. At...
Replies
1
Views
95
Does anyone know what the data transfer rate for this series of CompactLogix PLC's? 1769-L24ER-QB1B to be exact. Cheers.
Replies
1
Views
98
Does this instruction calculate values during a single scan, or does it require number of scans based on element count in the array? For Example...
Replies
3
Views
114
Hello all, and thank you in advance for any assistance you may be able to provide! This is my first post, so if I need to reformat or change...
Replies
8
Views
478
We are trying to poll data coming from a PLC for remote monitoring we have the IP address of the PLC and the default port number and the path is...
Replies
25
Views
578
Back
Top Bottom