Rücksetzen eines FB in AS

bonatus
2008-06-10
2008-06-11
  • bonatus - 2008-06-10

    Hallo,

    ich versuche Funktionsbaustein (FB) in Ablaufsprache (AS) zu erstellen, jetzt habe ich aber das Problem das ich den FB nicht wieder zurücksetzten kann. Wie kann ich den Baustein "neu starten" wenn z.B. ein NotAus war?

    gruß bonatus

     
  • bschuster - 2008-06-11

    Hallo,

    hier hilft, wie so oft, die Online-Hilfe von CoDeSys, weiter:

    Such im Index nach dem Schlüsselwort AS-Flags, hier stehts:

    SFCInit: Wenn diese boolesche Variable TRUE ist, dann wird die Ablaufsprache auf den Init-Schritt zurückgesetzt. Die anderen AS-Flags werden ebenfalls zurückgesetzt (Initialisierung). Solange die Variable TRUE ist, bleibt der Init-Schritt gesetzt (aktiv), wird aber nicht ausgeführt. Erst wenn SFCInit wieder auf FALSE gesetzt wird, wird der Baustein normal weiter bearbeitet.

    Weiterhin viel Spaß

     
  • bonatus - 2008-06-11

    Hallo Boris,

    das habe ich gestern auch in der Hilfe gelesen. Ich weiß nur nicht wie ich die SFCInit aufrufe bzw. deklariere.

    gruß bonatus

     
  • bschuster - 2008-06-11

    Hallo,

    einfach das gewünschte Flag im Baustein deklarieren. Wenn das Flag als VAR_INPUT deklariert ist, ist es auch von außen ansprechbar, dann kann z.B. mit SFCReset, vermutlich das Flag das Du nutzen möchtest, der Baustein rückgesetzt werden und der Baustein läuft wieder an. Dieses Flag muß dann aber aktiv wieder rückgesetzt werden.

    Boris

     
  • bonatus - 2008-06-11

    Hallo,

    kannst du mir bitte ein Beispiel geben. Ich steh total auf dem Schlauch.

    Bzw. Ich habe die Bibiliothek iecsfc.lib eingedunden, da finde ich nur die Typen SFCActionType und SFCStepType. Brauche ich noch eine andere Bibliothek?

    gruß bonatus

     
  • bonatus - 2008-06-11

    Hallo,

    danke erstmal für das beispiel.

    Die Variable SFCReset hat jetzt aber nichts mit dem SFCInit zu tun oder?

    Ich wollte eigentlich eine Variable die den Baustein direkt auf Init setzt.

     
  • bonatus - 2008-06-11

    Hallo,

    ich habe durch es jetzt verstanden. Die Variablen SFCReset und SFCInit zu benutzen.

    Man muss diese Variablen als BOOL deklarieren. Ich habe nicht gewusste das die SFCReset als SFCReset:bool und SFCINit als SFCInit:bool deklariert werden muss.

    vielen dank boris

     

Log in to post a comment.