31 lines
860 B
Smalltalk
31 lines
860 B
Smalltalk
(*
|
||
===============================================================================
|
||
Project : PLC_Library
|
||
Device : -
|
||
Path : Fastwel
|
||
Name : AIM731_AO
|
||
Type : FUNCTION
|
||
Exported : 2026-07-31 11:16:16
|
||
===============================================================================
|
||
*)
|
||
|
||
FUNCTION AIM731_AO : WORD
|
||
(*
|
||
Перевод значений -10..+10 В или 0..+10 В в единицы АЦП выходов модуля AIM731
|
||
Диапазон:
|
||
RANGE = 0 - -10..+10 В
|
||
RANGE = 1 - 0..+10 В
|
||
*)
|
||
VAR_INPUT
|
||
DAC : REAL; (*Вольты*)
|
||
RANGE : BYTE; (*Диапазон -10..+10 В - 0; 0..+10 В - 1 *)
|
||
END_VAR
|
||
(*----- IMPLEMENTATION -----*)
|
||
CASE RANGE OF
|
||
0 : AIM731_AO := REAL_TO_WORD((DAC + REAL#10.0)/REAL#0.00030518);
|
||
1 : AIM731_AO := REAL_TO_WORD(DAC/REAL#0.00015259);
|
||
ELSE
|
||
AIM731_AO := 0;
|
||
END_CASE;
|
||
END_FUNCTION
|