# abgelaufene Zeit von Zeitschaltuhr anzeigen



## stift (2 Juni 2008)

Hi, ich stehe wieder mal vor einem Problem, 
ich möchte für zwei Steckdosen Zyklusbetrieb programmieren, d.h. die steckdosen sollen eine beliebige anzahl von zyklen fahren, bei der sie eine beliebige zeit an sind und anschließend eine bestimmte zeit pausieren. Wenn der soll-zyklen-stand noch nicht erreicht ist soll er zyklus von vorne beginnen. 
nun habe ich bei siemens ein programm für zeitschaltuhren gefunden. 
http://support.automation.siemens.c...lib.csinfo&lang=de&objid=21669756&caller=view
Ich bin gerade dabei dieses Programm in mein bestehendes Programm einzubinden. Mein Problem ist dass ich die Zeit die bereits abgelaufen ist, und die zeit die für den zyklus z.b. an Pausendauer noch zurückzulegen ist anzeigen möchte. 
Ich denke das ganze findet im FC1 statt. 
Der ist leider geschützt. Gibt es da noch irgend ne möglichkeit diese zeit anzuzeigen oder die zeitsteurerung für die zyklen anders zu programmieren. Die einstellbare Zeit für Betriebs- und Pausendauer muss von einigen Sekunden bis zu mehreren Tagen einstellbar sein.


----------



## vierlagig (2 Juni 2008)

stift schrieb:


> Wenn der soll-zyklen-stand noch nicht erreicht ist soll er zyklus von vorne beginnen.





...aber ansonsten:

*blinker*


----------



## stift (2 Juni 2008)

sorry, hab mich wieder mal recht doof ausgedrückt.  
Ich meinte damit, die Soll-Zyklen sollen mit den Ist-Zyklen verglichen werden und wenn die Anzahl der Soll-Zyklen noch nicht erreicht ist soll das Betriebsspiel von vorne beginnen.


----------



## Larry Laffer (2 Juni 2008)

Hallo Stift,
ich habe deine Beschreibung (vielleicht) auch nicht richtig verstanden.
Du möchtest auf Basis der Systemuhr eine Schaltuhr (vielleicht auch sogar Blinker) aufbauen, wo du das Intervall quasi frei festlegen können möchtest ...?

Der FC1 liesst die Systemuhr aus und liefert dir das aktuelle Datum und die aktuelle Uhrzeit als Date_Time zurück. Der ist geschützt ...
Das Date_Time mußt du dann in Time_of_Day und Date zerlegen. Dafür gibt es wieder System-FC's (ich meine FC6 und FC8). 
Time_of_Day ist die Zeit in Millisekunden seit 0:00 Uhr und Date ist die Anzahl von Tagen vergangen seit dem 01.01.1990.

Alles andere liegt dann bei dir und dem was deine genaue Anforderung ist ...

Gruß
LL


----------



## stift (2 Juni 2008)

> Du möchtest auf Basis der Systemuhr eine Schaltuhr (vielleicht auch sogar Blinker) aufbauen, wo du das Intervall quasi frei festlegen können möchtest ...?


Genau. 
Und davon möchte ich dann die akteulle zeit anzeigen. Also z.b. wenn für Betriebsdauer ein spiel von 3 Stunden eingestellt wurde, und die steckdose jetzt bereits 2 stunden 11 minuten lauft, dann soll ein einem e/a-Feld 2 stunden 11 minuten und in einem anderen 49 minuten angezeigt werden. 
wenn ich dann noch zyklenbetrieb fahre und mein Zyklenstand bei 10 Zyklen ist dann soll für die gesamt betriebsdauer bei 32 stunden und 11 minuten sein. Also ich möchte auf deutsch gesagt eine Live-Anzeige der Zeitintervalle
Ich glaub da ist es aber sinnvoller von vorne anzufangen und nach vierlagigs vorlage einen blinker zu basteln. Damit wäre das Problem leichter zu lösen, als in dem umständlichen programm von siemens rum zu werkeln


----------



## Larry Laffer (2 Juni 2008)

Ich finde deinen Ansatz gut ...
Zerschnitzel dir doch die Systemzeit (wie schon von mir beschrieben) und berechne dir die Einschaltdauer über einen Zwischenwert.
Mit der pos. Flanke vom Start schreibst du die akt. Systemzeit in ein Doppelwort. Die akt. Zeit - der gesp. Zeit ist dann deine bereits abgelaufene Zeit. Hierbei aber beachten, dass du bei 24:00 Uhr ein Offset erzeugen mußt. Speicherst du zusätzlich das Datum mit ab, so kann das Offset entfallen und du rechnest das dann noch mit.

Kannst du damit etwas anfangen ...?

Gruß
LL


----------



## stift (2 Juni 2008)

erlichgesagt nein. 
Ich würde mich gern mal näher damit beschäftigen, hab aber leider keine zeit da ich nur noch zwei wochen bis abgabe meiner dokumentation habe und ich die mechanik noch nicht mal angefangen habe. :-? Desshalb nehm ich vierlagigs blinker, bastel mir noch schnell nen fb der mir tage, stunden, minuten und sekunden, die der bediener eingeben kann, addiert und in sekunden ausgibt. Diese summe kann ich dann mit vierlagigs blinker. 
Dann müsste die sache ja funktionieren und ich könnte das ganze heute noch fertigbekommen.


----------



## Larry Laffer (2 Juni 2008)

... wie du meinst ...


----------



## stift (2 Juni 2008)

hab jetzt noch mal über dein vorschlag nachgedacht. Wär je eigentlich noch viel einfacher als die rechnerei mit den ganzen funktionen. 
Jetzt hab ich nur grade die alten bausteine alle gelöscht. Werd glaub ich doch noch mal umschwenken.


----------



## Larry Laffer (2 Juni 2008)

... das mußt du jetzt aber nicht mir zuliebe tun ...

Wie auch immer - wenn es hakt, dann weißt du ja wo du anklopfen mußt ...

Bis dahin ...


----------



## stift (2 Juni 2008)

> ... das mußt du jetzt aber nicht mir zuliebe tun ...


 
ne, mal schaun was für mich schneller einzubinden ist. Das Programm von Siemens hätte ich auch noch komplett einbinden müssen. 
Hab ich noch net gemacht. Also ich steh noch fast bei null.
Allerdings fällt mir gerade ein, dass ich mein programm bei der prüfung dem ausschuss komplett erklären können muss. Das fällt mir mit vierlagigs lösung wesentlich leichter, da ich alles selbs programmieren kann und keine FBs habe in die ich net reinschaun kann.


----------



## Larry Laffer (2 Juni 2008)

Die genannten FC / SFC sind doch Standard-Bausteine von Siemens. Da mußt du im Zweifel nur die Funktion erklären können. Wie die intern funktionieren ist dabei nicht relevant - ist aber auch nicht so schwierig - das habe ich für mich auch schon selbst programmiert ...

Gruß
LL


----------

