Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Task Interval

Alvar
2015-04-15
2015-04-23
  • Alvar - 2015-04-15

    Hallo,

    ich bin neu mit Codesys und habe einige FB, die die Zykluszeit der zugehörigen Task verwenden.
    Wenn man eine Task erstellt, bei der Konfiguration, kann man ein "Task Interval" in ms einstellen. Ich brauche diesen Wert für Berechnungen.
    Ich frage hier, weil ich bereits gesucht habe und nichts geklappt habt.
    Gibt es irgendwie eine einfache Funktion, um diese Zykluszeit der Task abzurufen?
    Ich habe versucht mit libraries SysTaskIec und zugehörigen Funktionen wie sysIecTaskGetInfo (weiß jetzt nicht genau den Namen), aber beim implementieren trit ein exception wegen Access Violation auf.

    Könnte mir bitte jemmand helfen?

     
  • Alvar - 2015-04-17

    Hallo,

    danke für die Antwort. Ohne dieses Beispiel hatte ich bereits das gleiche Programm geschrieben.
    Das Problem ist, wenn ich das Online simuliere, um zu gucken ob alles funktioniert.

    Da tritt folgendes Fehler hier auf:

    CurrentTaskInfo := IecTaskGetInfo3(hIecTask:=hIecTask, pResult:=ADR(Result))^;

    Im Log steht:

    IMG: Log screenshot_Exception.png

     
  • eschwellinger

    eschwellinger - 2015-04-20

    HI,

    und wenn es mit ner echten SPS also CONTROL WIN versuchst?

    Grüße
    Edwin

     
  • Anonymous - 2015-04-23

    Originally created by: jl

    Hallo

    Um die wirkliche Zykluszeit zu ermitteln mache ich das oft so:

    Zykluszeit := TIME() - timeOld;
    timeOLD := TIME();

    Funktioniert erst nach dem zweiten Durchlauf.
    Verwende allerdings CoDeSys 2.3

     

Log in to post a comment.