Subtrahieren
Der im Operandenbereich angegebene Operand wird vom Akkumulator subtrahiert. Das Ergebnis der Operation steht im Akkumulator.
Eingang
1. Eingang: Minuend
2. Eingang: Subtrahend
Ausgang
Ausgang wie Eingang: Ergebnis
Alle Operanden müssen vom gleichen Datentyp sein.
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).
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
IF bStart then
iResult:=iMinuend-iSubtrahend;
END_IF;