Pumpenumschaltung

chivas

Level-1
Beiträge
81
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe bei einer Anlage 2 Pumpen.
Man kann die Pumpen manuell ansteuern: Läuft eine Pumpe, so kann man die auf die 2te umschalten indem ich die 2te starte. Dann laufen beide 5 Sekunden miteinander bevor siche die erste Pumpe abschaltet.
Das funktioniert auch umgekehrt.
Weiters funktioniert die Umschaltung auch automatisch, nach einer gewissen Zeit, wenn eine der beiden Pumpen läuft.

An und für sich sollte es so funktionieren wie ich es ausprogrammiert habe. Ich finde es ist nicht die schönste Form so ein Problem zu lösen, aber mir fällt nichts besseres ein.

Vielleicht hat ja jemand einen anderen Vorschlag oder hatte schon mal das gleiche Problem.

Hier der Code:

Code:
FUNCTION "Hydraulilkpumpen" : VOID
TITLE =
VERSION : 0.0

BEGIN
NETWORK
TITLE =Hydraulikpumpe 1 ein/aus
// 1 Sek. Impuls
      U     "imp1sec"; 
      FP    M     30.0; 
      =     L     20.0; 

// Reset wenn beide oder keine Pumpe läuft

      U     "Pumpe1Ein"; 
      U     "Pumpe2Ein"; 
      O     ; 
      UN    "Pumpe1Ein"; 
      UN    "Pumpe2Ein"; 
      =     L     20.1; 

// Freigabe sobald eine Pumpe läuft

      O     "Pumpe1Ein"; 
      O     "Pumpe2Ein"; 
      =     L     20.2; 

// Aufruf Betriebsstundenzähler

      CALL "Betriebsstunden" (
           Takt                     := L     20.0,
           Reset                    := L     20.1,
           Freigabe                 := L     20.2,
           Min                      := "DB_TP270".betr_sek,
           Sek                      := "DB_TP270".betr_min,
           Std                      := "DB_TP270".betr_std,
           Tag                      := "DB_TP270".betr_tag);



NETWORK
TITLE =Merker Automatischer Pumpenwechsel

      L     "DB_TP270".betr_tag; 
      L     "DB_TP270".Umschaltdauer; 
      ==I   ; 
      =     "Auto Pumpenwechsel"; 
NETWORK
TITLE =Hydraulikpumpe 1 ein/aus

      U     "DB_TP270".TastPumpeEin; 
      S     "Pumpe1Ein"; 
      U(    ; 
      U     "t_Pumpe1_laeuft"; 
      UN    "E8.3"; 
      ON    "E8.2"; 
      O     "DB_TP270".TastPumpeAus; 
      O     ; 
      U     "Ausw_Zeitablauf"; 
      U     "Ausw_Ums_P1"; 
      )     ; 
      R     "Pumpe1Ein"; 
      NOP   0; 
NETWORK
TITLE =Hydraulikpumpe 2 ein/aus

      U     "DB_TP270".TastPumpeStandbyEin; 
      S     "Pumpe2Ein"; 
      U(    ; 
      U     "t_Pumpe2_laeuft"; 
      UN    "E8.5"; 
      ON    "E8.4"; 
      O     "DB_TP270".TastPumpeStandbyAus; 
      O     ; 
      U     "Ausw_Zeitablauf"; 
      U     "Ausw_Ums_P2"; 
      )     ; 
      R     "Pumpe2Ein"; 
      NOP   0; 
NETWORK
TITLE =Abfrage keine Pumpe läuft

      UN    "Pumpe1Ein"; 
      UN    "Pumpe2Ein"; 
      =     "KeinePumpelaeuft"; 
NETWORK
TITLE =Timer für Pumpenlaufkontrolle

      U     "Pumpe1Ein"; 
      L     S5T#5S; 
      SE    "t_Pumpe1_laeuft"; 

      U     "Pumpe2Ein"; 
      L     S5T#5S; 
      SE    "t_Pumpe2_laeuft"; 



NETWORK
TITLE =Auswertung für Pumpenlaufkontrolle

      U     "Pumpe1Ein"; 
      S     "M_Pumpe1_an"; 
      U(    ; 
      O     "First_Scan"; 
      O     "DB_TP270".TastPumpeAus; 
      O     ; 
      U     "Ausw_Ums_P1"; 
      U     "Ausw_Zeitablauf"; 
      )     ; 
      R     "M_Pumpe1_an"; 
      NOP   0; 






NETWORK
TITLE =Auswertung für Pumpenlaufkontrolle


      U     "Pumpe2Ein"; 
      S     "M_Pumpe2_an"; 
      U(    ; 
      O     "First_Scan"; 
      O     "DB_TP270".TastPumpeStandbyAus; 
      O     ; 
      U     "Ausw_Ums_P2"; 
      U     "Ausw_Zeitablauf"; 
      )     ; 
      R     "M_Pumpe2_an"; 
      NOP   0; 


NETWORK
TITLE =Abfrage für Wechsel auf Pumpe 2

      U     "Pumpe1Ein"; 
      U(    ; 
      U     "Pumpe2Ein"; 
      FP    "Flankenmerker"; 
      O     "Auto Pumpenwechsel"; 
      )     ; 



      S     "Ausw_Ums_P1"; 
NETWORK
TITLE =Abfrage für Wechsel auf Pumnpe 1

      U     "Pumpe2Ein"; 
      U(    ; 
      U     "Pumpe1Ein"; 
      FP    "Flankenmerker_2"; 
      O     "Auto Pumpenwechsel"; 
      )     ; 

      S     "Ausw_Ums_P2"; 
NETWORK
TITLE =Auswertung für Umschaltung

      U(    ; 
      U     "Pumpe1Ein"; 
      U     "Pumpe2Ein"; 
      L     S5T#5S; 
      SV    "t_Umschaltung_Standby"; 
      NOP   0; 
      NOP   0; 
      NOP   0; 
      U     "t_Umschaltung_Standby"; 
      )     ; 
      FN    "Flankenmerker_3"; 
      =     "Ausw_Zeitablauf"; 




NETWORK
TITLE =Auswertung für Umschaltung

      U     "Pumpe1Ein"; 
      UN    "Pumpe2Ein"; 
      O     ; 
      UN    "Pumpe1Ein"; 
      U     "Pumpe2Ein"; 
      R     "Ausw_Ums_P1"; 
      R     "Ausw_Ums_P2"; 
END_FUNCTION

bzw. :

absolut:

Code:
FUNCTION FC 5 : VOID
TITLE =
VERSION : 0.0

BEGIN
NETWORK
TITLE =Hydraulikpumpe 1 ein/aus
// 1 Sek. Impuls
      U     M      2.2; 
      FP    M     30.0; 
      =     L     20.0; 

// Reset wenn beide oder keine Pumpe läuft

      U     M     10.5; 
      U     M     10.6; 
      O     ; 
      UN    M     10.5; 
      UN    M     10.6; 
      =     L     20.1; 

// Freigabe sobald eine Pumpe läuft

      O     M     10.5; 
      O     M     10.6; 
      =     L     20.2; 

// Aufruf Betriebsstundenzähler

      CALL FC    20 (
           Takt                     := L     20.0,
           Reset                    := L     20.1,
           Freigabe                 := L     20.2,
           Min                      := DB50.DBW   52,
           Sek                      := DB50.DBW   54,
           Std                      := DB50.DBW   56,
           Tag                      := DB50.DBW   58);



NETWORK
TITLE =Merker Automatischer Pumpenwechsel

      L     DB50.DBW   58; 
      L     DB50.DBW   60; 
      ==I   ; 
      =     M     11.0; 
NETWORK
TITLE =Hydraulikpumpe 1 ein/aus

      U     DB50.DBX   19.4; 
      S     M     10.5; 
      U(    ; 
      U     T      5; 
      UN    E      8.3; 
      ON    E      8.2; 
      O     DB50.DBX   19.5; 
      O     ; 
      U     M     11.7; 
      U     M     11.3; 
      )     ; 
      R     M     10.5; 
      NOP   0; 
NETWORK
TITLE =Hydraulikpumpe 2 ein/aus

      U     DB50.DBX   19.6; 
      S     M     10.6; 
      U(    ; 
      U     T      6; 
      UN    E      8.5; 
      ON    E      8.4; 
      O     DB50.DBX   19.7; 
      O     ; 
      U     M     11.7; 
      U     M     11.5; 
      )     ; 
      R     M     10.6; 
      NOP   0; 
NETWORK
TITLE =Abfrage keine Pumpe läuft

      UN    M     10.5; 
      UN    M     10.6; 
      =     M     10.7; 
NETWORK
TITLE =Timer für Pumpenlaufkontrolle

      U     M     10.5; 
      L     S5T#5S; 
      SE    T      5; 

      U     M     10.6; 
      L     S5T#5S; 
      SE    T      6; 



NETWORK
TITLE =Auswertung für Pumpenlaufkontrolle

      U     M     10.5; 
      S     M     14.0; 
      U(    ; 
      O     M      0.4; 
      O     DB50.DBX   19.5; 
      O     ; 
      U     M     11.3; 
      U     M     11.7; 
      )     ; 
      R     M     14.0; 
      NOP   0; 






NETWORK
TITLE =Auswertung für Pumpenlaufkontrolle


      U     M     10.6; 
      S     M     14.1; 
      U(    ; 
      O     M      0.4; 
      O     DB50.DBX   19.7; 
      O     ; 
      U     M     11.5; 
      U     M     11.7; 
      )     ; 
      R     M     14.1; 
      NOP   0; 


NETWORK
TITLE =Abfrage für Wechsel auf Pumpe 2

      U     M     10.5; 
      U(    ; 
      U     M     10.6; 
      FP    M     11.2; 
      O     M     11.0; 
      )     ; 



      S     M     11.3; 
NETWORK
TITLE =Abfrage für Wechsel auf Pumnpe 1

      U     M     10.6; 
      U(    ; 
      U     M     10.5; 
      FP    M     11.4; 
      O     M     11.0; 
      )     ; 

      S     M     11.5; 
NETWORK
TITLE =Auswertung für Umschaltung

      U(    ; 
      U     M     10.5; 
      U     M     10.6; 
      L     S5T#5S; 
      SV    T      7; 
      NOP   0; 
      NOP   0; 
      NOP   0; 
      U     T      7; 
      )     ; 
      FN    M     11.6; 
      =     M     11.7; 




NETWORK
TITLE =Auswertung für Umschaltung

      U     M     10.5; 
      UN    M     10.6; 
      O     ; 
      UN    M     10.5; 
      U     M     10.6; 
      R     M     11.3; 
      R     M     11.5; 
END_FUNCTION




mfg chivas

ps: warum kann ich die quelle nicht anhängen?
 
Zurück
Oben