SUB

Subtrahieren

Der im Operandenbereich angegebene Operand wird vom Akkumulator subtrahiert. Das Ergebnis der Operation steht im Akkumulator.

Parameter

Eingang

Unnamed input (INT, DINT, UINT, UDINT, REAL, LREAL)

1. Eingang: Minuend

Unnamed input (INT, DINT, UINT, UDINT, REAL, LREAL)

2. Eingang: Subtrahend

Ausgang

Unnamed output (INT, DINT, UINT, UDINT, REAL, LREAL)

Ausgang wie Eingang: Ergebnis

Anmerkungen

Alle Operanden müssen vom gleichen Datentyp sein.

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
		bStart: BOOL:=FALSE;
		iMinuend: INT:=0;
		iSubtrahend: INT:=0;
		iResult: INT:=0;
	END_VAR

In diesem Beispiel wurden die Eingangsvariablen (iMinuend, iSubtrahend und bStart) deklariert. Statt dessen können Sie Konstanten direkt an die Eingänge der Funktion schreiben (z.B. für Tests).

KOP-Rumpf

Wenn bStart gesetzt ist, wird iSubtrahend (Datentyp INT) von iMinuend subtrahiert. Das Ergebnis wird in iResult (Datentyp INT) geschrieben.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,minuend,6,3,8,5,);
B(B_VARIN,,subtrahend,6,4,8,6,);
B(B_VAROUT,,result,14,3,16,5,);
B(B_CONTACT,,enable,3,2,5,4,);
B(B_F,E_SUB!,Instance,8,1,14,6,,?DEN?D?D?AENO?C);
L(1,3,3,3);
L(5,3,8,3);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF bStart then
    iResult:=iMinuend-iSubtrahend;
END_IF;

AWL-Rumpf

Letzte Änderung am: 2022-11-11Feedback zu dieser SeitePanasonic Hotline