Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: c314 Systemzeit über Panel einstellen

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin,

    das von Dir beschriebene Verhalten ist nicht normal. Da scheinen einige Sachen falsch zu laufen.

    Kurze Erklärung der Funktionsweise der Uhrzeitsynchronisation nach Beitrag #5:
    Der OB1 kopiert in jedem Zyklus die aktuelle Uhrzeit der CPU-Uhr in den Bereichszeiger "Datum/Uhrzeit Steuerung" "PLC->OP".DateTimePLC (DB102.DBB0...). Alle 2 Minuten liest das Panel diese Uhrzeit und stellt seine Uhr danach. Es kann also nur alle 2 Minuten ein Sprung der Panel-Uhrzeit um maximal 1 Sekunde vorkommen. Es ist aber unwahrscheinlich, daß man diesen "Sprung" am MP377 sehen kann (es sei denn, die Panel-Uhr geht extrem ungenau: mehr als 1 Sekunde zu schnell oder zu langsam in 2 Minuten).

    Uhr stellen:
    Da die CPU-Uhr die Master-Uhr ist, muß diese Uhr gestellt werden. Direkt die CPU-Uhr stellen ist aber ziemlich aufwendig. Deshalb wird hier mit E/A-Feldern auf die Systemzeit des Panels zunächst die Panel-Uhr gestellt und danach mit dem Script "Set_PLC_Clock" die Panel-Uhrzeit einmalig in die CPU-Variable "OP->PLC".DateTimeSET (DB101.DBB0...) geschrieben. Das erkennt der zweite Code im OB1 "set PLC-clock from OP" und stellt die CPU-Uhr auf die empfangene Uhrzeit. Danach wird die Variable "OP->PLC".DateTimeSET (DB101.DBB0...) wieder auf DT#90-1-1-0:0:0.000 gesetzt.

    Es kann (selten) vorkommen, daß in der Zeit zwischen dem Eingeben einer neuen Uhrzeit (Stellen der Panel-Uhr) und dem Klicken der SetPLCClock-Schaltfläche die Paneluhr wieder auf die CPU-Uhrzeit zurückspringt, wenn genau dazwischen die Uhrzeitsynchronisation mit der CPU-Uhr erfolgt.

    Bei Dir scheint es so, daß das Script "Set_PLC_Clock" viel öfter als nur beim Klicken der SetPLCClock-Schaltfläche aufgerufen wird. Ist das eventuell so, daß es auch bei Änderung der Systemzeit oder bei Änderung der Variable DateTimeSET (DB101.DBB0...) aufgerufen wird? Das Script "Set_PLC_Clock" soll nur bei Klicken der Schaltfläche "Set PLC clock" aufgerufen werden, es darf keine weitere Verwendung geben (-> Querverweis).
    Oder Deine Datum-Uhrzeit-E/A-Felder gehen nicht auf die Panel-Systemzeit sondern auf die SPS-Variable "OP->PLC".DateTimeSET.
    Auch scheint es so, daß der Bereichszeiger "Datum/Uhrzeit Steuerung" "PLC->OP".DateTimePLC öfter als alle 2 Minuten gelesen wird.
    Eventuell ist auch noch ein Fehler im SPS-Programmteil, wo die CPU-Uhr gestellt wird. Nochmal besonders die Sprünge zu ISCL und ESCL kontrollieren.

    Entweder hast Du einen Fehler gemacht oder der WinCC flexible Compiler. Also nochmal genau die Einstellungen in WinCC flexible kontrollieren:
    Zitat Zitat von PN/DP Beitrag anzeigen
    In WinCC flexible
    Bereichszeiger für OP-Uhrzeitsynchronisation anlegen:
    * Datum/Uhrzeit Steuerung | DB 102 DBW 0 | 6 Worte | zyklisch fortlaufend | 2 min

    Variable für stellen der SPS-Uhr anlegen:
    * DateTimeSET | Date and time | DB 101 DBB 0 | Auf Anforderung

    In irgendein Bild 2 Datum-Uhrzeit-Felder für Eingabe/Ausgabe der OP-Systemzeit einfügen.
    Hiermit kann ein Bediener die Uhr des OP verstellen (Datum und Uhrzeit getrennt).
    Dann noch eine Schaltfläche "Set PLC clock".
    Das Ereignis Klicken ruft das Script "Set_PLC_Clock" auf.
    Ich würde zunächst in WinCC flexible die Bereichszeiger- und Variable-Einstellungen kontrollieren, alle E/A-Felder löschen und neu erstellen, die Schaltfläche "Set PLC clock" löschen und neu erstellen, die temporären Dateien löschen und alles neu generieren. Sollte das Phänomen bestehen bleiben, dann Fehler im SPS-Programm suchen.

    Die Verbindung des MP377 zur CPU unterbrechen und das Kopieren der CPU-Uhrzeit im OB1 beobachten. Sind da schon Sprünge der CPU-Uhrzeit zu beobachten? Wenn ja, dann den Programmteil mit dem SET_CLK deaktivieren (überspringen). Sind die Uhrzeit-Sprünge dann weg, dann liegt der Fehler dort. Springt die CPU-Uhr immer noch, dann pfuscht da eventuell ein anderes Programmteil dazwischen.
    Mit einer Variablentabelle (z.B. aus dem Step7-Projekt aus Beitrag #5) das Stellen der CPU-Uhr kontrollieren: in DB101.DBD0 und DB101.DBD4 ein gültiges DATE_AND_TIME eintragen (z.B. von DB102.DBD0 und DB102.DBD4 kopieren). Nach dem Stellen der CPU-Uhr muß in DB101.DBD0 und DB101.DBD4 wieder DW#16#90010100 und DW#16#00000002 drinstehen.

    Dann noch die Uhr des MP377 beobachten, während das MP377 keine Verbindung zur CPU hat. Wenn die Panel-Uhr ohne Verbindung zur CPU springt, dann liegt der Fehler in WinCC flexible oder in der Uhr des MP377.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Nordischerjung (07.12.2010)

  3. #12
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Ich würde zunächst in WinCC flexible die Bereichszeiger- und Variable-Einstellungen kontrollieren, alle E/A-Felder löschen und neu erstellen, die Schaltfläche "Set PLC clock" löschen und neu erstellen, die temporären Dateien löschen und alles neu generieren
    Genau das war es, hab die Temp Dateien gelöscht und die E/A Felder neu erstellt.
    Warum sollte es auch einfach sein

    Danke nochmal für deine Hilfe
    Gruß von der Ostsee

    Nordischerjung
    _____________________

    Wenn man seinem Paßbild ähnlich zu sehen beginnt, sollte man schleunigst Urlaub machen. (Vico Torriani, schw. Entertainer)

    Ich habe eine Diät gemacht und fettem Essen und Alkohol abgeschworen - in zwei Wochen verlor ich 14 Tage. (Joe E. Lewis)

  4. #13
    Registriert seit
    30.06.2008
    Beiträge
    26
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo leute,
    hier ist mein Lösungsvorschlag damit das datum und die uhrzeit überall gleich sind ( CPU-zeit und die systemzeit aller hmi geräte an dieser cpu ).
    DT mittels sfc 1 auslesen und in einen db schreiben. diese variable vom dem db dann in allen hmi-projekten als bereichszeiger "datum und uhrzeit der SPS" anlegen. somit ist jede systemzeit der hmi-geräte die gleiche wie der sps. wenn jetzt die zeit nicht mehr stimmt braucht mann nur über ein hmi dateandtime der sps mittels sfc 0 einstellen und dann sind alle zeiten wieder die gleichen.

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.03.2010, 19:45
  2. Alarm über SMS C314
    Von chefren_new im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 21.09.2009, 13:47
  3. OP77B Systemzeit einstellen
    Von GeroldT im Forum HMI
    Antworten: 6
    Letzter Beitrag: 21.02.2007, 09:06
  4. Timer zeiten über Poti einstellen??
    Von wankeldriver im Forum Simatic
    Antworten: 45
    Letzter Beitrag: 04.02.2007, 00:52
  5. Antworten: 2
    Letzter Beitrag: 25.07.2003, 17:55

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •