(* @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