Hi,
ganz einfach:
Globale Variablenliste:
* OSCAT Kalenderdaten *)
cxCalendar : CALENDAR := (
Longitude := 1.23456,
Latitude := 7.891234);
(* Kalenderdaten gemäß OSCAT.lib inkl. Sonnenposition *)
HOLIDAY_DE : ARRAY[0..29] OF HOLIDAY_DATA := (name := 'Neujahr', day := 1, month := 1, use := 1),
(name := 'Heilig Drei Könige', day := 6, month := 1, use := 1),
(name := 'Karfreitag', day := -2, month := 0, use := 1),
(name := 'Ostersonntag', day := 0, month := 0, use := 1),
(name := 'Ostermontag', day := 1, month := 0, use := 1),
(name := 'Tag der Arbeit', day := 1, month := 5, use := 1),
(name := 'Christi Himmelfahrt', day := 39, month := 0, use := 1),
(name := 'Pfingstsonntag', day := 49, month := 0, use := 1),
(name := 'Pfingstmontag', day := 50, month := 0, use := 1),
(name := 'Fronleichnam', day := 60, month := 0, use := 1),
(name := 'Augsburger Friedensfest', day := 8, month := 8, use := 0),
(name := 'Maria Himmelfahrt', day := 15, month := 8, use := 1),
(name := 'Tag der Deutschen Einheit', day := 3, month := 10, use := 1),
(name := 'Reformationstag', day := 31, month := 10, use := 0),
(name := 'Allerheiligen', day := 1, month := 11, use := 1),
(name := 'Buss und Bettag', day := 23, month := 11, use := 0),
(name := '1. Weihnachtstag', day := 25, month := 12, use := 1),
(name := '2. Weihnachtstag', day := 26, month := 12, use := 1);
Ein solches Beispiel steht aber auch in der Doku für HOLIDAY_DATA.
An den CALENDAR_CALC übergibst du dann das ganze Array HOLIDAY_DE. Die Zyklische Zuweisung der GPS-Koordinaten ist nicht falsch, mit der obigen Deklaration inkl. Initialisierung (musst natürlich deine Koordinaten einsetzen) aber unnötig.
Kleiner Tipp: Ich würde die Koordinaten im Screenshot unkenntlich machen. Zumindest wenn du nicht jedem deinen Wohnort verraten willst.
UTC kannst du natürlich auch von der SPS nehmen, klar. Ich nehme die Info von der Elsner, weil die immer genau ist (GPS-Information). Die SPS-Uhr stelle ich einmal am Tag; dann läuft sie mir auch über längere Zeit hinweg nicht davon.
Gruß,
mattsches