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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: SFC64 - TIME_TCK mit negativem Überlauf

  1. #1
    Registriert seit
    10.11.2014
    Ort
    Lüdenscheid
    Beiträge
    84
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe eine Herausforderung mit einer 317-4NE12:
    Mit der Funktion SFC64-TIME_TCK wird die Systemzeit gelesen und das Ergebnis in eine Variable vom Datentyp TIME geschrieben.
    Lt. Handbuch soll die Systemzeit von 0 bis max. 2147483647 ms (T#24D20H….) betragen.
    Beim Beobachten der Variable wurde aber eine negative Zeit (T#-10D22H…) gesehen. ( Zahlenüberlauf mit negativem Vorzeichen??)
    Im Diagnosepuffer erfolgen keine Fehlereinträge...

    Kennt das jemand von euch bzw. die Ursache (und Lösung)
    Es gibt keine dummen Fragen, aber viele dumme Antworten.
    Zitieren Zitieren SFC64 - TIME_TCK mit negativem Überlauf  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Nein ... lt. Handbuch bewegt sich die Zeit hier im Bereich 0 .. 2^31 -1.
    Das wäre dann DWORD-Format und nicht mehr so ganz richtig TIME.

    Wofür willst du das wie einsetzen ?

    Gruß
    Larry

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Hast Du tatsächlich den Wert beobachtet, welcher direkt vom SFC64 kommt oder wurde da vielleicht schon weitergerechnet?
    Liegt die Variable in TEMP oder in/an einem OUT-Parameter und wird nicht in jedem Zyklus beschrieben?
    Wird die Variable vielleicht auch woanders beschrieben (ala Schmiermerker oder überlappende Variablen)?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    Registriert seit
    06.10.2003
    Beiträge
    3.447
    Danke
    454
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Bei älteren CPUs gab es nach Hörensagen diesbezüglich mal einen Bug. Ob in den Siemens-FAQs darüber noch etwas zu finden ist, ist fraglich. Ebenso fraglich ist, wann bzw. ob überhaupt der Fehler behoben werden konnte.

    Ich hatte vor Jahren das Thema hier schon einmal angesprochen. Einfach mal SFC64 suchen.

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

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Falls Firmware-Bug, da sollte er besser VIPA fragen: 317-4NE12

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    DieBoese0815 (27.01.2015)

  7. #6
    Registriert seit
    10.11.2014
    Ort
    Lüdenscheid
    Beiträge
    84
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hi Larry!
    Durchflussmengenmessung; ein Fühler gibt immer nach einer Anzahl (Messwert) X einen Impuls ab. Mit der Zeit zwischen den Impulsen errechnet sich die Menge die gerade fliest.
    Irgendwo habe ich einmal gelesen dass der SFC 64 bei Siemens wohl nicht immer zuverlässig arbeitet. Haber aber auch gehört es soll durchaus auch negative Werte geben (32bit inkl. Vorzeichen), d.h. bei Überlauf bei Minus anfängt und dann durch die 0 ins Positive geht, bei Überlauf dann Vorzeichen ändert und wieder von vorne anfängt...
    Überlege mir grade einen Workaround für den Fall das der SFC64 nicht so zuverlässig ist.
    Es gibt keine dummen Fragen, aber viele dumme Antworten.

  8. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Welche CPU von welchem Hersteller hast Du denn eigentlich? eine 317-4NE12 gibt es nicht bei Siemens...
    Dein Hörensagen über eventuelle Probleme in mehr als 10 Jahre alten Siemens-CPUs wird Dir vermutlich nicht helfen...

    Frage den Hersteller Deiner CPU ob es denn einen SFC64-Bug gibt und wie die Abhilfe aussieht.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    DieBoese0815 (27.01.2015)

  10. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Naja ... ich muss sagen, dass ich nicht darauf gekommen wäre, das, was du da machst, mit dem SFC64 zu machen (das ist aber mehr die gedachte Herangehensweise).
    Ich selbst arbeite in vergleichbaren Fällen mit der Systemzeit.
    Aber dennoch müßtest du es trotzdem hinbekommen können (auch mit dem anscheinend nicht so korrekt arbeitenden SFC64).
    Du nimmst von dem Rückgabewert einfach nicht alle Bits sondern vielleicht nur die ersten 24 (z.B.). das könntest du über Maskieren erreichen. Du mußt dann natürlich für die Zeitmessung den Überlauf mit einkalkulieren (also das Startzeit > Endzeit der Messung ist) und dann entsprechend denn Korrekturwert aufaddieren.

    Gruß
    Larry

  11. #9
    Registriert seit
    10.11.2014
    Ort
    Lüdenscheid
    Beiträge
    84
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Komme zurück zu dem Fall:
    Also, es gab wohl mal eine "Unschärfe" bei dem SFC64, und nach einem FW-Update soll der Effekt mit dem negativem Überlauf dann auch nicht mehr auftreten. Nun, gemacht, und abwarten.
    Das dumme ist halt der Fehler tritt erst nach 22 Tagen auf, und nur dann wenn die CPU dazwischen mal nicht neu gestartet wurde. Nun heißt es also mal abwarten und Tee trinken...
    Es gibt keine dummen Fragen, aber viele dumme Antworten.

  12. #10
    Registriert seit
    06.10.2003
    Beiträge
    3.447
    Danke
    454
    Erhielt 509 Danke für 411 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von DieBoese0815 Beitrag anzeigen
    ..Das dumme ist halt der Fehler tritt erst nach 22 Tagen auf... Nun heißt es also mal abwarten und Tee trinken...
    Wenn du die Differenz der TIME_TCK-Werte zyklisch ermittelst und aufaddierst und diese auf Plausibilität (z.Bsp. 0..1s) überwachst, kann eigentlich nicht viel passieren. Ich nutze diese Art der Zeitmessung auch häufig in meinen Standardfunktionen, allerdings in Simatic-S7.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

Ähnliche Themen

  1. TIA Time_TCK (SFC64) zurücksetzen
    Von Thomate im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.11.2014, 13:18
  2. Sonstiges SFC64, Überlauf und ein wenig 32Bit-Mathematik
    Von RONIN im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 24.03.2014, 18:19
  3. Antworten: 14
    Letzter Beitrag: 08.02.2011, 14:39
  4. Zeitmessung mit dem SFC64
    Von rnovak im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.05.2010, 12:16
  5. Systemzeit lesen mit der SFC 64 "TIME_TCK"
    Von Onkel Dagobert im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 16.04.2007, 08:28

Stichworte

Lesezeichen

Berechtigungen

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