Zum Inhalt

F_SUB_TOD_TIME

F_SUB_TOD_TIME


F_SUB_TOD_TIME

Einführung

Der F_SUB_TOD_TIME ist ein standardkonformer Funktionsbaustein zur Subtraktion von Zeitintervallen von Tageszeiten (TIME_OF_DAY), entwickelt unter EPL-2.0 Lizenz. Version 1.0 ermöglicht tageszeitbezogene Berechnungen gemäß IEC 61131-3 Standard.

Schnittstellenstruktur

Ereignis-Eingänge

  • REQ: Berechnungsanforderung (mit Tageszeit und Zeitintervall)

Ereignis-Ausgänge

  • CNF: Berechnungsbestätigung (mit korrigierter Tageszeit)

Daten-Eingänge

  • IN1 (TIME_OF_DAY): Basis-Tageszeit (TOD#hh:mm:ss)
  • IN2 (TIME): Abzuziehendes Zeitintervall

Daten-Ausgänge

  • OUT (TIME_OF_DAY): Berechnete Tageszeit (IN1 - IN2)

Funktionsprinzip

  1. Berechnungsauslösung:
  2. REQ-Ereignis mit TIME_OF_DAY und TIME-Wert
  3. Gültiger Bereich: TOD#00:00:00 bis TOD#23:59:59.999999

  4. Zeitpunktberechnung:

  5. Umrechnung in Sekunden seit Mitternacht
  6. Subtraktion des Zeitintervalls
  7. Tageszeitliche Rückrechnung mit Überlaufbehandlung

  8. Ergebnisausgabe:

  9. CNF-Ereignis mit neuer Tageszeit
  10. Automatischer 24h-Überlauf (zirkuläre Berechnung)

Technische Besonderheiten

Mikrosekundengenauigkeit24h-Überlaufbehandlung (zirkuläre Tageszeit) ✔ Negative Intervalle (Addition von Zeit) ✔ Echtzeitfähige Berechnung

Anwendungsszenarien

  • Schichtplanung: Arbeitsbeginn berechnen
  • Lichtsteuerung: Sonnenaufgangszeiten korrigieren
  • Produktionsplanung: Maschinenlaufzeiten rückrechnen
  • Verkehrsleitsysteme: Fahrplananpassungen

Fehlerbehandlung

  • Überlaufbehandlung:
  • Bei Überschreitung: zirkuläre Berechnung (modulo 24h)
  • Beispiel: TOD#01:00:00 - T#2h = TOD#23:00:00

  • Sonderfälle:

  • IN2 = T#0s → OUT = IN1
  • IN2 negativ → Addition der Zeit (TOD#10:00 + T#-2h = TOD#12:00)

⚖️ Vergleich mit ähnlichen Bausteinen

Feature F_SUB_TOD_TIME F_ADD_TOD_TIME F_SUB_DT_TIME
Operation Tageszeit - Intervall Tageszeit + Intervall Zeitstempel - Intervall
Ergebnis TIME_OF_DAY TIME_OF_DAY DATE_AND_TIME
Überlauf Zirkulär 24h Zirkulär 24h Kalenderbasiert

Fazit

Der F_SUB_TOD_TIME-Baustein bietet eine optimierte Lösung für tageszeitliche Berechnungen:

  • Präzise zirkuläre Zeitrechnung
  • Einfache Handhabung von Schicht- und Betriebszeiten
  • Intuitive Behandlung von Tagesübergängen

Ideale Wahl für alle Anwendungen mit tageszeitabhängigen Steuerungen.