... und ostern wird auch erkannt bzw. berechnet
Hallo,
Wo denn? Ich habe eine Kombination aus
SETUP_HOLIDAY_DE (Definiert die Feiertage, bei mir im Beispiel Variablenstruktur
HOLIDAYS) und FB
HOLIDAY (Setzt an Feiertagen ein Bool auf TRUE, wenn aktueller Tag ein in
HOLIDAYS definierter Feiertag). Funktioniert für alle festen Feiertage zauberhaft, aber nicht für die per Distanz zu Ostersonntag festgelegten. Dafür kann es in
SETUP_HOLIDAY_DE ja keine gültige statische Definition geben:
HD[02].NAME := STRING#'Karfreitag';
HD[02].DAY := SINT#-2;
HD[02].MONTH := SINT#00;
HD[02].USE := SINT#01;
HD[03].NAME := STRING#'Ostersonntag';
HD[03].DAY := SINT#00;
HD[03].MONTH := SINT#00;
HD[03].USE := SINT#01;
Vergessen wir mal aus meinem Ursprungsposting die Gedanken über
SETUP_HOLIDAY_DE, Meine Kernfrage ist derzeit
Woher bekomme ich die Ostertermine für
HOLIDAY? Ich hatte mir nun gedacht, das würde vielleicht durch FB
CALENDAR_CALC erledigt. Einen anderen Sinn, da die Struktur
HOLIDAYS durchzuschleifen, kann ich nicht erkennen. Das passiert aber nicht, der Karfreitag hat weiterhin die Werte wie aus dem Codeschnipsel oben ersichtlich.
Habe ich vielleicht
CALENDAR_CALC unvollständig initialisiert? Bisher habe ich nur cXCAL.UTC := DT
Mein Test für Tag der Einheit: 03.10.2014:
Im Programm ist ein entsprechendes
EVENT definiert
HOLIDAYS ist mit Definition aus
SETUP_HOLIDAY_DE versorgt
Programm gestartet
Ich setze Datum/Zeit der SPS auf Vortag 23:59:00 und warte was passiert:
FB
EVENT und FB
HOLIDAY zeigen Feiertag :-)
Nun Fortsetzung des Tests für Karfreitag: 18.04.2014:
Im Programm ist ein entsprechendes
EVENT definiert
HOLIDAYS ist mid Definition aus
SETUP_HOLIDAY_DE versorgt
Programm läuft noch
Ich setze Datum/Zeit der SPS auf Vortag 17.04.2013 23:59:00 und warte was passiert:
FB
EVENT zeigt Feiertag :-)
FB
HOLIDAY zeigt KEINEN Feiertag :-(
Was mache ich falsch?
Gruß
Rainer
[gelöscht durch Administrator]