Zum Inhalt

F_SUB_DATE_DATE

F_SUB_DATE_DATE


F_SUB_DATE_DATE

Einführung

Der F_SUB_DATE_DATE ist ein standardkonformer Funktionsbaustein zur Berechnung von Zeitdifferenzen zwischen zwei Datumswerten, entwickelt unter EPL-2.0 Lizenz. Version 1.0 ermöglicht die präzise Berechnung von Zeitintervallen gemäß IEC 61131-3 Standard.

Schnittstellenstruktur

Ereignis-Eingänge

  • REQ: Berechnungsanforderung (mit Start- und Enddatum)

Ereignis-Ausgänge

  • CNF: Berechnungsbestätigung (mit Zeitdifferenz)

Daten-Eingänge

  • IN1 (DATE): Startdatum (Minuend)
  • IN2 (DATE): Enddatum (Subtrahend)

Daten-Ausgänge

  • OUT (TIME): Berechnetes Zeitintervall (IN1 - IN2)

Funktionsprinzip

  1. Berechnungsauslösung:
  2. REQ-Ereignis mit zwei DATE-Werten
  3. Beide Eingänge müssen vom Typ DATE sein

  4. Differenzberechnung:

  5. Konvertierung beider Datumswerte in Sekunden seit 1970-01-01
  6. Subtraktion der Zeitstempel (IN1 - IN2)
  7. Umwandlung in TIME-Datentyp

  8. Ergebnisausgabe:

  9. CNF-Ereignis mit berechnetem Zeitintervall
  10. Positive Werte wenn IN1 > IN2, negative bei IN1 < IN2

Technische Besonderheiten

Präzise Zeitdifferenz (Tagesgenau) ✔ Berücksichtigung von SchaltjahrenNegative Zeitintervalle für rückwirkende Berechnungen ✔ Plattformunabhängige Zeitberechnung

Anwendungsszenarien

  • Prozessdauerberechnung: Produktionszeit zwischen zwei Daten
  • Wartungsintervalle: Restlaufzeit bis nächste Wartung
  • Projektplanung: Verbleibende Zeit bis Deadline
  • Lagerverwaltung: Haltbarkeitsdauer-Berechnung

Fehlerbehandlung

  • Datumsgrenzen:
  • Unterstützt den Bereich 1970-01-01 bis 2106-02-07
  • Bei Überschreitung: OUT = T#0s

  • Typinkompatibilität:

  • OUT = T#0s
  • Keine Exception-Generierung

⚖️ Vergleich mit ähnlichen Bausteinen

Feature F_SUB_DATE_DATE F_SUB_TIME F_SUB_DT_DT
Eingangstypen DATE - DATE TIME - TIME DT - DT
Ausgangstyp TIME TIME TIME
Genauigkeit Tagesgenau Nanosekunde Mikrosekunde

Fazit

Der F_SUB_DATE_DATE-Baustein bietet eine optimierte Lösung für Datumsdifferenzen:

  • Kalendergenaue Berechnungen
  • Einfache Handhabung von Zeitintervallen
  • Standardkonforme Implementierung

Besonders wertvoll für Anwendungen mit terminbezogenen Berechnungen und langfristigen Zeitplanungen.