ParamManagerScripts/backend/script_groups/TwinCat/.example/READPERIPHERIAL.EXP

24 lines
521 B
Plaintext

(* @PATH := '\/Functions_Collection' *)
(* @SYMFILEFLAGS := '0' *)
FUNCTION ReadPeripherial : REAL
VAR_INPUT
i_Periferial : INT ;
i_MaxAnalog : REAL ;
i_MinAnalog : REAL ;
i_PerMin : INT ;
i_PerMax : INT ;
END_VAR
VAR
mSlope : REAL ;
mZero : REAL ;
END_VAR
(* @END_DECLARATION := '0' *)
IF i_PerMax <> i_PerMin THEN
mSlope := (i_MaxAnalog - i_MinAnalog) / (i_PerMax - i_PerMin) ;
mZero := i_MinAnalog - i_PerMin * mSlope ;
ReadPeripherial := i_Periferial * mSlope + mZero ;
END_IF
END_FUNCTION