B81_FOURPOINTFUNCTIONNODE
PROGRAM TEST2_B80
VAR
FB:LIB.CORE.V1_0.B81_FOURPOINTFUNCTIONNODE;
IN_V:REAL;
X1_V:REAL:=0;
X2_V:REAL:=20;
X3_V:REAL:=60;
X4_V:REAL:=80;
Y1_V:REAL:=0;
Y2_V:REAL:=100;
Y3_V:REAL:=150;
Y4_V:REAL:=180;
OUT_V:REAL;
END_VAR
FB(IN:=IN_V, X1:=X1_V, X2:=X2_V, X3:=X3_V, X4:=X4_V, Y1:=Y1_V, Y2:=Y2_V, Y3:=Y3_V, Y4:=Y4_V);
OUT_V:=FB.OUT;
END_PROGRAM
LIB\CORE
V1.0
Block defines an arbitrary transfer curve given by four points.
Input | Type | Description | Default value |
---|---|---|---|
IN | REAL | Input signal | 0 |
X1 | REAL | 1.point, x coordinate | 0 |
X2 | REAL | 2.point, x coordinate | 1 |
X3 | REAL | 3.point, x coordinate | 2 |
X4 | REAL | 4.point, x coordinate | 3 |
Y1 | REAL | 1.point, y coordinate | 0 |
Y2 | REAL | 2.point, y coordinate | 1 |
Y3 | REAL | 3.point, y coordinate | 2 |
Y4 | REAL | 4.point, y coordinate | 3 |
Output | Type | Description |
---|---|---|
OUT | REAL | Output signal |
SIGN | BOOL | Sign of the output signal |
The block implements an arbitrary transfer curve given by four points – [X1,Y1], [X2,Y2],[X3,Y3],[X4,Y4]. The function is constant behind the last point and before the first point as well, see the Figure below.
Let us create a function which is depicted on the Figure below, right. According to the Figure we want an increasing function with slope 1 for "all possible values" greater then zero. If "all possible values" in our case are less then for example 1000 we can solve the problem by the following setting: [X1,Y1]=[0,0], [X2,Y2]=[X3,Y3]=[X4,Y4]=[1000,1000].