TwoPointFun
TwoPointFun (FUN)
TwoPointFun (FUN)FUNCTION TwoPointFun : REAL
Short description
Linear conversion of a numeric input value using a characteristic curve defined by two points. Typical application: scaling of raw process values
Interfaces
Inputs
rIn_X
REAL
Analog value input
rX1
REAL
0
Point 1 of the input range
rY1
REAL
0
Point 1 of the output characteristic curve
rX2
REAL
100
Point 2 of the input range
rY2
REAL
100
Point 2 of the output characteristic curve
xMinMaxLimit
BOOL
Enable / disable the limit at the analog value output
iMinMaxOffset
INTEGER
Values of the limits at the analog value output
Outputs
TwoPointFun
REAL
Linear conversion of a numerical input value
xErr
BOOL
* FALSE: Conversion error-free * TRUE: Error during the conversion process
Function description
Analog value output
The analog value output is from the analog value input rIn_X depending on the linear characteristic curve defined by the two points P1(rX1/rY1) and P2(rX2/rY2) is calculated. In the event of a conversion error (xErr = TRUE) the analog value output remains unchanged.

Formula
rOut_Y = (((rX1-rIn_X)*(rY2-rY1))/(rX1-rX2))+rY1\
Constraints
The analog value output is of data type REAL. Through an unsuitable selection of the parameters rX1, rX2, rY1 and rY2 as well as the value of the analog value input rIn_X it can lead to exceeding the limits of the data type.
Enable / disable limits xMinMaxLimit
The limits of the analog value output can generally be enabled and disabled with this input.
xMinMaxLimit
Limits
Notes
FALSE
none
Analog value output without absolute limits
TRUE
Y_min and Y_max
Limitation of the analog value output active
Values of the limits iMinMaxOffset
The limits of the analog value output are only active if the input xMinMaxLimit is active (= TRUE). The limit values Y_min and Y_max are then calculated as follows:
Formulas
Y_min = rY1 - ((ABS(rY2-rY1))*iMinMaxOffset)/100 Y_max = rY2 + ((ABS(rY2-rY1))*iMinMaxOffset)/100
rY1
rY2
rY2 - rY1
iMinMaxOffset
Y_min
Y_max
Notes
0
100
100
0
0
100
Default limits
0
100
100
10
-10
110
Positive offset
0
100
100
-10
10
90
Negative offset
Digital output xErr
The digital output xErr signals an error during the conversion process. The following errors are considered:
rX1 AND rX2 = 0
rX1 = rX2
rY1 AND rY2 = 0
rY1 = rY2
Error during the conversion process
xErr
Notes
FALSE
FALSE
Conversion error-free
TRUE
TRUE
Error during the conversion process
Legend: X = any
CODESYS
InOut:
Return
TwoPointFun
REAL
Input
rIn_X
REAL
Input
rX1
REAL
0
Input
rX2
REAL
100
Input
rY1
REAL
0
Input
rY2
REAL
100
Input
xMinMaxLimit
BOOL
Input
iMinMaxOffset
INT
Output
xErr
BOOL
Last updated

