B83_LINEARINTERPOLATION
PROGRAM TEST B83 VAR FB : LIB.CORE.V1_0.B83_LINEARINTERPOLATION; END_VAR FB(IN:=REAL1, XVALUES:=POLE,YVALUES:=POLE2,ENABLEVALUES:=POLE3,RECALCULATESLOPES:=BOOL1, ENABLEMIN:=TRUE,ENABLEMAX:=TRUE,XMIN:=0,XMAX:=50,OUT=>REAL2); END_PROGRAM
LIB\CORE
V1.0
The block converts the input signal to the output using interpolation curve consisting of 10 segments.
| Input | Type | Description | Default value | 
| IN | REAL | Input signal | 0 | 
| XVALUES | ARRAY[1..10] OF REAL | Array of X coordinates 1-10 | [0,0,…,0] | 
| YVALUES | ARRAY[1..10] OF REAL | Array of Y coordinates 1-10 | [0,0,…,0] | 
| ENABLEVALUES | ARRAY[1..10] OF BOOL | Array of enable values | [False,…,False] | 
| ENABLEMIN | BOOL | Enable of low alarm | False | 
| ENABLEMAX | BOOL | Enable of high alarm | False | 
| XMIN | REAL | Low alarm limit | 0 | 
| XMAX | REAL | High alarm limit | 0 | 
| RECALCULATESLOPES | BOOL | Rising edge recalculates the block with new XValues/YValues/EnableValues. | False | 
| Output | Type | Description | 
| OUT | REAL | Output value | 
| MINALARM | BOOL | Low alarm | 
| MAXALARM | BOOL | High alarm | 
The block calculates a transfer function defined by up to 10 points [X1,Y1] … [X10,Y10], which are linked by lines. The Enable values activate the corresponding (X, Y) point.