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

Ergebnis 1 bis 8 von 8

Thema: Systemzeit lesen mit der SFC 64 "TIME_TCK"

  1. #1
    Registriert seit
    06.10.2003
    Beiträge
    3.623
    Danke
    479
    Erhielt 544 Danke für 438 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    beim Auslesen der Systemzeit tritt bekanntermaßen auf einigen CPUs sporadisch ein Fehler auf. Siemens empfiehlt, die ausgelesene Systemzeit auf Plausibilität zu überprüfen. Bei große Abweichungen vom erwarteten Wert soll man den ausgelesenen Wert einfach ignorieren.

    Nun habe ich in einem Anwendungsprogramm eine Maßnahme ohne Plausibilitätsprüfung gesehen und frage mich, ob diese korrekt funktioniert. Bevor ich sie hier nenne, möchte ich jedoch erst einmal das Publikum befragen . Weiß jemand etwas Genaueres über diesen Fehler und wie man ihn umgehen kann?


    Gruß, Onkel
    Zitieren Zitieren Systemzeit lesen mit der SFC 64 "TIME_TCK"  

  2. #2
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.825
    Danke
    1.254
    Erhielt 1.110 Danke für 531 Beiträge

    Standard

    systemzeit steht auch im lokaldatenbereich des ob1.

  3. #3
    Registriert seit
    19.06.2003
    Beiträge
    200
    Danke
    10
    Erhielt 17 Danke für 13 Beiträge

    Standard

    Hallo,
    Ich habe einen eigenen IEC-Timer geschrieben welcher den SFC64 aufruft. Dabei habe ich eine Plausibilitätskontrolle eingebaut, welche prüft ob die Systemzeit sich seit dem letzten Aufruf um mehr als eine Sekunde geändert hat. Weiter musste ich berücksichtigen, dass die Systemzeit nach einen Neustart oder nach einem Ueberlauf wieder von vorne beginnt.
    Gruss Martin

  4. #4
    Avatar von Onkel Dagobert
    Onkel Dagobert ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2003
    Beiträge
    3.623
    Danke
    479
    Erhielt 544 Danke für 438 Beiträge

    Standard

    Hallo,

    im Lokaldatenbereich stehen zwar verschiedene Zeiten aber die Systemzeit die ich meine steht dort nicht. In meinen Anwendungen gehe ich prinzipiell ähnlich vor wie Martin. Ich lese die Systemzeit jedoch nur einmal am Zyklusbeginn aus, korrigiere sie und lege sie global ab.

    Was mir jetzt jedoch zu denken gibt ist folgender code

    Code:
          CALL  "TIME_TCK"
           RET_VAL:="SYS_TIME"
          L     "SYS_TIME"
          SLD   1                           // wegen fehlerhafter SFC64
          SRD   1                           // wegen fehlerhafter SFC64
          T     "SYS_TIME"
    Ich weiß nicht wo das Schlitzohr von Programmierer diese Information her hat und habe auch starke Zweifel ob dies ausreicht. Vielleicht werde ich das Ergebnis dieses Vorgehens einfach mal in einer Steuerung mit der gebräuchlichen Plausibilitätsprüfung überprüfen und die Fehler zählen.

    Tritt dieser Effekt bei den neueren CPUs eigentlich auch noch auf?


    Siemens IDs zum Thema:

    12033733 - SFC 64 (TIME_TCK) bei S7-300 und C7
    2623111 - Funktionalität der SFC64 bei unterschiedlichen CPUs


    Gruß, Onkel

  5. #5
    Avatar von Onkel Dagobert
    Onkel Dagobert ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2003
    Beiträge
    3.623
    Danke
    479
    Erhielt 544 Danke für 438 Beiträge

    Standard

    Hallo.

    ich muss dieses Thema aus gegebenen Anlass noch einmal nach oben holen.

    Ich hatte heute wieder einen Fehler, den ich nicht sofort nachvollziehen konnte. Fakt ist, dass eine Zeitfunktion (sehr einfallsreich programmiert von einem äußerst vorwitzigen PID-Programmierer ), plötzlich nicht mehr ablief. Ich habe auf die Schnelle (hatte keine Zeit) die Funktion durch einen einfachen S5-Timer ersetzt - funktioniert erst einmal. In den betroffenen Anlagen, alle mit den "alten, breiten" S7315-DP2 gibt es hin und wieder nicht nachvollziehbare Störungen. Die Anlagen laufen seit 5 oder 6 Jahren. Ich tippte schon lange auf den Fehler mit der SFC64 bzw. der Firmware, konnte es nur nicht ergründen (21,..-Tagezyklus der Systemzeit). Und heute hatte ich absolut nicht die Zeit dazu.

    Kann jemand etwas dazu berichten? Hilft ein Firmware-Update?


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.455
    Danke
    562
    Erhielt 2.764 Danke für 1.997 Beiträge

    Standard

    Na ja, ich Pogammier nun schon seit 1990 und hab noch nie die Systemzeit bemüht. Zeigt eigentlich, daß es auch andere Wege gibt. Warum ist die also so wichtig, daß man unbedingt eine bekanntermaßen fehlerhafte Funktion nutzt?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    Avatar von Onkel Dagobert
    Onkel Dagobert ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2003
    Beiträge
    3.623
    Danke
    479
    Erhielt 544 Danke für 438 Beiträge

    Standard

    Hallo Ralle,

    es gibt halt immer wieder ganz besonders Schlaue. Ich betreue seit ein paar Jahren die Anlagen, welche alle von demselben Programmierer verbrochen wurden. Immer wieder tauchen neue Probleme auf. Das kotzt mich langsam an.
    Meine eigenen Anlagen sehe ich nach der Inbetriebnahme meistens nie wieder, es sei denn zur Wartung.

    Zitat Zitat von Siemens-ID12033733
    SFC 64 (TIME_TCK) bei S7-300 und C7
    FRAGE:
    Warum erhalte ich hochsporadisch mit SFC 64 nicht korrekte Werte?
    Genauer: Wenn ich z.B. mittels SFC64 zyklisch die Laufzeit zum letzten SFC64-Aufruf auswerte, so erhalte ich hochsporadisch fehlerhafte Werte
    ANTWORT:
    Der SFC 64 zählt im ms-Raster von 1 bis (2 hoch 31)-1, dann über 0 wieder erneut hoch (Schleifenzähler). Die Information wird in einem Doppelwort parametrierbar hinterlegt.
    Leider kommt es hochsporadisch beim Inkrementieren des oberen Wortes des SFC-Zählwertes zu einer nicht korrekten Angabe im Ausgabewert des SFC64. Der Wert des SFC 64 wird also nicht korrekt aktualisiert und weist damit, verglichen mit dem vorherigen Wert, einen sehr deutlich abweichenden Differenzbetrag auf.
    Abhilfe:
    Prüfen Sie die Werte (z.B. bei einer Differenzmessung) auf Plausibilität – wenn normal Abstände von x ms auftreten, ist ein Differenzwert weit abweichend hiervon zu verwerfen – er beruht auf einem eben beschriebenen inkonsistenten Lesen des Timerwertes.
    Betroffen von diesem Verhalten sind alle CPUs der S7-300 sowie alle C7-Geräte:
    Bei folgenden Geräten ist das Problem mit dem Betriebssystemstand V1.0.2 behoben:
    Für die Kompakt-CPUs CPU 312C, 313C, 313C-2DP, 313C-2PTP, 314C-2DP und 314C-2PTP
    Für das neue Gerät C7-635T
    Für folgende Geräte gibt es leider keine Updatemöglichkeit.
    Für alle Versionen von C7-621, 623, 624, 626, 633 und 634
    Für CPU 312IFM, CPU 313, CPU 314, CPU 314IFM, CPU 315, CPU 315F, CPU 315-2DP und CPU 316-2DP
    Hinweis:
    Das beschriebene Verhalten tritt bei CPU 318-2DP und S7-400 nicht auf, da dort das Doppelwort ununterbrechbar gelesen wird.

    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  8. #8
    Registriert seit
    09.01.2006
    Beiträge
    27
    Danke
    4
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen zusammen,

    ich nutze den SFC 64 seit geraumer Zeit und hatte bis letzte Woche keine Probleme damit... Zumindest hat noch kein Kunde angerufen.
    Siemens hat die 313C und 314C ne neue Version spendiert. Zuerst hab ich mich über den zusätzliche Arbeitsspeicher gefreut, nun ist mir aber aufgefallen, das anscheinend der alte fehler des SFC 64 auftritt!?
    Ich nutze den SFC 64 für eine eigenen Timer. Und hatte das Glück den Fehler direkt sehen zu können. Endwert einer Zeit war so hoch, das nur ein Falscher Wert des SFC 64 schuld sein konnte.

    Ich habe mal Siemens angeschrieben, vielleicht gibt es ja ne schnelle Antwort.

    Gruß

    Christian
    Zitieren Zitieren Neue Version CPU 313C und 314C - SFC 64  

Ähnliche Themen

  1. "Index Pulse", "Home Switch" und "Position Limit Switch"
    Von senmeis im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 07.03.2011, 11:21
  2. "variable" Varbiable lesen??
    Von Deyn im Forum HMI
    Antworten: 2
    Letzter Beitrag: 08.05.2009, 11:44
  3. Antworten: 2
    Letzter Beitrag: 22.12.2008, 13:20
  4. Antworten: 2
    Letzter Beitrag: 14.12.2007, 15:09
  5. Siemens S5 PG 685 ---->Spiel Kaiser "lesen"
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.06.2004, 07:21

Lesezeichen

Berechtigungen

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