SCALE_UINT

Scala dati UINT

Questa istruzione scala un valore INTEGER senza segno tra un limite inferiore e un limite superiore ad un valore di uscita INTEGER senza segno. Utilizzate WITHIN_LIMITS per controllare se il valore di ingresso sia compreso nei limiti specificati.

Parametri

Ingresso

uiInput (UINT)

Segnale di ingresso

uiInputLowerLimit (UINT)

Limite inferiore del range di ingresso

uiInputUpperLimit (UINT)

Limite superiore del range di ingresso

uiOutputLowerLimit (UINT)

Valore di uscita allocato al limite inferiore del range di ingresso (può essere maggiore di uiOutputUpperLimit)

uiOutputUpperLimit (UINT)
Valore di uscita allocato al limite superiore del range di ingresso (può essere minore di uiOutputLowerLimit)

Uscita

VAR_OUT (UINT)

Segnale di uscita scalato

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		uiInput2: UINT:=32500;
		uiOutput2: UINT:=0;
	END_VAR

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_F,SCALE_UINT!,,15,0,26,7,,?DuiInput?DuiInputLowerLimit?DuiInputUpperLimit?DuiOutputLowerLimit?DuiOutputUpperLimit?C);
B(B_VARIN,,uiInput2,13,1,15,3,);
B(B_VARIN,,30000,13,2,15,4,);
B(B_VARIN,,40000,13,3,15,5,);
B(B_VARIN,,20000,13,4,15,6,);
B(B_VARIN,,60000,13,5,15,7,);
B(B_VAROUT,,uiOutput2,26,1,28,3,);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

if (bScale) then
    uiOutput2 := SCALE_UINT(uiInput := uiInput2,
       uiInputLowerLimit := 30000,
       uiInputUpperLimit := 40000,
       uiOutputLowerLimit := 20000,
       uiOutputUpperLimit := 60000);
end_if;

L'ultima revisione: 2023-07-18Feedback su questa paginaPanasonic hotline