Is there a more memory-efficient way to write a linearizer FB?

In general it is supposed to make a non-linear valve provide flow as if it is linear. That isn't exactly what strantor is really doing since he isn't trying to perfectly compensate for the dead band.

If the system is a dynamic system where the flow must change rapidly then this technique will fail.

I don't follow; I am compensating for deadband, unless I'm missing something (please say so if you see something I'm missing).

Perhaps my variable tags give the wrong impression; The variable tag POS80, for example, is a stored raw value of 7079 (7.079V out).

Here is a table and graph of my X & Y values; an example from one of my valves, this one "Port sheave motor" (it is a danfoss PVG32 valve responding to 2.5-7.5V, feeding a piston motor):
attachment.php


So as you can see, from an input of -1 to an input of +1, there is a difference of 2.210V. This 2.210V is the deadband of the valve, and the FB has removed this from the output. The only voltage which is output between -1 and +1 input, is 5.000V, the valve-centering reference.

the column of y-values is different for each valve in the system, and the Y values are generated empirically. There is a turbine flow sensor on the HPU which I use to calibrate the valves; With the system fully warmed up to a stable temperature, I send a full 10V to the valve-under-test, and record the raw value of my flow sensor. I then have a display reading the output of the flow sensor, and calibrated to read 100% at the previously recorded value. I send gradually increasing (from 5000 (5.000V)) raw commands to the valve-under-test until I see the wheel just barely start to turn, and then save the current raw output value as POS1. Then I very slowly increment the raw value more, until my flow display reads 20%, and then save that value as POS20, and so on, then same in reverse.

I have checked and double checked the output linearity using this FB, at different operating temperatures, and it does seem to give me very acceptable results. When the fluid is cold, it outputs less than 100% at max, but the effect of cold fluid seems to be applicable through the entire output range, and the flow still seems linear through the range with cold fluid.

...


After typing all the above, it occurs to me that maybe the point you were making is in reference to hysteresis. Is that the case? Are you saying that if I don't account for hysteresis that I will fail to make the correct rapid adjustments?

deadband.png
 
Last edited:

Similar Topics

Hello, i need to use P_Intlk and feed the Status interlock OK bit to a P_DOut block. However, there's 17 interlocks for this output. How can I...
Replies
1
Views
110
Hi everyone, recently i worked with a cmore panel and have the question that how can clear alarm list whit remote form,right now only can with...
Replies
0
Views
112
Hello, friends, I am trying to upgrade a system that uses an Onrom incremental encoder (E6B2-CWZ6C) connected to a Danfoss VFD (FC360), but now...
Replies
4
Views
276
Hello Friends I have took the sample program from AB webpage and modified, but I can only send 127 chars...
Replies
1
Views
187
Hello, I am new here and have been working with PLCs for a few years now. I have been tasked with setting up a Micrologix 1400….. to a Cmore 10...
Replies
10
Views
502
Back
Top Bottom