Step 7 Kalenderfunktion

danikleng

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

Bin ganz neu hier , und hätte auch eine Frage, denn was S7 angeht steh ich nach ganz am Anfang
Mache garede ein Praktikum. Meine derzeitige Aufgabe ist die Automatisierung der Beleuchtung in einer Lagerhalle.
Es soll zwei Beleuchtungsmodi's geben. Einmal für nochmale Werktage und zum anderen fürs Wochenende bzw für Feiertage.
Auf einem HMI-Panel soll dann pro Monat die Feiertage und Wochendtage angewählt werden können.

Mein Idee jetzt ist jeden Monat (für ein Jahr) einem Doppelwort zuzuordnen und dann jedem Tag des Monats einem Bit zuzuordnen. Dann über die Systemzeit den Status des Bits des jeweiligen Tages abfragen und je nach dem ob es 1 oder 0 gesetzt ist hat man einen Werktag oder einen Wochenendtag bzw Feiertag.
Hoffe habe das jetzt verständlich erklärt. Sitzen jetzt schon einige Tage dran bin nicht sicher ob es so gehen könnte und wenn ja wie ich das in S7 angehen soll.

Vielleicht könnt hier mir da ja weiterhellfen. Ich suche keine komplette Lösung sonder eher einen Anstoss wie man sowas angehen kann.

Grüsse
danikleng
 
Ich suche keine komplette Lösung sonder eher einen Anstoss wie man sowas angehen kann.
Hallo,
du holst dir erstmal den SFC1 aus der Standard-Bibliothek\System-Funktion-Blocks.
Mit dem kannst du die Systemzeit der SPS im Siemens-Format DT (dazu auch die S7-Hilfe bemühen) auslesen.
Das so gelesene DT (DateAndTime) beinhaltet die aktuelle Systemzeit, das aktuelle Datum und den aktuellen Wochentag - und damit hast du dann doch schon mal das Wichtigste was du benötigst. Daraus bastelst du dir dann eine Adressierung zusammen.

Etwas schöner würde das Ganze natürlich werden, wenn du nicht in AWL sondern in SCL programmieren möchtest - dann würde das auch noch ein schöner und vor Allem besser durchschaubarer Code werden ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Im Anschluss an Larry's Vorschlag könntest du auch Ostern berechnen und somit die kirchlichen Feiertage. Die Staatlichen Feiertage könnte man fest hinterlegen.
Es gibt auch fertige Bausteine dafür (Oscat) aber selber machen übt.
Grüsse Holger
 
Ja, gute Idee, das kann man so machen. Sozusagen als vorbereitete Lookup-Tabelle. Dann braucht das Beleuchtungsprogramm nur 1 Bit abfragen.

Zum Eintragen ("ankreuzen") der Wochenend- und Feiertage in der HMI würde ich aber nicht 12 Monatsbilder (oder 1 zwölffach gemultiplextes Bild oder zwölffach gemultiplexte Variablen) in der HMI erstellen (das macht zu viel Arbeit zum Ausfüllen durch den Bediener), sondern nur 1 Bild zum Eintragen von max 20 Tagen, die als Feiertage gewertet werden sollen (je 1 EA-Feld Monat + 1 EA-Feld Tag) sowie ein zweites Bild mit ca. 5 Tagen als "Ausnahmen" welche Tage nicht als Wochenend-/Feiertage gewertet werden sollen (ebenfalls je 1 EA-Feld Monat + 1 EA-Feld Tag). Die reichlich 100 Wochenendtage kann man berechnen bzw. liefert das Wochentag-Byte in der Uhrzeitabfrage.

Auf das/die HMI-Bilder noch eine Schaltfläche [Jetzt eintragen], woraufhin die S7 die Bit-Tabelle löscht, dann die Wochenendtage berechnet und ankreuzt, dann die max 20 Feiertage ankreuzt und danach die Ausnahmetage wieder löscht.

Harald
 
Hallo

Vielen Dank euch alle für die schnellen und guten Antworten!

Den SFC1 habe ich schon gefunden. Die Idee Ostern zu berechnen und dann die anderen Feiertage davon abzuleiten hatte ich auch schon. Jedoch möchte der spätere Bediener des Programms die Tage des Monats/Jahres einzeln als auswählen können. Da auch wenn nötig an Feiertagen oder Wochendtage gearbeitet werden kann/muss, dies jedoch nicht vorhsehbar ist.
Was mir fehlt ist der Zasammenhang ywischen der S7 zeitfunktion (SFC1) und meiner Anwendung. Weiss nicht richteg wo ich anfangen soll. Werde mich jetzt dann mit SCL beschäftigen, vielleicht finde ich dann den Zusammenhang.

Grüsse
danikleng
 
Zurück
Oben