Wie versetze ich den virtuellen Anlagenschalter in drei Zustände: Hand Ein, Hand Aus, Automatik, mit einem Codesys-Programm und FB?

Antwort

Um einen virtuellen Anlagenschalter in Codesys zu programmieren, der drei Zustände (Hand Ein, Hand Aus, Automatik) hat, kann ein Funktionsbaustein (FB) verwendet werden. Hier ist ein einfaches Beispiel, wie das in Structured Text (ST) aussehen könnte: ```pascal FUNCTION_BLOCK FB_Anlagenschalter VAR_INPUT HandEin : BOOL; HandAus : BOOL; Automatik : BOOL; END_VAR VAR_OUTPUT Zustand : INT; // 0 = Hand Aus, 1 = Hand Ein, 2 = Automatik END_VAR VAR // Interne Variablen können hier deklariert werden, falls nötig END_VAR // Hauptprogramm des Funktionsbausteins IF HandEin THEN Zustand := 1; ELSIF HandAus THEN Zustand := 0; ELSIF Automatik THEN Zustand := 2; ELSE // Optional: Ein Standardzustand, falls keiner der Eingänge aktiv ist Zustand := -1; // -1 könnte z.B. für "kein gültiger Zustand" stehen END_IF ``` In diesem Beispiel wird der Zustand des Schalters durch die Eingänge `HandEin`, `HandAus` und `Automatik` bestimmt. Der Ausgang `Zustand` gibt den aktuellen Zustand des Schalters an: - `0` für Hand Aus - `1` für Hand Ein - `2` für Automatik Dieses Beispiel kann in einem Programm in Codesys verwendet werden, indem der Funktionsbaustein instanziiert und die Eingänge entsprechend gesetzt werden.

Frage stellen und sofort Antwort erhalten