Поправил скрипт, поправил неточности в библиотеке

This commit is contained in:
2026-07-31 11:20:45 +03:00
parent d3da512178
commit 3d52fdec57
44 changed files with 1956 additions and 51 deletions
@@ -0,0 +1,20 @@
(*
===============================================================================
Project : PLC_Library
Device : -
Path : Преобразование значений
Name : DWORD_OF_2WORD
Type : FUNCTION
Exported : 2026-07-31 11:16:16
===============================================================================
*)
FUNCTION DWORD_OF_2WORD : DWORD
VAR_INPUT
W1 : WORD;
W0 : WORD;
END_VAR
(*----- IMPLEMENTATION -----*)
DWORD_OF_2WORD := SHL(WORD_TO_DWORD(W1),16) OR WORD_TO_DWORD(W0);
END_FUNCTION
@@ -0,0 +1,23 @@
(*
===============================================================================
Project : PLC_Library
Device : -
Path : Преобразование значений
Name : DW_TO_REAL
Type : FUNCTION
Exported : 2026-07-31 11:16:16
===============================================================================
*)
FUNCTION DW_TO_REAL : REAL
VAR_INPUT
X : DWORD;
END_VAR
VAR
pt : POINTER TO REAL;
END_VAR
(*----- IMPLEMENTATION -----*)
pt := ADR(X);
DW_TO_REAL := pt^;
END_FUNCTION
@@ -0,0 +1,29 @@
(*
===============================================================================
Project : PLC_Library
Device : -
Path : Преобразование значений
Name : NTC_termistor_T
Type : FUNCTION
Exported : 2026-07-31 11:16:16
===============================================================================
*)
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
@@ -0,0 +1,23 @@
(*
===============================================================================
Project : PLC_Library
Device : -
Path : Преобразование значений
Name : REAL_TO_DW
Type : FUNCTION
Exported : 2026-07-31 11:16:16
===============================================================================
*)
FUNCTION REAL_TO_DW : DWORD
VAR_INPUT
X : REAL;
END_VAR
VAR
pt : POINTER TO DWORD;
END_VAR
(*----- IMPLEMENTATION -----*)
pt := ADR(X);
REAL_TO_DW := pt^;
END_FUNCTION
@@ -0,0 +1,20 @@
(*
===============================================================================
Project : PLC_Library
Device : -
Path : Преобразование значений
Name : WORD_OF_DWORD
Type : FUNCTION
Exported : 2026-07-31 11:16:16
===============================================================================
*)
FUNCTION WORD_OF_DWORD : WORD
VAR_INPUT
in : DWORD;
N : BYTE;
END_VAR
(*----- IMPLEMENTATION -----*)
WORD_OF_DWORD := DWORD_TO_WORD(SHR(in,SHL(n,4)));
END_FUNCTION