S7 MicroWin: Urzeit einlesen/ speichern und vergleichen!

marcelmauer

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute ich bin grad neu im Forum und wollte mal Testen wie gut einem geholfen werden kann :)

Also es geht um folgendes. Ich habe beim Technischen Support von Siemens Angerufen und die sagten mir das bei Spannungsausfall in der 200er Steuerung bis zu 3 Tagen die Uhrzeit weiter laufen kann und man damit eine Zeitdifferenz von Spannungsausfall bis zur Spannungswiederkehr berechnen kann.

Bei mir geht es nun um folgendes. Ich möchte gerne das beim Start des Programms sprich sobald die Steuerung Saft bekommt die Uhrzeit mit der Rechneruhrzeit angepasst wird und bei Spannungsausfall die Aktuelle Uhrzeit in einen Remanenten Datenbaustein geschrieben wird, also das sollte eigentlich die ganze zeit passieren so das der im Datenbaustein eingetragene Wert jederzeit abgerufen werden kann.
Nachdem jetzt die Steuerung die Spannung verliert soll die Uhrzeit in den Remanenten Datenbaustein gespeichert bleiben. Nach wieder zufur der Spannung soll die Uhrzeit die nach Spannungsabfall weiterlaufen soll in den OB100 eingelesen werden (Siemens sagte mit das geht mit der Funktion SFC0 ?) und mit der in den remanenten Datenbaustein eingetragenen Uhrzeit verglichen werden, sodass man die Zeitdifferenz in Stunden ermitteln kann.

Ich hoffe ihr habt das soweit verstanden?! Fals nicht schreibt mir bitte....

Es wäre echt super wenn sich damit jemant auskennt da ich MicroWin das erste mal benutze. Bis jetzt habe ich mich nur mit Simatic S7 beschäftigt und beim Simatic Manager sieht doch alles ein bisschen anders aus.:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also naja da steht nichts neues was ich auch schon gelesen habe. Ich steige nur irgentwie durch die hilfe nicht durch und am bessten wärs wen mir jemand Schritt für Schritt den Ablauf erklären könnte wie das mit der Zeiterfassung geht. Wie ich die aktuellle Zeit Permanent in einen Remanenten Datenbaustein Speichern kann und wie letztendlich die Werte nach Spannungszufur verglichen werden sodas ich eine Aktuelle Zeitdifferenz habe mit der ich weiter arbeiten kann. Das wäre genau das was ich brauche, momentan habe ich so gut wie keine Ahnung von MicroWin, totales Neuland...
 
Kenns sich denn niemand damit aus das ers es einen mal so erklären kann das selbst totale Newbees es verstehen und sofort machen können.:cry::cry::cry:
 
Hallo,

schau dir das Bild an

http://www.sps-forum.de/showthread.php?t=36825&page=2


SM0.0 Dieses Bit ist immer eingeschaltet.

SM0.1 Dieses Bit ist im ersten Zyklus eingeschaltet. Es wird z.B. zum Aufrufen eines Initialisierungs*Unterprogramms verwendet.


Schreib deine Uhrzeit, wie im Bild dargestellt, in einen VB. Immer.

Dann bastelst du dir ein Initialisierungs*Unterprogramm, das einmal bei Neustart aufgerufen wird (SM0.1). In diesem Unterprogramm liest du die aktuelle Uhrzeit aus und vergleichst sie mit deiner gespeicherten (im VB).

Danach (nach dem Init-Unterprogramm) wird der VB wieder mit der aktuellen Uhrzeit beschrieben.



LG
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
...
Schreib deine Uhrzeit, wie im Bild dargestellt, in einen VB. Immer.

Dann bastelst du dir ein Initialisierungs*Unterprogramm, das einmal bei Neustart aufgerufen wird (SM0.1). In diesem Unterprogramm liest du die aktuelle Uhrzeit aus und vergleichst sie mit deiner gespeicherten (im VB).

Danach (nach dem Init-Unterprogramm) wird der VB wieder mit der aktuellen Uhrzeit beschrieben.
...
Die Sache hat nur einen kleinen Haken: 3 Tage sind nicht viel.
Und wenn Deine Uhr weg ist, sind auch die Variablen im V-Bereich weg.

Du solltest die entsprechenden Variablen nullspannungsfest im EEPROM speichern.
Das sollte nur stundenweise geschehen, da der EEPROM lt. Siemens "nur" ca. 1 Mio. Zugriffe überlebt. Wenn jede Sekunde gespeichert wird, sind das nur ca. 11 Tage.
Die Speicherung mußt Du im Programm aber explizit veranlassen (über SMB31 und SMW32).

Es gibt noch eine einfachere Methode, allerdings ist der Speicher begrenzt:
Wenn die ersten 14 Merker-Bytes im Systemdatenbaustein als remanent einstellt werden, werden diese 14 Byte (leider nicht mehr möglich) bei Spannungsausfall automatisch nullspannungsfest gespeichert. Das ist für solche u.ä. Stundenzähler natürlich günstig, da man dann nichts periodisch veranlassen muß.

Wenn Du den Bereich sonst nicht weiter brauchst, würde ich Dir empfehlen, einfach die Uhr komplett (8 Byte) dorthin zu speichern:
Code:
[FONT=Courier New]LD     SM0.0[/FONT]
[FONT=Courier New]TODR   MB0[/FONT]
Das Auslesen dieses Bereiches bei Neustart über SM0.1 zum Vergleich mit der aktuellen Zeit muß dann nur vor dem nächsten Speichern erfolgen oder du unterdrückst im ersten Zyklus das Speichern.
Nach den 72 Stunden kannst Du dann zwar auch nicht mehr die Differenz berechnen, aber zumindest angeben, wann die CPU ausgefallen ist.
Wenn der SM0.2 (Remanenz_verloren) also Eins ist, solltest Du den Vergleich überspringen und nur den gespeicherten Ausfallzeitpunkt ausgeben.
 
Zuletzt bearbeitet:
Übrigens:
...das bei Spannungsausfall in der 200er Steuerung...

...die nach Spannungsabfall weiterlaufen soll in den OB100 eingelesen werden (Siemens sagte mit das geht mit der Funktion SFC0 ?)...

...Es wäre echt super wenn sich damit jemant auskennt da ich MicroWin das erste mal benutze.
OB100 und SFC0 gibt's bei der 200er/Microwin nicht!
Haben Dir die Techniker von Siemens echt diese Tips gegeben oder sind die von 'ner 300/400er ausgegangen?
 
Ich hab selber gemerkt das es diese Funktion bzw den Baustein nicht gibt. Ich hab das auch nicht verstanden wiso die mir das in der Email geschrieben haben. Wartet mal ich leg euch die Mail mal dabei.

Zitat Mail:

Sehr geehrter Herr Mauer,

ich konnte Sie telephonisch nicht erreichen.

Einen Timer der bei Spannungsausfall startet gibt es nicht.

Bei Step7 gibt es SFC0 und SFC1 zum Uhrzeit lesen und schreiben.
Lesen Sie vor dem Spannungsausfall zyklisch mit dem SFC die Uhrzeit und schreiben die Uhrzeit in einen remanenten Datenbaustein.
Nach Spannungswiederkehr im OB100 lesen Sie den mit dem SFC die Uhrzeit und vergleichen diese Uhrzeit mit der Zeit in dem Datenbaustein.

Fuer Rueckfragen stehe ich Ihnen gerne zur Verfuegung.

Mit freundlichen Gruessen

Ihr Technical Support fuer Industry Automation und Drives Technology
Wolfgang Hoffmann

SIEMENS AG
Industry Sector
Tel: +49 (0)911 895 7 222
Fax: +49 (0)911 895 7 223


Internet: http://www.siemens.com/automation/service&support
Support Request: http://www.siemens.com/automation/support-request
AVC: http://www.siemens.com/av-card


Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Gerhard Cromme; Vorstand: Peter Loescher, Vorsitzender; Wolfgang Dehen, Heinrich Hiesinger, Joe Kaeser, Barbara Kux, Hermann Requardt, Siegfried Russwurm, Peter Y. Solmssen; Sitz der Gesellschaft: Berlin und Muenchen, Registergericht: Berlin Charlottenburg, HRB 12300, Muenchen, HRB 6684; WEEE-Reg.-Nr. DE 23691322

Bitte versenden Sie Antworten auf diese e-Mail ueber den "Antwort" Button in Ihrem e-Mail Programm und aendern dabei bitte nicht den Betreff.






Naja trotzdem schonmal danke für eure Bemühungen. Jetz hab ich das nächste Problem. Irgentwie ist in meiner Firma das PPI Kabel verlohren gegangen, habs gestern nicht gefunden. Und über MPI Kabel ist es nicht möglich die Steuerung zu erreichen.

Gibt es eigentlich noch ein anderes kabel mit dem das geht? oder könnt ich mir mit 2 Seriellen Steckern eins zusammen bauen xD
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Entschuldigung für meine Rechtschreibfehler ^^ es ist einfach noch zu früh. Und ich bin mir eigentlich 100% sicher das ich den gesagt habe das es um eine 200er Steuerung geht. Nur wer weis was die verstanden haben...
 
Zurück
Oben