29 lines
902 B
Smalltalk
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
|