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

Was sind S7 OBs (OB35) in Codesys ?

Mario79
2019-03-28
2019-03-29
  • Mario79 - 2019-03-28

    Hallo
    Bin neu in der Codesys Welt jedoch sehr begeistert. Hätte eine frage da ich von der Siemens Seite komme kenne ich dort immer die OBS (zB. OB 35) der immer in gewissen Zeitabständen aufgerufen wird und zwar unabhängig vom Hauptprogramm. Gibt es das auch in Codesys ? Habe diese immer die für die Zeitmessungen/Takte benutzt da es unabhängig von der Zykluszeit der CPU ist. Wie löst ihr dies in Codesys ?
    Gruss Mario

     
  • RolandWagner

    RolandWagner - 2019-03-28

    Hallo Mario,

    nun, Du kannst in CODESYS beliebig viele Programmbausteine als PRG definieren und die von (nahezu) beliebig vielen Tasks aufrufen.
    Konkret (ohne das Konzept der OBs wirklich zu kennen): Wenn Du ein PLC_PRG von einer MainTask ausführst und daraus alles weitere aufrufst, kannst Du Dir einer zweite Task, z. B. TimerTask im TaskManager anlegen. Zusätzlich legst Du Dir einen weiteren Programmbaustein an, z. B. Timer (PRG) und führst da Deine Zeitmessungen unabhängig von der MainTask durch. Dazu solltest Du die TimerTask natürlich mit der entsprechenden Zykluszeit aufrufen lassen und bei den Prioritäten darauf achten, welche Task Vorrang vor der anderen hat (niedrige Prio-Zahl = höhere Priorität).

    Ansonsten kannst Du natürlich mit den Timern direkt in den Bausteinen auch beliebige Messungen durchführen. So liefern die Funktionen TIME() und LTIME() Dir eine Zeitinformation (in ms bzw. us), die Du dann später auswerten kannst.

     
  • Mario79 - 2019-03-29

    Ok vielen Dank Roland für die Info das hilft mir weiter. Werde das so mal ausprobieren
    Gruss Mario

     

Log in to post a comment.