Files

29 lines
902 B
Smalltalk

(*
===============================================================================
Project : PLC_Library
Device : -
Path : Преобразование значений
Name : NTC_termistor_T
Type : FUNCTION
===============================================================================
*)
FUNCTION NTC_termistor_T : REAL
(* Перевод сопротивдления в температуру для NTC-type термистолров *)
VAR_INPUT
Res: REAL; (* Значение сопротивления *)
R0: REAL; (* Сопротивление при T0 *)
T0: REAL; (* T0 *)
b: REAL; (* Beta *)
END_VAR
VAR
END_VAR
(*----- IMPLEMENTATION -----*)
IF (Res <= REAL#0.0) OR (R0 <= REAL#0.0) OR (b = REAL#0.0) THEN
NTC_termistor_T := REAL#0.0;
RETURN;
END_IF;
NTC_termistor_T := (1.0 / ((1.0 / (T0 + 273.15)) + (1.0 / b) * LN(Res / R0))) - 273.15;
END_FUNCTION