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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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ß
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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ß
Hallo Boris,
das habe ich gestern auch in der Hilfe gelesen. Ich weiß nur nicht wie ich die SFCInit aufrufe bzw. deklariere.
gruß bonatus
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
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
Klar, hier das Beispiel.
SFC_Beispiel.pro [29.27 KiB]
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.
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