28 lines
886 B
Smalltalk
28 lines
886 B
Smalltalk
(*
|
|
===============================================================================
|
|
Project : PLC_Library
|
|
Device : -
|
|
Path : Fastwel
|
|
Name : AIM791_AI
|
|
Type : FUNCTION
|
|
===============================================================================
|
|
*)
|
|
|
|
FUNCTION AIM791_AI : REAL
|
|
(*
|
|
Перевод значений входов модуля AIM791 из единиц АЦП в 0..5 мА / 0..20 мА / 4..20 мА
|
|
*)
|
|
VAR_INPUT
|
|
ADC: WORD; (* Значение АЦП *)
|
|
RANGE: BYTE := 0; (* Диапазон: 0 - 0..5 мА; 1 - 0..20 мА; 2 - 4..20 мА *)
|
|
END_VAR
|
|
(*----- IMPLEMENTATION -----*)
|
|
CASE RANGE OF
|
|
0 : AIM791_AI := WORD_TO_REAL(ADC) * REAL#7.820248722E-005;
|
|
1 : AIM791_AI := WORD_TO_REAL(ADC) * REAL#3.128099488E-004;
|
|
2 : AIM791_AI := (WORD_TO_REAL(ADC) * REAL#3.128099488E-004) - REAL#4.0;
|
|
ELSE
|
|
AIM791_AI := REAL#0.0;
|
|
END_CASE;
|
|
END_FUNCTION
|