SCALE_REAL

REAL-Daten skalieren

Dieser Befehl skaliert einen REAL-Wert zwischen einem unteren und einem oberen Grenzwert auf einen REAL-Ausgangswert. Mit WITHIN_LIMITS prüfen Sie, ob der Eingangswert innerhalb des angegebenen Bereichs liegt.

Parameter

Eingang

rInput (REAL)

Eingangssignal

rInputLowerLimit (REAL)

Unterer Grenzwert des Eingangsbereichs

rInputUpperLimit (REAL)

Oberer Grenzwert des Eingangsbereichs

rOutputLowerLimit (REAL)

Der Ausgangswert, der dem unteren Grenzwert des Eingangsbereichs zugewiesen wird (kann höher als rOutputUpperLimit sein)

rOutputUpperLimit (REAL)

Der Ausgangswert, der dem oberen Grenzwert des Eingangsbereichs zugewiesen wird (kann niedriger als rOutputLowerLimit sein)

Ausgang

VAR_OUT (REAL)

Skaliertes Ausgangssignal

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		rInput4: REAL:=50.0e3;
		rOutput4: REAL:=0.0;
	END_VAR

KOP-Rumpf

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_REAL!,,15,0,26,7,,?DrInput?DrInputLowerLimit?DrInputUpperLimit?DrOutputLowerLimit?DrOutputUpperLimit?C);
B(B_VARIN,,rInput4,13,1,15,3,);
B(B_VARIN,,-100.0e3,13,2,15,4,);
B(B_VARIN,,+100.0e3,13,3,15,5,);
B(B_VARIN,,0,13,4,15,6,);
B(B_VARIN,,1000.0e4,13,5,15,7,);
B(B_VAROUT,,rOutput4,26,1,28,3,);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

if (bScale) then
    rOutput4 := SCALE_REAL(rInput := rInput4t,
           rInputLowerLimit := -100.0e3,
           rInputUpperLimit := 100.0e3,
           rOutputLowerLimit := 0,
           rOutputUpperLimit := 1000.0e4);
end_if;

Letzte Änderung am: 2023-07-18Feedback zu dieser SeitePanasonic Hotline