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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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
Super, werde ich heute abend gleich probieren.
Danke
Michael
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
Wer lesen kann ist klar im Vorteil:
Die Zeit ist in µS, nicht ms! Hat sich somit schon erledigt!
Gruß
Michael