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

Results 1 to 8 of 8

Thread: Systemzeit lesen mit der SFC 64 "TIME_TCK"

  1. #1
    Join Date
    06.10.2003
    Posts
    4,527
    Danke
    626
    Erhielt 787 Danke für 616 Beiträge

    Default


    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
    Reply With Quote Reply With Quote Systemzeit lesen mit der SFC 64 "TIME_TCK"  

  2. #2
    Join Date
    16.06.2003
    Location
    88356 Ostrach
    Posts
    5,014
    Danke
    1,348
    Erhielt 1,171 Danke für 553 Beiträge

    Default

    systemzeit steht auch im lokaldatenbereich des ob1.

  3. #3
    Join Date
    19.06.2003
    Posts
    233
    Danke
    13
    Erhielt 22 Danke für 17 Beiträge

    Default

    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
    Onkel Dagobert's Avatar
    Onkel Dagobert is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    06.10.2003
    Posts
    4,527
    Danke
    626
    Erhielt 787 Danke für 616 Beiträge

    Default

    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
    Onkel Dagobert's Avatar
    Onkel Dagobert is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    06.10.2003
    Posts
    4,527
    Danke
    626
    Erhielt 787 Danke für 616 Beiträge

    Default

    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
    Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
    John Ruskin

  6. #6
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,824
    Danke
    749
    Erhielt 3,139 Danke für 2,236 Beiträge

    Default

    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
    Onkel Dagobert's Avatar
    Onkel Dagobert is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    06.10.2003
    Posts
    4,527
    Danke
    626
    Erhielt 787 Danke für 616 Beiträge

    Default

    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.

    Quote Originally Posted by 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
    Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
    John Ruskin

  8. #8
    Join Date
    09.01.2006
    Posts
    32
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Default


    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
    Reply With Quote Reply With Quote Neue Version CPU 313C und 314C - SFC 64  

Similar Threads

  1. Replies: 4
    Last Post: 31.12.2018, 18:13
  2. Replies: 13
    Last Post: 08.10.2018, 13:36
  3. Replies: 5
    Last Post: 29.09.2016, 18:35
  4. Replies: 7
    Last Post: 30.09.2014, 00:34
  5. Replies: 2
    Last Post: 22.12.2008, 14:20

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •