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.