# Documentation

## Two-Point Function (B80)

### Two-Point Function (B80) ### Block name

B80_TWOPOINTFUNCTION

### ST call

`Version V1.0PROGRAM 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_PROGRAMVersion V1.1PROGRAM 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`

LIB\CORE

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 X1<X2 and X1>X2 is possible. If X1=X2 then y=Y1 for x<X1, y=Y2 otherwise, see figure 2 below. The sign output is indicating the sign of the output signal y: When y>= 0 sign=true, otherwise sign=false. Function may be rising or falling, [X1,Y1], [X2,Y2]. In case that X1=X2: value at x=X1=X2 is given by Y2.

### Application example 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.