[CHARFNCT] Characteristics with linearization
The CHAR function block uses a characteristic curve (function) to calculate an output value for each input value.
The CHARFNCT function block uses a characteristic curve (function) to calculate an output value for each input value.
This characteristic curve is defined by entering auxiliary points [Xn],[Yn]. The type of interpolation between the auxiliary points can be selected:
- Linear
- Smooth
- Linear inverse
- Smooth inverse
- Stepped
CHARFNCT calculates the corresponding function from the parameterized characteristic curve [X1],[Y1]...[Xn],[Yn] and the defined type of interpolation [ChlinMod].
This function is used to calculate the output value [Out] for each input value [In].
Outside the function range defined by the auxiliary points, the output value corresponds to either the first or last auxiliary value.
Types of interpolation
[ChlinMod] = 1 (Linear):
This function carries out linear interpolation (straight-line) between the auxiliary points [Xn],[Yn].

[ChlinMod] = 2 (Smooth):
This function carries out smoothed interpolation (curves) between the auxiliary points [Xn],[Yn].

[ChlinMod] = 3 (Linear inverse):
Inverted function of [ChlinMod] = Linear
The characteristic curve must not be fully monotonous (rising or falling, not constant, not rising, and not falling).


[ChlinMod] = 4 (Smooth inverse):
Inverted function of [ChlinMod] = Smoothed
The characteristic curve must not be fully monotonous (rising or falling, not constant, not rising, and not falling).


[ChlinMod] = 5 (Stepped):
For the input value, point CHARFNCT searches for the next smaller auxiliary point [Xi] and sends its function value [Yi] to the output. When input value [In] is less than [X1], [Y1] is issued. The stepping function is given as a number of [NumVldXY] value pairs [X], [Y] (number of auxiliary points). There is not interpolation between the auxiliary points.

Input | Description | Data type | Default value |
|---|---|---|---|
In | Input | Real | 0.0 |
|
ChlinMod | Characteristics and linearization mode | Integer | 1: Linear |
1: Linear - This function carries out linear interpolation (straight-line) between the auxiliary points [Xn],[Yn]. | |||
NumVldXY | Number of valid sample points X, Y | Integer | 10 2…10 |
X1…X10 | Auxiliary point X1…Auxiliary point X10 Required value. | Real | 0.0 |
Y1…Y10 | Auxiliary value Y1…Auxiliary value Y10 Required value. | Real | 0.0 |
Output | Description | Data type | Default value |
|---|---|---|---|
Out | Output | Real | 0.0 |
[ChlinMod] = 1 (Linear) and [ChlinMod] = 2 (Smoothed):
This block typically is used to correct the room setpoint in dependence of the outside air temperature in air conditioning plants (summer/winter compensation).
[ChlinMod] = 3 (Linear inverted) and [ChlinMod] = 4 (Smoothed inverted):
Compensation of non-linear characteristics in air handling plants to improve overall control response represents a typical application.
CHARFNCT generates an error message in three cases. In these cases, [Out] = 0 is the output value.
- If the number of auxiliary points is smaller than 2 and greater than 10.
- If the auxiliary point X[i] >= X[i+1].
- If the characteristic curve entered for "inverse linear" or "Smoothed inverted" interpolation is not monotonous (rising or falling, not constant, not rising, and not falling at the same time).
Linearization of the characteristic curve of the non-linearity between damper position < > volume flow of an air damper:

The manipulated variable of the volume flow controller influences the non-linear actuating device "air damper". Control chain "controller + linearization + air damper" exhibits a near-linear response, as inverting the characteristic curve compensates for non-linearity.