Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: Mit einem Signal zwei Geräte abwechselnd ansteuern

  1. #1
    Registriert seit
    07.04.2016
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Als Newbie in der Programmierung und damit auch hier im Forum erlaube ich mir direkt mal eine Frage mitzubringen.
    Vermutlich ist es mal wieder ganz einfach, aber ich komme einfach zu keiner sinnvollen Lösung.

    Derzeit programmiere ich in ABB Freelance (mit FBS) eine kleine Überpumpstation. Sie ist mit zwei redundanten Pumpen ausgestattet. Die Steuersignale von zwei Levelsensoren sind binär und sagen nur "Pumpe ein" und "Pumpe aus". In der bisherigen Programmierung springt die zweite Pumpe (P_2) nur an wenn die erste (P_1) -aus welchen Gründen auch immer- nicht funktioniert. Damit steht sie im Optimalfall monatelang ungenutzt herum. Und steht sich so kaputt. Das ist doof.

    Nun möchte ich gerne, dass bei jedem neuen Schalten zwischen den Pumpen hin- und hergeschaltet wird. Also: Einschaltsignal kommt -> P_1 schaltet ein -> P_1 pumpt -> Ausschaltsignal kommt -> P_1 schaltet ab -> Einschaltsignal kommt -> P_2 schaltet ein -> P_2 pumpt -> Ausschaltsignal kommt -> P_2 schaltet ab, dann wieder P_1 usw. usf.

    Dafür habe ich auch eine theoretisch Lösung (professionell gezeichnet in MS Paint und hier angehängt). Nun finde ich leider keinen Baustein mit dem ich die Umschaltung hinbekomme und an schlauen Ideen wie ich es mit Basisbausteinen zusammenstricke hapert es auch.

    Wenn jemandem etwas dazu einfällt bin ich auf jeden Fall äußerst dankbar.

    Vielen Dank und schönen Gruß
    ThorstenWechselschaltung_Pumpen.png
    Geändert von ThG (07.04.2016 um 20:44 Uhr)
    Zitieren Zitieren Mit einem Signal zwei Geräte abwechselnd ansteuern (gelöst)  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Du suchst warscheinlich einen Stromstossschalter:
    Mit Standardbausteinen:
    Stromstoßschalter

    Solche Bausteine solltest du in ABB Freelance auch finden

  3. #3
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Hallo ganz Simpel in "Pseudocode"

    Wenn Flanke von Startsigal DANN Invertiere Startmerker

    Wenn Du weißt wie man eine Flanke bildet und wie man ein Signal invertiert kommst Du damit klar.

    Den Startmerker kannst Du dann ganz einfach verwenden:

    Startmerker = FALSE -> Punke 1
    Startkerker = TRUE -> Pumpe 2

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  4. #4
    ThG ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.04.2016
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

    Danke erstmal für die schnellen Antworten.
    Leider kann ich mit beiden nichts rechtes anfangen.
    @ marlob:
    Ist der Stromstoßschalter das was ich in diesem Fall brauche? Ich habe den Stromstpßschalter-Artikel nun dreimal gelesen und ihn dreimal nicht verstanden.
    @ Marcel:
    Bei Flanke bilden wird's schon dünn
    Signal invertieren, dafür gibt's bestimmt einen fertigen Baustein. Den werde ich mal suchen.

    Gruß
    Thorsten

  5. #5
    Registriert seit
    04.11.2013
    Beiträge
    140
    Danke
    12
    Erhielt 24 Danke für 19 Beiträge

    Standard

    Zusammengefasst war das so gemeint:
    Der Stromstossschalter oder T(oggle)-FlipFlop, ist ein 1-Bit-Speicher, der mit jedem Impuls (daher Flankenauswertung) am Eingang seinen Zustand ändert:
    Anfangszustand : Ausgang = 0
    1. Impuls : Ausgang = 1
    2. Impuls : Ausgang = 0
    3. Impuls : Ausgang = 1
    usw.

    Den Stromstossschalter/T(oggle)-FlipFlop kannst du anhand des Artikel programmieren. Evtl. gibts den in der Software als fertigen Baustein, ich kenne die ABB-SW nicht.

    Also:
    Signal "pump" wird 1. Mit der steigenden Flanke von "pump" ändert das T-FlipFlop seinen Zustand von 0 auf 1. UND-verknüpft mit "pump" wird damit Pumpe 1 eingeschaltet.
    Wird "pump" wieder 0, bleibt der Zustand des T-FlipFlop erhalten, aber aufgrund des UND geht Pumpe 1 aus.

    Signal "pump" wird wieder 1. Das T-FlipFlop ändert seinen Zustand von 1 auf 0. Dieses Signal invertiert und UND-verknüpft mit "pump" schaltet Pumpe 2 ein.
    Wird "pump" wieder 0, bleibt der Zustand des T-FlipFlop erhalten, aber aufgrund des UND geht Pumpe 2 aus.

    Signal "pump" wird wieder 1. Mit der steigenden Flanke von "pump" ändert das T-FlipFlop seinen Zustand von 0 auf 1. UND-verknüpft mit "pump" wird damit Pumpe 1 eingeschaltet.
    Wird "pump" wieder 0, bleibt der Zustand des T-FlipFlop erhalten, aber aufgrund des UND geht Pumpe 1 aus.

    usw.

    Invertierung und Flankenauswertung sind einfache Operationen, die sind bestimmt in der ABB-SW drin.

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Geht auch ohne Flanken und ohne Stromstossschalter. Einfach nur merken, welche Pumpe zuletzt an war:
    Code:
                           zuletztMerker
                  +---+      +------+
             Q_P1-| & |      |  SR  |
                  |   |------|S    Q|-
      Startsignal-o   |      |      |
                  +---+      |      |
                             |      |
                  +---+      |      |
             Q_P2-| & |      |      |
                  |   |------|R     |
      Startsignal-o   |      +------+
                  +---+
    
                  +---+       Q_P1
      Startsignal-| & |      +---+
                  |   |------| = |
    zuletztMerker-o   |      +---+
                  +---+
    
                  +---+       Q_P2
      Startsignal-| & |      +---+
                  |   |------| = |
    zuletztMerker-|   |      +---+
                  +---+
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #7
    ThG ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.04.2016
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Gleichstromer

    Fast so habe ich es gemacht. Allerdings habe ich anstatt des T-FlipFlops einen Trigger für die ansteigende Flanke verwendet.
    Funktioniert ganz prima, wenn -ja wenn- der blöde Trigger mal seinen Zustand am Ausgang beibehalten würde. Leider kann ich in der Parametrierung aber nur einstellen für wie viele Zyklen der Zustand beibehalten werden soll (und damit ist es dann ja eher ein Timer).
    T-FlipFlop oder Toggle-FlipFlop kennt mein Programm nicht. Ich werde mal googlen ob der noch nen anderen Namen hat.

    Die Sache mit dem Merker klingt auch ganz interessant. Nur ist das Problem ein ähnliches: ich weiß nicht wie so ein Merker aussieht und im Handbuch taucht das Wort nur einmal auf 700 Seiten auf (leider in einem urst komplizierten Baustein)

    Aber das krieg ich noch raus. Den Rest hab ich ja auch irgendwie zusammengemogelt.

    Schönen Gruß
    Thorsten

  8. #8
    ThG ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.04.2016
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ha geknackt!
    Flankenerkennung in Kombination mit einem XOR war der Trick (hier gefunden: http://www.sps-lehrgang.de/stromstossschalter/)
    Da steht im Prinzip das gleiche wie in dem Artikel auf den marlob verlinkt, nur irgendwie verständlicher.

    Stromstossschalter mit XOR.png

    Gibt's daran aus technischer Sicht irgend etwas ganz gravierendes auszusetzen?

    Schönen Gruß
    Thorsten


    Geändert von ThG (07.04.2016 um 20:43 Uhr)

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von ThG Beitrag anzeigen
    Die Sache mit dem Merker klingt auch ganz interessant. Nur ist das Problem ein ähnliches: ich weiß nicht wie so ein Merker aussieht
    Die Bezeichnung "Merker" muß man nicht so eng sehen, ist aber eine gute umgangssprachliche Bezeichnung für dessen Aufgabe. Gemeint ist ganz allgemein eine Variable, die einen Wert speichern (sich "merken") soll. Meistens einen boolschen Zustand. In meinem Programmbeispiel ist das eine Variable mit Datentyp BOOL. Und weil sich die Variable ihren Wert merken soll darf sie nicht in temporärem Speicher (z.B. Stack) liegen. Mein RS-Flipflop "zuletztMerker" funktioniert wie das RS-Flipflop "FF_Level" in Deinem Programm.


    Zitat Zitat von ThG Beitrag anzeigen
    Flankenerkennung in Kombination mit einem XOR war der Trick (hier gefunden: http://www.sps-lehrgang.de/stromstossschalter/)
    Da steht im Prinzip das gleiche wie in dem Artikel auf den marlob verlinkt, nur irgendwie verständlicher.
    Für das XOR gibt es in der Tat viele Erklärungen, welche mehr oder weniger verständlich sind.
    Hier eine weitere von mir: "Bei einem XOR mit zwei Eingängen bestimmt der eine Eingang, ob das Signal des anderen Eingangs direkt oder negiert durchgeschaltet wird."

    Wenn der Ausgang des XOR auf den zweiten Eingang zurückgeführt wird, dann ist das quasi wie eine Selbsthaltung, solange der erste Eingang 0 ist. Wird der erste Eingang 1 dann wird der zurückgekoppelte Ausgang negiert an den Ausgang gegeben. Damit der Ausgang nur einmal negiert wird, darf das Signal am ersten Eingang nur genau 1 mal (1 Zyklus lang) 1 sein. Dafür sorgt üblicherweise eine Flankenerkennung mit z.B. R_TRIG. So wird aus der Kombination R_TRIG + XOR ein Stromstossschalter.


    Zitat Zitat von ThG Beitrag anzeigen
    Stromstossschalter mit XOR.png

    Gibt's daran aus technischer Sicht irgend etwas ganz gravierendes auszusetzen?
    Nein. Das kann man so machen, das ist korrekt so.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die gleiche Frage wurde hier schon öfter diskutiert und in mehrereb Threads kam dann die Frage auf, ob das Sinn macht. Wenn beide Pumpen im Wechsel laufen, verschleißen beide etwa genauso schnell und sind beide etwa gleichzeitig an dem Punkt, an dem sie ausfallen. In diesem Fall hast Du unter Umständen keine Reserve mehr. Sinnvoller wäre eventuell, die eine Pumpe zu nutzen bis sie ausfällt und dann die andere bis sie ausfällt, dann wieder die erste.
    Gruß
    Michael

Ähnliche Themen

  1. Motoren abwechselnd mit einem FU fahren
    Von Deep Blue im Forum Antriebstechnik
    Antworten: 13
    Letzter Beitrag: 04.03.2016, 12:43
  2. mit einem FU Lampen ansteuern
    Von Tampapdex im Forum Antriebstechnik
    Antworten: 2
    Letzter Beitrag: 01.03.2010, 20:00
  3. Antworten: 24
    Letzter Beitrag: 07.05.2009, 14:02
  4. mit einem Taster zwei Zustände
    Von express im Forum Programmierstrategien
    Antworten: 18
    Letzter Beitrag: 23.04.2008, 16:42
  5. Antworten: 9
    Letzter Beitrag: 16.12.2007, 21:20

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •