====== Two-point function ======
{{:en:mervis-ide:35-help:b80.png}}
===== Block name =====
B80_TWOPOINTFUNCTION
===== ST call =====
Version V1.0
PROGRAM TEST B80
VAR
REAL1,REAL2: REAL;
END_VAR
REAL2 := LIB.CORE.V1_0.B80_TWOPOINTFUNCTION(IN:=REAL1, X1:=20,X2:=20,Y1:=0,Y2:=100);
END_PROGRAM
Version V1.1
PROGRAM TEST2_B80
VAR
FB:LIB.CORE.V1_1.B80_TWOPOINTFUNCTION;
IN_V:REAL;
X1_V:REAL:=20;
X2_V:REAL:=20;
Y1_V:REAL:=0;
Y2_V:REAL:=100;
OUT_V:REAL;
END_VAR
FB(IN:=IN_V, X1:=X1_V, X2:=X2_V, Y1:=Y1_V, Y2:=Y2_V);
OUT_V:=FB.OUT;
END_PROGRAM
===== Library =====
LIB\CORE
===== Version =====
V1.1
===== Description =====
Linear function, recalculation of input value to output value defined by two points.\\
===== Inputs =====
|Input|Type|Description |Default value|
|IN |REAL|Input signal |0 |
|X1 |REAL|1.point, x coordinate|20 |
|X2 |REAL|2.point, x coordinate|50 |
|Y1 |REAL|1.point, y coordinate|0 |
|Y2 |REAL|2.point, y coordinate|100 |
===== Outputs =====
|Output|Type|Description |
|OUT |REAL|Output signal |
|SIGN |BOOL|Sign of the output signal|
===== Function =====
The block implements a transfer function given by two points, //[X1,Y1]// and //[X2,Y2]//, see figure below. The points do not have fixed order, both //X1X2// is possible. If //X1=X2// then //y=Y1// for //x= 0// //sign=true//, otherwise //sign=false//.
{{:en:mervis-ide:35-help:b80_1.png}}
Function may be rising or falling, //[X1,Y1]//, //[X2,Y2]//.
{{:en:mervis-ide:35-help:b80_2.png}}
In case that //X1=X2//: value at //x=X1=X2// is given by //Y2//.
===== Application example =====
{{:en:mervis-ide:35-help:b80_example.png}}
Function with internal parameters x1=20, x2=20, y1=0, y2=100.
\\
\\
===== Older version =====
\\
VersionĀ V1.0 was defined as a function. V1.1 is defined as a function block, therefore it can bes added to graphs and it can be set tu manual mode. Functionality remains without change.