Zykluszeit eines Tasks auslesen

Michl-1982
2015-07-27
2015-07-28
  • Michl-1982 - 2015-07-27

    Servus,

    ich bin auf der Suche nach einer Möglichkeit, die Zykluszeit eines Tasks innerhalb des Programms zu ermitteln.
    Bin mit google einfach nicht fündig geworden, da entweder auf Bibs verwiesen wird, die nicht da sind, bzw. sysgettime usw. mir keine Millisekunden ausgeben => Somit eine kleine Rechnung am Anfang eines Zyklus auch keinen Sinn macht.
    Gibt es da eine andere Möglichkeit?

    Gruß

    Michael

     
  • eschwellinger

    eschwellinger - 2015-07-27

    Hi,

    denke das Beispiel hier im CODESYS Store sollte dir helfen:

    http://store.codesys.com/task-manager-e ... m_store=en
    CurrentTaskInfo: Die Information der aktuellen Task wird von der Funktion zurückgegeben.

    Grüße
    Edwin

     
  • Michl-1982 - 2015-07-28

    Super, werde ich heute abend gleich probieren.

    Danke

    Michael

     
  • Michl-1982 - 2015-07-28

    Servus,

    funktioniert tadellos. Ich hab jetzt aber noch eine technische Frage bezgl. der Zykluszeit:
    Ich habe zwei (mit Visualisierung drei) Tasks. Beide Zyklisch. Einen habe ich auf 40µs Intervall gesetzt (prüft nur zwei GPIO Eingänge und führt ca. 20 Zeilen ST Code aus => reine IF-Schleifen) und ein Task ist auf Intervall 1ms gesetzt (I2C Kommunikation).
    Der erste Task läuft mit ca. 60ms, der zweite (vermutlich wegen I2C) mit deutlich über 1000ms (ca. 1200ms im Schnitt).
    Gibt es hier Möglichkeiten, noch mehr rauszuholen? Ist der RasPi2, da läuft jetzt ein Kern auf fast 100% und drei langweilen sich...

    Gruß

    Michael

     
  • Michl-1982 - 2015-07-28

    Wer lesen kann ist klar im Vorteil:
    Die Zeit ist in µS, nicht ms! Hat sich somit schon erledigt!

    Gruß

    Michael

     

Log in to post a comment.