Um ein Trinkwasserüberwachungsprogramm in CODESYS zu erstellen, kannst du einen Funktionsbaustein (FB) verwenden. Hier ist ein einfaches Beispiel, wie du einen FB für die Überwachung von Trinkwasserparametern wie Temperatur, pH-Wert und Leitfähigkeit erstellen könntest: 1. **Erstelle einen neuen Funktionsbaustein (FB):** - Öffne CODESYS und erstelle ein neues Projekt. - Füge einen neuen Funktionsbaustein hinzu und nenne ihn z.B. `FB_TrinkwasserÜberwachung`. 2. **Deklariere die Eingangs- und Ausgangsvariablen:** - Definiere die Eingangsvariablen für die zu überwachenden Parameter. - Definiere die Ausgangsvariablen für die Alarme oder Statusmeldungen. ```pascal FUNCTION_BLOCK FB_TrinkwasserÜberwachung VAR_INPUT Temperatur : REAL; // Temperatur in Grad Celsius pH_Wert : REAL; // pH-Wert des Wassers Leitfähigkeit : REAL; // Leitfähigkeit in µS/cm END_VAR VAR_OUTPUT Alarm_Temperatur : BOOL; // Alarm für Temperatur Alarm_pH_Wert : BOOL; // Alarm für pH-Wert Alarm_Leitfähigkeit : BOOL; // Alarm für Leitfähigkeit END_VAR VAR // Grenzwerte für die Überwachung Temp_Min : REAL := 0.0; // Minimaler Temperaturwert Temp_Max : REAL := 30.0; // Maximaler Temperaturwert pH_Min : REAL := 6.5; // Minimaler pH-Wert pH_Max : REAL := 8.5; // Maximaler pH-Wert Leitf_Min : REAL := 50.0; // Minimale Leitfähigkeit Leitf_Max : REAL := 500.0; // Maximale Leitfähigkeit END_VAR ``` 3. **Implementiere die Überwachungslogik:** - Vergleiche die Eingangsvariablen mit den Grenzwerten und setze die Alarmausgänge entsprechend. ```pascal IF (Temperatur < Temp_Min) OR (Temperatur > Temp_Max) THEN Alarm_Temperatur := TRUE; ELSE Alarm_Temperatur := FALSE; END_IF; IF (pH_Wert < pH_Min) OR (pH_Wert > pH_Max) THEN Alarm_pH_Wert := TRUE; ELSE Alarm_pH_Wert := FALSE; END_IF; IF (Leitfähigkeit < Leitf_Min) OR (Leitfähigkeit > Leitf_Max) THEN Alarm_Leitfähigkeit := TRUE; ELSE Alarm_Leitfähigkeit := FALSE; END_IF; ``` 4. **Verwende den Funktionsbaustein in deinem Hauptprogramm:** - Füge den Funktionsbaustein in deinem Hauptprogramm oder einer anderen geeigneten Stelle ein und verbinde die Eingangs- und Ausgangsvariablen. ```pascal PROGRAM PLC_PRG VAR TrinkwasserÜberwachung : FB_TrinkwasserÜberwachung; Temp : REAL := 25.0; pH : REAL := 7.0; Leitf : REAL := 100.0; Alarm_Temp : BOOL; Alarm_pH : BOOL; Alarm_Leitf : BOOL; END_VAR // Aufruf des Funktionsbausteins TrinkwasserÜberwachung(Temperatur := Temp, pH_Wert := pH, Leitfähigkeit := Leitf, Alarm_Temperatur => Alarm_Temp, Alarm_pH_Wert => Alarm_pH, Alarm_Leitfähigkeit => Alarm_Leitf); ``` Dieses Beispiel zeigt die grundlegende Struktur eines Funktionsbausteins zur Überwachung von Trinkwasserparametern in CODESYS. Du kannst die Grenzwerte und die Logik nach Bedarf anpassen.