Files
PLC_Library/plc_src/POU/Fastwel/AIM730_AO.st
T

32 lines
946 B
Smalltalk

(*
===============================================================================
Project : PLC_Library
Device : -
Path : Fastwel
Name : AIM730_AO
Type : FUNCTION
Exported : 2026-07-31 11:16:16
===============================================================================
*)
FUNCTION AIM730_AO : WORD
(*
Перевод значений 0..20 мА или 4..20 мА в единицы АЦП выходов модуля AIM730
Диапазон:
RANGE = 0 - 0..20 мА
RANGE = 1 - 4..20 мА
*)
VAR_INPUT
DAC : REAL; (*Миллиамперы*)
RANGE : BYTE; (*Диапазон: 0..20 мА - 0; 4..20 мА - 1 *)
END_VAR
(*----- IMPLEMENTATION -----*)
IF (RANGE = 1) AND (DAC < 4) THEN AIM730_AO := WORD#4; RETURN;END_IF;
CASE RANGE OF
0 : AIM730_AO := REAL_TO_WORD(DAC/REAL#0.00030518);
1 : AIM730_AO := REAL_TO_WORD((DAC - REAL#4)/REAL#0.00024414435);
ELSE
AIM730_AO := WORD#0;
END_CASE;
END_FUNCTION