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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Sprungbefehl, Ausgang bleib gesetzt

  1. #11
    Pockebrd ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.03.2010
    Beiträge
    327
    Danke
    66
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von repök Beitrag anzeigen
    Und wenn die anweisung nicht bearbeitet wird? .
    Gerade weil die Anweisung nicht bearbeitet wird, dachte ich es sollte wieder auf "0" gehn.
    Aber wenn nach dem Sprung da VKE immer 1 ist dann, leuchtet mir das jetzt auch ein.

  2. #12
    Registriert seit
    05.03.2007
    Ort
    Lindlar
    Beiträge
    112
    Danke
    19
    Erhielt 20 Danke für 18 Beiträge

    Standard

    Zitat Zitat von Pockebrd Beitrag anzeigen
    Gerade weil die Anweisung nicht bearbeitet wird, dachte ich es sollte wieder auf "0" gehn.
    Aber wenn nach dem Sprung da VKE immer 1 ist dann, leuchtet mir das jetzt auch ein.
    Das hat in diesem Fall nichts mit dem VKE zu tun.
    Wenn du eine Zuweisung überspringst und danach auch nirgendwo mehr bearbeitest dann bleibt die letzte Zuweisung aktiv.

    Beispiele:
    Code:
             U E0.0
    SPB      M001
             = A0.0
    M001:    NOP 0
    Wenn E0.0 das erste Mal TRUE wird, so wird A0.0 auch TRUE da die Schleife durchlaufen wird.
    Fällt E0.0 wieder auf FALSE wird die Zuweisung = A0.0 nicht mehr abgearbeitet => A0.0 behält seinen letzten Status, in deinem Fall TRUE.

    Code:
             U E0.0
    SPB      M001
             L MW2
             + 1
             T MW2
    M001:    NOP 0
    Wenn E0.0 TRUE wird, dann wird das MW2 in jedem Zyklus um 1 erhöht.
    Fällt E0.0 wieder auf FALSE (z.B. nach 128 Zyklen), dann beträgt der Wert im MW2 128 und bleibt es auch, da der Code nicht mehr abgearbeitet wird.
    Wird E0.0 wieder TRUE, so wird das MW2 wieder in jedem Zyklus um 1 erhöht 129..130..131.. etc.
    IF Time < '09:00:00' THEN
    SELECT finger from right hand where ID=3
    END IF

  3. Folgender Benutzer sagt Danke zu Panzerknacker für den nützlichen Beitrag:

    Pockebrd (06.01.2012)

  4. #13
    Registriert seit
    07.09.2006
    Ort
    nördl. Ruhrgebiet
    Beiträge
    46
    Danke
    37
    Erhielt 14 Danke für 7 Beiträge

    Standard

    Da hat sich der "Panzerknacker" aber mit TRUE und FALSE vertan....

    Der Sprungbefehl SPB wird ausgeführt wenn das VKE vor der Anweisung SPB M001 True ist.
    Ist in den Beispielen von "Panzerrknacker" E0.0 = 1 und damit VKE = 1, dann werden die Anweisungen die zwischen dem Sprungbefehl SPB und der Marke M001: programmiert übersprungen, also nicht abgearbeitet/ausgeführt. Ist der E0.0 = 0 und somit das VKE = 0, wird der Sprungbefehl SPB nicht ausgeführt und der nachfolgende Programmcode ausgeführt. D.H. im ersten Beispiel bleibt der Ausgang immer 0, im zweiten Beispiel wird das MW2 bei jedem Zyklus um 1 hochgezählt.
    Wenn du denkst es geht nichts mehr, wünscht du dir einen Reset-Knopf her.

  5. #14
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard

    Zitat Zitat von Willi Wusel Beitrag anzeigen
    Da hat sich der "Panzerknacker" aber mit TRUE und FALSE vertan....
    (...)
    D.H. im ersten Beispiel bleibt der Ausgang immer 0, im zweiten Beispiel wird das MW2 bei jedem Zyklus um 1 hochgezählt.
    Bleibt er eben nicht, da wenn das VKE des E0.0 = 0 ist der Sprungbefehl nicht ausgeführt wird.
    Da nach den Sprungbefehlen das VKE grundsätzlich 1 ist, wird der Ausgang auf 1 gesetzt wenn nicht gesprungen wird.
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

  6. #15
    Registriert seit
    05.03.2007
    Ort
    Lindlar
    Beiträge
    112
    Danke
    19
    Erhielt 20 Danke für 18 Beiträge

    Standard

    Zitat Zitat von OHGN Beitrag anzeigen
    Bleibt er eben nicht, da wenn das VKE des E0.0 = 0 ist der Sprungbefehl nicht ausgeführt wird.
    Da nach den Sprungbefehlen das VKE grundsätzlich 1 ist, wird der Ausgang auf 1 gesetzt wenn nicht gesprungen wird.


    Genau das ist der Haken an der Sache...

    Das wo ich mich vertan habe war in der Beschreibung und muss wie folgt aussehen:

    Wenn E0.0 das erste Mal FALSE wird, so wird A0.0 TRUE da die Schleife durchlaufen wird und das VKE damit auf 1 wechselt.
    Wird E0.0 wieder auf TRUE wird die Zuweisung = A0.0 nicht mehr abgearbeitet => A0.0 behält seinen letzten Status, in deinem Fall TRUE.

    Den Fehler bitte ich zu entschuldigen, da ich normalerweise immer mit SPBN arbeite!

    Ein Blick auf die Screenshots sollte aber erklären wie ich es gemeint habe.
    E0_0_FALSE.pngE0_0_TRUE.png

    Dazu der Auszug aus der Siemens-Hilfe:
    Siemens_Hilfe_zu_SPB.png

    Gruß
    Matthias
    IF Time < '09:00:00' THEN
    SELECT finger from right hand where ID=3
    END IF

  7. #16
    Registriert seit
    07.09.2006
    Ort
    nördl. Ruhrgebiet
    Beiträge
    46
    Danke
    37
    Erhielt 14 Danke für 7 Beiträge

    Standard

    Zitat Zitat von OHGN Beitrag anzeigen
    Bleibt er eben nicht, da wenn das VKE des E0.0 = 0 ist der Sprungbefehl nicht ausgeführt wird.
    Da nach den Sprungbefehlen das VKE grundsätzlich 1 ist, wird der Ausgang auf 1 gesetzt wenn nicht gesprungen wird.
    stümmt, da geb ich dir Recht. Das das VKE = 1 ist nach nicht ausgeführtem Sprungbefehl hab ich nicht dran gedacht. Asche auf mein Haupt...
    Wenn du denkst es geht nichts mehr, wünscht du dir einen Reset-Knopf her.

  8. #17
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    Mal ganz am Rande...

    VERGISS DIESE ART DER PROGRAMIERUNG MIT SPRÜNGEN!
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  9. Folgender Benutzer sagt Danke zu Tigerente1974 für den nützlichen Beitrag:

    Blockmove (07.01.2012)

  10. #18
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Zitat Zitat von Pockebrd Beitrag anzeigen
    Gerade weil die Anweisung nicht bearbeitet wird, dachte ich es sollte wieder auf "0" gehn.
    Aber wenn nach dem Sprung da VKE immer 1 ist dann, leuchtet mir das jetzt auch ein.
    Dass das VKE auf 1 gesetzt wird bei bestimmten Sprüngen war schon bei der S5 so.
    Übrigens betrifft das nur...
    SPB
    SPBN
    SPBB (kopiert zusätzlich das VKE ins BIE)
    SPBNB (kopiert zusätzlich das VKE ins BIE)

    Alle anderen Sprünge lassen das VKE unverändert.

  11. #19
    Registriert seit
    05.03.2007
    Ort
    Lindlar
    Beiträge
    112
    Danke
    19
    Erhielt 20 Danke für 18 Beiträge

    Standard

    Zitat Zitat von Tigerente1974 Beitrag anzeigen
    Mal ganz am Rande...

    VERGISS DIESE ART DER PROGRAMIERUNG MIT SPRÜNGEN!
    Meinst du im Bezug auf die Weiterverwendung des VKE? Damit gebe ich dir Recht.

    Gruß
    Matthias
    IF Time < '09:00:00' THEN
    SELECT finger from right hand where ID=3
    END IF

  12. #20
    Pockebrd ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.03.2010
    Beiträge
    327
    Danke
    66
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Panzerknacker Beitrag anzeigen
    Meinst du im Bezug auf die Weiterverwendung des VKE?
    Das heist nach dem Sprungbefehl immer mit "und" "lade".... weitermachen ?

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 05.03.2010, 11:45
  2. Sprungbefehl
    Von Bollmann im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 06.08.2009, 12:07
  3. Sprungbefehl SPBN
    Von petzi im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 10.05.2009, 15:16
  4. Ausgang wird mal gesetzt mal nicht!?
    Von Deyn im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 04.05.2009, 13:48
  5. Codesys und Wago 750 Ausgang bleibt gesetzt ?
    Von Waelder im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 24.05.2006, 08:30

Lesezeichen

Berechtigungen

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