Pumpenanlage mit 2 Pumpen

PapaDjango

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich hab folgendes problem, ich habe bis jetzt mit Graph gearbeitet und nun muss ich in ST ein programm schreiben. da ich aber keinerlei kenntnisse habe in ST, brauche ich dringend eure HILFE.

ich habe folgende hardware: simatic s7-300, 315 cpu.

zur aufgabe:

2 pumpen sichern die wasserversorgung eine anlage. die beiden pumpen sind im wechselbetrieb zu fahren. sensor b2 spricht bei erreichen des maximalzulässigen pegels an und schaltet die pumpe ab. sinkt der pegel soweit ab das sensor b1 anspricht, so ist die andere pumpe einzuschalten.
mit betätigen des schalters s4 fällt die pumpe m1 aus, mit dem schalter s5 fällt die pumpe m2 aus. fällt eine der pumpen aus so blinkt die lampe h2 mit 1hz, fallen beide pumpen aus so blinkt sie mit 2hz. mit dem schalter s2 jeweils die störum quitiert und die anlage läuft wieder normal.

im bild könnt ihr sehen wie das ganze aufgebaut ist.

ich habe schon das eine und das andere versucht aber komme nicht auf das richtige ergebnis.


LG
 

Anhänge

  • Bild0038.jpg
    Bild0038.jpg
    461,6 KB · Aufrufe: 132
Zuviel Werbung?
-> Hier kostenlos registrieren
ich bekomme es noch nicht mal hin das sich die beiden pumpen abwechsen:oops:

was ich mom hab ist nur das

FUNCTION_BLOCK FB1

VAR_INPUT
s0, s1, s2, s4, s5, b1, b2: BOOL;
END_VAR

VAR_OUTPUT
h1, h2, k1, k4: BOOL;
END_VAR

IF s1=1 THEN h1:=1; END_IF;

IF s1=1 THEN k1:=1; END_IF;
IF b2=1 THEN k1:=0; END_IF;
IF b1=0 THEN k4:=1; END_IF;


END_FUNCTION_BLOCK

aber da die bedingung b1=1 direkt erfüllt ist, schaltet sich direkt die pump1 k4 ein.
LG
 
ich bekomme es noch nicht mal hin das sich die beiden pumpen abwechsen:oops:
Wo ist denn Dein Wechselmerker?

Code:
   VAR_INPUT
      i_b1 : BOOL;
   END_VAR
 
   VAR
      s_Flanke : BOOL;
      s_Pumpe1_Master : BOOL;
      s_Pumpe2_Master : BOOL; 
   END_VAR
 
   IF i_b1 AND NOT s_Flanke THEN
      s_Flanke := True;
         IF s_Pumpe1_Master THEN
            s_Pumpe2_Master := True;
            s_Pumpe1_Master := False;    
         ELSE
            s_Pumpe1_Master := True;
            s_Pumpe2_Master := False; 
         END_IF;
   END_IF;
 
   IF NOT i_b1 THEN
       s_Flanke := False;
   END_IF;
Ich hoffe das reicht so ohne Kommentar, sollte eigentlich klar sein.
Mit der Flanke von b1 wechselt welche Pumpe Master ist. Und nur diese darf dann mit dem Startbefehl anlaufen.
Eigentlich reicht es auch wenn nur eine Pumpe auf Master gesetzt wird, für die andere gilt dann automatisch das Gegenteil.
 
Erst mal danke für die antwort konnte es erst jetzt ausprobieren. muss aber sagen das es nicht funzt :( vieleicht währen ein paar komentare nicht schlecht. die beiden sensoren reagieren nicht.
 
der sensor b2 soll beim erreichen des maximalwasserstands die aktuelle pumpe ausschalten und wenn der minimalwasserstand erreicht ist, also sensor b1 unterschritten wird, muss die andere pumpe anspringen.
 
Zurück
Oben