Wie schreibe ich in Codesys ein Programm, das bei 110% des maximalen Sollwertes eine Störmeldung sendet und ein Absperrventil schließt?

Antwort

Um in Codesys eine Störmeldung zu versenden und ein Absperrventil automatisch zu schließen, wenn der Ist-Wert 110% des maximalen Sollwertes überschreitet, könnte ein Programm wie folgt aussehen: 1. **Variablen deklarieren:** ```pascal VAR IstWert : REAL; (* Aktueller Ist-Wert *) SollwertMax : REAL; (* Maximaler Sollwert *) Stoermeldung : BOOL; (* Störmeldung *) Absperrventil : BOOL; (* Zustand des Absperrventils *) END_VAR ``` 2. **Programmcode:** ```pascal PROGRAM PLC_PRG VAR IstWert : REAL := 0.0; (* Beispielwert, sollte durch Sensoren oder andere Eingaben aktualisiert werden *) SollwertMax : REAL := 100.0; (* Beispielwert für den maximalen Sollwert *) Stoermeldung : BOOL := FALSE; Absperrventil : BOOL := TRUE; (* TRUE bedeutet geöffnet, FALSE bedeutet geschlossen *) END_VAR (* Überprüfung, ob der Ist-Wert 110% des maximalen Sollwertes überschreitet *) IF IstWert > 1.1 * SollwertMax THEN Stoermeldung := TRUE; (* Störmeldung setzen *) Absperrventil := FALSE; (* Absperrventil schließen *) ELSE Stoermeldung := FALSE; (* Störmeldung zurücksetzen *) Absperrventil := TRUE; (* Absperrventil öffnen *) END_IF ``` 3. **Störmeldung an die Leitzentrale senden:** Dies hängt von der spezifischen Implementierung und den Kommunikationsprotokollen ab, die in deinem System verwendet werden. Ein einfaches Beispiel könnte die Verwendung eines Bool-Wertes sein, der von der Leitzentrale überwacht wird. 4. **Absperrventil steuern:** Die Steuerung des Absperrventils erfolgt durch Setzen des `Absperrventil`-Wertes auf `FALSE` (geschlossen) oder `TRUE` (geöffnet). Dieser Code überprüft kontinuierlich, ob der Ist-Wert 110% des maximalen Sollwertes überschreitet. Wenn dies der Fall ist, wird eine Störmeldung gesetzt und das Absperrventil geschlossen. Andernfalls wird die Störmeldung zurückgesetzt und das Absperrventil geöffnet.

Frage stellen und sofort Antwort erhalten