DATE von DATE subtrahieren
SUB_DATE_DATE subtrahiert einen Wert vom Datentyp DATE von einem anderen DATE-Wert. Das Ergebnis wird in der Ausgangsvariable vom Datentyp TIME gespeichert.
Eingang
1. Eingang: Minuend
2. Eingang: Subtrahend
Ausgang
Ergebnis
Das TIME-Ergebnis ist nur dann gültig, wenn die Differenz zwischen Minuend und Subtrahend kleiner oder gleich der maximal erlaubten TIME-Zeitdauer ist. Andernfalls ensteht ein Überlauf der TIME-Ergebnisvariable und der CARRY-Merker wird gesetzt.
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
DATE_value1: DATE:=D#2010-06-30;
DATE_value2: DATE:=D#2010-01-01;
TIME_result: TIME:=T#0s;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,SUB_DATE_DATE!,Instance,17,1,26,4,,?D?D?C);
B(B_VARIN,,DATE_value1,15,1,17,3,);
B(B_VARIN,,DATE_value2,15,2,17,4,);
B(B_VAROUT,,TIME_result,26,1,28,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
TIME_result := SUB_DATE_DATE(DATE_value1, DATE_value2);