28 lines
849 B
Smalltalk
28 lines
849 B
Smalltalk
(*
|
|
===============================================================================
|
|
Project : PLC_Library
|
|
Device : -
|
|
Path : Fastwel
|
|
Name : AIM730_AO
|
|
Type : FUNCTION
|
|
===============================================================================
|
|
*)
|
|
|
|
FUNCTION AIM730_AO : WORD
|
|
(*
|
|
Перевод значений 0..20 мА или 4..20 мА в единицы АЦП выходов модуля AIM730
|
|
*)
|
|
VAR_INPUT
|
|
DAC : REAL; (*Миллиамперы*)
|
|
RANGE : BYTE; (*Диапазон: 0 - 0..20 мА; 1 - 4..20 мА *)
|
|
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
|