# Zeitschaltuhr mit Step7



## seppi82 (8 September 2006)

Hallo alle zusammen,

wie kann ich eine Zeitschaltuhr in Step7 realisieren??? 

z.B.

Montag, Mittwoch soll ein Ausgang zu um 16.oo eingeschaltet und 18.3o wieder ausgeschaltet werden

bzw.

immer zu einer bestimmten Zeit ein und zu einer bestimmten Zeit ausgeschaltet werden.

Würde mich freuen, wenn mir jemand weiterhelfen könnte.

Gruß Seppi


----------



## Hartmut Lux (8 September 2006)

Ich hab mal einen Wochenschaltuhrbaustein mit bis zu 100 Schaltnocken programmiert.  Schick mir deine Emailadresse, dann laß ich ihn Dir zukommen.

Wenn du es selber Programmieren möchtest nutze am besten die Systemfunktion SFC1. Zerlege den Datentyp Date und Time in zwei D-Worte.
Mit SLD bzw. SRD (AWL) kannst Du Dir dann die entsprechenden Stellen für Zeitwerte (u.a. auch Wochentag-Nr.) rausfiltern und Vergleicher dransetzen.


----------



## volker (8 September 2006)

Hartmut Lux schrieb:


> Wenn du es selber Programmieren möchtest nutze am besten die Systemfunktion SFC1. Zerlege den Datentyp Date und Time in zwei D-Worte.
> Mit SLD bzw. SRD (AWL) kannst Du Dir dann die entsprechenden Stellen für Zeitwerte (u.a. auch Wochentag-Nr.) rausfiltern und Vergleicher dransetzen.


ist nicht wirklich nötig. die daten liegen bereits im ob1.
guckst du z.b. hier
http://www.sps-forum.de/showthread.php?t=4325&highlight=ob1+uhrzeit+datum


----------



## Hartmut Lux (8 September 2006)

Ja Volker, man kann auch das ganze Programm in den OB1 schreiben, toll was?! 

Und auch dann mußt du den Datentyp Date and Time zum Zwecke der Auswertung durch Schieben oder byteweisen Zugriff zerlegen, denn der Wochentag kommt nach den Millisekunden...


----------



## volker (8 September 2006)

*völliger blödsinn.*
den link hast du dir scheinbar nicht wirklich angesehen. :twisted: 

die daten liegen dort bereit ab LD12. brauch man nur in die gewünschten bereich kopieren.

Byte 0 = Jahr (z.B. 05)
Byte 1 = Monat (z.B. 08 )
Byte 2 = Tag (z.B. 26)
Byte 3 = Stunde
Byte 4 = Minute
Byte 5 = Sekunde
Byte 6 = Die beiden höchstwertigen Ziffern von ms
Byte 7 - 4 MSB = niederwertigen Ziffern von ms
Byte 7 - 4 LSB = Wochentag - 1 = Sonntag, 2 = Montag ...

die verteilung der daten ist bei dt logischerweise immer gleich, also auch wenn ich mir die daten mit der sfc1 holst.
da brauch man nix schieben. ausgenommen mal der wochentag.


und kein mensch hat davon gesprochen das programm im ob1 zu schreiben.


----------



## Hartmut Lux (8 September 2006)

Volker, der Aufruf der SFC1 frist weniger Speicher als mehrfaches Laden und Transferieren und das was Du gerade geschrieben hast ist eine notwendige Zerlegung des Datentypes Date and Time, den Du ja im Stück nicht verarbeiten oder vergleichen kannst, Du must ja schließlich Zeit und Wochentag usw. mit gespeicherten Refernzwerten vergleichen, um den Schaltvorgang auszulösen also definieren, tippen ...

Hab sowas jedenfalls schon vor 3 Jahren mal als FB für 100 Schaltpunkte (EIN/AUS) geschrieben, warum sich also noch damit befassen... Hab die Funktion heute früh zugemailt.


----------



## Unregistrierter gast (8 September 2006)

Hartmut Lux schrieb:


> Hab sowas jedenfalls schon vor 3 Jahren mal als FB für 100 Schaltpunkte (EIN/AUS) geschrieben, warum sich also noch damit befassen... Hab die Funktion heute früh zugemailt.


Hallo Hartmut, 
mich würde die Funktion auch interessieren,
ich lass dir meine Email - Adresse per PM zukommen, OK ?


----------



## Hartmut Lux (8 September 2006)

Kannst Du machen.


----------



## xpilzx1 (26 Januar 2008)

*schaltuhr*

hallo hartmut, ich weis das das thema nun nicht mehr aktuell ist, aba die schaltuhr mit 100 zeiten würde mich auch interessieren, ich würd würd mich freuen wenn du sie auch mir zukommen lassen würdest. vielen dank im vorraus.


----------



## Sam075 (26 Januar 2008)

Klingt wirklich interessant......darf ich mich anhängen?


----------



## MSB (26 Januar 2008)

Also, ihr 2 beiden könntet natürlich auch hergehen, und das ganze mal selbst probieren.
Sind im Grunde nur ein Paar Schleifen/Vergleicher, die sich besonders schön in SCL lösen liesen.

Mfg
Manuel


----------



## uncle_tom (27 Januar 2008)

Hallo,

Beispiele und Bausteine für Zeitschaltprogramme gibt es auch beim grünen Riesen - und sogar umsonst.

guckst du hier Link 1 oder hier Link 2

Mfg


----------



## knabi (27 Januar 2008)

uncle_tom schrieb:


> ...grünen Riesen....


Ich muß doch sehr bitten, man legt bei Firma S..... großen Wert darauf, daß die Farbe *PETROL* heißt  !!!

Gruß

Holger


----------



## Larry Laffer (27 Januar 2008)

uncle_tom schrieb:


> Beispiele und Bausteine für Zeitschaltprogramme gibt es auch beim grünen Riesen - und sogar umsonst.


 
... aber nicht nur dort ... auch hier im Forum könnte man mit der Suche einiges Nettes zu dem Thema finden. Ich erinnere mich da z. B. an einen Beitrag, den Kai letztendlich komplettiert hat ...
http://www.sps-forum.de/showthread.php?t=15738&highlight=schaltuhr


----------



## Hartmut Lux (27 Januar 2008)

Da ich immer wieder nach der Funktion gefragt werde, stelle ich das Programm mit Protoolbeispiel mal zum download bereit.

Der Baustein wird im Programm nur ein einziges mal aufgerufen, die Bausteinschnittstelle dient zum Prüfen und parametrieren im Programmstatus. Den Datentyp time mußte ich zerlegen, weil er in machen Visualisierungen schwer zu händeln ist. Die Abfrage des Schaltzustandes erfolgt über das Instands-DB-Bit: DB_Wochenschaltuhr.Nocke[x].EIN 
(siehe Beispiel). Generell werden bei einem Durchlauf alle Nocken bearbeitet. 

Wer über Mitternacht "einschalten" will muß zwei Nocken nehmen oder beim Vergleicher "täglich" im Baustein die Setzbedingung der Nocke hinter die Rücksetzbedingung schreiben (ist sonst andersrum sicherer). Es ist ja nur ein Beispiel, wie man so etwas lösen kann, Möglichkeiten gibt es mehrere.


----------



## Solution (23 März 2010)

Hi Hartmut,
kannst du mir deine Zeitschaltuhr auch mal bitte schicken.

Gruß Solution


----------



## PN/DP (23 März 2010)

Hallo Solution,

wo Du dich jetzt extra hier im Forum angemeldet hast, brauchst Du einfach nur auf die angehängte Datei im Beitrag vor Dir zu klicken.

Und danach auf den 
	

	
	
		
		

		
			





-Button unter dem Beitrag von Hartmut Lux.
Über 180 Leute haben sich den Code runtergeladen und nur einer hat sich bisher bedankt.

Gruß
Harald


----------



## knarf (24 März 2010)

Hallo,
vielleicht kannst Du Dein Problem mit den Uhrzeit-Alarm OB´s (OB10 bis OB17) lösen. Sieh sie Dir einmal in der HW-Konfig an.

Gruß Frank


----------



## Solution (29 März 2010)

*Zeitschaltuhr*

Hi Harald,

ich habe in WinCC flex ein EA Feld für die Stunde und ein EA Feld für die Minuten angelegt, die Sekunden werden direkt am Baustein vergeben. Den Wochentag wähle ich über 7 Button die jeweils ein Bit in der Steuerung setzen. Die Minuten und Stunden für die Nockenbeschaltung gelten für alle Nocken. Über die 7 Button wähle ich dann aus an welchen Tag der Woche die Zeitschaltuhr aktiv ist. 

kannst du mir noch mal auf die Sprünge helfen wie ich den Baustein beschalten muss? 




PN/DP schrieb:


> Hallo Solution,
> 
> wo Du dich jetzt extra hier im Forum angemeldet hast, brauchst Du einfach nur auf die angehängte Datei im Beitrag vor Dir zu klicken.
> 
> ...


----------



## helle (17 Juni 2011)

Hartmut Lux schrieb:


> Volker, der Aufruf der SFC1 frist weniger Speicher als mehrfaches Laden und Transferieren und das was Du gerade geschrieben hast ist eine notwendige Zerlegung des Datentypes Date and Time, den Du ja im Stück nicht verarbeiten oder vergleichen kannst, Du must ja schließlich Zeit und Wochentag usw. mit gespeicherten Refernzwerten vergleichen, um den Schaltvorgang auszulösen also definieren, tippen ...
> 
> Hab sowas jedenfalls schon vor 3 Jahren mal als FB für 100 Schaltpunkte (EIN/AUS) geschrieben, warum sich also noch damit befassen... Hab die Funktion heute früh zugemailt.



könnte ich vieleicht auch bekommen.


----------



## helle (17 Juni 2011)

Hallo,

kannst du mir das Programm auch zu Mailen. vielen dank


----------



## Kai (17 Juni 2011)

Das Programm von Hartmut Lux findest Du in dem folgendem Beitrag als angehängte Datei (Zeitscha.zip):

http://www.sps-forum.de/showpost.php?p=117245&postcount=15

Gruß Kai


----------



## eden (6 Dezember 2011)

Ich probiren diese program mit CP315-2DP und das nicht arbeitet. Program schreiben mir das die adress ("OP_Daten".CPU_Zeit_aktuell) ist nicht korect.

Warum ?


----------



## vierlagig (6 Dezember 2011)

symboltabelle anpassen!


----------



## Hassler (19 September 2012)

Ich Danke für die mögliche Lösung der Zeitschaltuhr, leider habe ich ein Problem damit den DB77 richtig zu paramentrieren.
Ich schreibe zwar Tag, Stunde, Minute und oben die ausgewählte Nocke rein, aber irgendwie startet das programm die Zeit nicht.

LG Hassler


----------



## MaRo54er (3 April 2013)

Hallo zusammen.
Ich muss für ein Terrarium eine einfache Zeitschalt -Jahresuhr programmieren.
Ich bin aber absoluter Anfänger, bedeutet, das was ihr bisher beschrieben habt, konnte ich leider nicht verstehen 

Ich wäre wirklich sehr dankbar, wenn mir jemand von Euch eine "Schritt-für-Schritt"-Anleitung geben könnte.
Danke im Vorraus


----------



## mittelhofer (25 Dezember 2013)

hallo hartmut, "Frohe Weihnachtstage",  die schaltuhr mit 100 zeiten würde mich auch interessieren, ich würd  würd mich freuen wenn du sie auch mir zukommen lassen würdest. vielen  dank im vorraus.

Gruß Werner
mittelhofer@freenet.de


----------

