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

Ergebnis 1 bis 5 von 5

Thema: Ermittlung der Abarbeitungszeit eines Bausteins bei S7 Steuerung

  1. #1
    Registriert seit
    24.04.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe hier eine Maschine mit einer S7-317 CPU. Das Programm dieser CPU wird grossteils über einen FB Abgearbeitet der alle 20 ms durch den OB 35 aufgerufen wird.
    Es werden in diesem FB 120 FC´s teileweise unter FB´s. Ich habe momentan die Vermutung dass die CPU es nicht immer schafft in den 20 ms alle Baustein abzuarbeiten.
    Die Zykluszeitanzeige der CPU schwankt zwischen 40 und 60ms. Allerdings denke ich dass hier die Abarbeitung des OB 1 noch mit Ermittelt wird. Deshalb möchte ich die reine Abarbeitungszeit des vom OB 35 aufgerufenen FB´s ermitteln.

    Gibt es eine Möglichkeit das zu erreichen. Evtl. auch mit durch Programmänderung mit Zählern o. ä. oder bietet S7 schon eine Möglichkeit?


    Gruss und vielen Dank.
    Zitieren Zitieren Ermittlung der Abarbeitungszeit eines Bausteins bei S7 Steuerung  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    SFC64 TIME_TCK am Anfang und am Ende des OB aufrufen und die Zeiten subtrahieren.

    Hast Du denn Einträge im Diagnosepuffer daß sich die OB35-Aufrufe "gestaut" haben?
    Außerdem wird (glaube ich) in dem Fall der OB85 aufgerufen oder CPU-Stop.
    Korrektur: der Zeitfehler-OB OB80 wird aufgerufen

    Harald
    Geändert von PN/DP (24.04.2015 um 14:25 Uhr)
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Sevenbust ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.04.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo PN/DP,

    ja ich habe im Diagnosepuffer Meldungen vom OB 35, es wird dann der OB 80 aufgerufen. In diesem ist aber nichts programmiert. Allerdings ist er vorhanden somit passiert nichts.
    Aber das mit dem SFC 64 wusste ich nicht. Werde es ausprobieren.

    Danke.
    --------------------------------------------------
    the Answer to Life, the Universe, and Everything is 101010 (Deep Thought)

  4. #4
    Registriert seit
    15.03.2013
    Beiträge
    187
    Danke
    6
    Erhielt 35 Danke für 30 Beiträge

    Standard

    Für die Fragestellung (Vermutung dass die CPU es nicht immer schafft in den 20 ms alle Baustein abzuarbeiten) ist es am einfachsten im OB80 eine Reaktion zu programmieren, falls er wg. OB35-Überlauf aufgerufen wird.

    Die Zeitmessung mit TIME_TCK würde die Laufzeit des OBs incl. dessen Unterbrechungen messen. Selbst wenn er unterhalb 20 ms bliebe, könnte es zu Überläufen kommen, etwa wenn er zeitweise ausgesperrt würde, z.B. durch Aufrufe von DIS_AIRT oder auch durch systeminterne Vorgänge, die gewisse Sperren mit sich bringen.

  5. #5
    Registriert seit
    06.10.2003
    Beiträge
    3.408
    Danke
    449
    Erhielt 504 Danke für 407 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Sevenbust Beitrag anzeigen
    .. es wird dann der OB 80 aufgerufen. In diesem ist aber nichts programmiert. Allerdings ist er vorhanden somit passiert nichts...
    Jaja, nur keinen CPU-Stopp verursachen, könnte ja peinlich sein .

    Man sollte sich eigentlich fragen: "Was passiert nicht?" . Diese Frage kann ich allerdings auch nicht beantworten. Wird der OB dennoch abgearbeitet, mit längerer Zykluszeit? Oder wird mitten drin abgebrochen? Letzteres wäre wohl fatal. Und wie muß man eigentlich den Hinweis aus der Online-Hilfe verstehen?

    ..Hinweis:
    Wenn der OB 80 in demselben Zyklus zweimal aufgrund der Zykluszeitüberschreitung aufgerufen wird, geht die CPU in STOP...
    Wirklich erst dann? Das würde mich mal wirklich brennend interessieren, hatte diesen Hinweis bisher nie wahr genommen.

    Die Zykluszeit-Kontrolle mit der SFC64 ist auch bei mir fester Bestandteil des OB35.


    Gruß, Onkel


    Nachtrag:
    Ohne OB80 geht die CPU sofort bei Zyklusüberschreitung in Stopp, und mit dem OB80 erst nach zweimaliger Zyklusüberschreitung, falls explizit nichts anderes programmiert ist? Das würde Sinn machen.
    Geändert von Onkel Dagobert (24.04.2015 um 21:09 Uhr)
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford
    Zitieren Zitieren Was passiert nicht?  

Ähnliche Themen

  1. Fehler beim Speichern eines Bausteins
    Von SY50 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 08.10.2013, 13:03
  2. Länge/Größe eines Bausteins auslesen?
    Von Oele im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 13.08.2011, 15:29
  3. Ausagbe der Zeit eines IEC Bausteins
    Von breno im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 22.12.2008, 18:12
  4. Laufzeitmessung eines Bausteins
    Von Supervisor im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 28.07.2006, 08:54
  5. Hilfe bei der Ermittlung der Eingänge
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 09.12.2003, 13:38

Lesezeichen

Berechtigungen

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