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

Ergebnis 1 bis 9 von 9

Thema: Zähle einmalig +1 wenn Eingang positive Flanke

  1. #1
    Registriert seit
    02.10.2015
    Beiträge
    21
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin,

    ich brauche Hilfe bei nem Zähler der >999 zählen soll.
    Ich möchte sofern ein Bit gesetzt ist mein DInt um 1 erhöhen. Allerdings soll die nur einmalig geschehen wenn Eingang von 0 auf 1 wechselt.
    Das Zählbit ist länger gesetzt und mein aktuelles Problem ist, dass er dauerhaft aufsummiert während das Bit "1" ist.
    Ich möchte das ganze in KOP programmieren.

    Zur Verdeutlichung:

    Wenn M100.0 von "0" auf "1" springt ->addiere einmalig (und nicht dauerhaft!)1 zu DB1.DBD0

    Habe bereits AWL Listen gefunden aber kann mit den Sprungmarken nicht anfangen, da er diese im Manager, warum auch immer, rot markiert und die Sprungmarke fehlt.
    Geändert von Ivan91 (02.02.2016 um 09:17 Uhr)
    Zitieren Zitieren Zähle einmalig +1 wenn Eingang positive Flanke  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.728
    Danke
    729
    Erhielt 1.161 Danke für 972 Beiträge

    Standard

    Du hast doch schon die richtige Eingebung mit positive Flanke.
    Jetzt noch in der Hilfe zu KOP nach Positive Flanke suchen und schon bist du auf dem richtigen Weg

  3. #3
    Ivan91 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2015
    Beiträge
    21
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ja, allerdings möchte ich nur einmal positiv zählen nach der Flanke. Bei mir bleibt die positive Flanke ja dauerhaft 1. Ich brauche aber nur einen einmaligen Impuls.
    Im Anhang seht ihr, dass er Zähler bei 999 ist. Ich möchte aber "unendlich" haben
    zähler.jpg
    Geändert von Ivan91 (02.02.2016 um 08:24 Uhr)

  4. #4
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Du brauchst erstmal ein DBD(0), was ein DB0 ist, weiss ich nicht.

    Code:
    U M10.0
    FP M10.1
    SPBN WEI1 //wenn keine Flanke springe drüber
    L DB1.DBD0
    L L#1
    +D
    T DB1.DBD0
    WEI1: NOP 0

  5. #5
    Registriert seit
    01.10.2012
    Beiträge
    203
    Danke
    12
    Erhielt 56 Danke für 36 Beiträge

    Standard

    Ich glaube, dass du das Prinzip einer Flanke nicht verstanden hast. Eine positiove Flanke läßt nur einen Puls durch, bis ein Signalwechsel stattgefunden hat. Füge doch mal zwischen deinen Merker und den Baustein eine positive Flanke ein.
    Nüchtern betrachtet war es besoffen besser.

  6. #6
    Registriert seit
    02.01.2015
    Beiträge
    530
    Danke
    96
    Erhielt 109 Danke für 104 Beiträge

    Standard

    Unendlich gibt es nicht, aber mit einem DINT kommst du schon recht (2.147.483.647).

    Du musst musst in meinen Vorschlag nur deine entsprechenden Operanden einsetzen.
    Angehängte Grafiken Angehängte Grafiken

  7. #7
    Ivan91 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2015
    Beiträge
    21
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von borromeus Beitrag anzeigen
    Du brauchst erstmal ein DBD(0), was ein DB0 ist, weiss ich nicht.

    Code:
    U M10.0
    FP M10.1
    SPBN WEI1 //wenn keine Flanke springe drüber
    L DB1.DBD0
    L L#1
    +D
    T DB1.DBD0
    WEI1: NOP 0

    Natürlich habe ich DBD0. Habe auch die AWL genutzt. Problem war, dass Sprunmarken maximal 4 Zeichen als Länge haben dürfen. Das erklärte die rote Schrift. Funktioniert nun einwandfrei. Danke.

    Zitat Zitat von GUNSAMS Beitrag anzeigen
    Unendlich gibt es nicht, aber mit einem DINT kommst du schon recht (2.147.483.647).

    Du musst musst in meinen Vorschlag nur deine entsprechenden Operanden einsetzen.
    Deswegen schreib ich "unendlich" Dein Vorschlag hatte ich vorher bereits probiert, allerdings hat er, warum auch immer, pro Impuls 200 addiert. Komisch. Nun belasse ich es bei der AWL

  8. #8
    Registriert seit
    02.01.2015
    Beiträge
    530
    Danke
    96
    Erhielt 109 Danke für 104 Beiträge

    Standard

    Zitat Zitat von Ivan91 Beitrag anzeigen
    Dein Vorschlag hatte ich vorher bereits probiert, allerdings hat er, warum auch immer, pro Impuls 200 addiert. Komisch. Nun belasse ich es bei der AWL
    Dann hast du keine Flanke definiert. Und wenn du auch AWL nimmst, dann schreibe doch erst gar nicht, dass du KOP willst.

  9. #9
    Ivan91 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.10.2015
    Beiträge
    21
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von GUNSAMS Beitrag anzeigen
    Dann hast du keine Flanke definiert. Und wenn du auch AWL nimmst, dann schreibe doch erst gar nicht, dass du KOP willst.
    Vollkommen richtig. Habe deins nochmal nachgebaut. Vielen herzlichen Dank. Funktioniert. Fehler war tatsächlich mein Unweissen über Flankenmerker. Brauche dazu Hilfsmerker und nicht direkt den "Takteingang"

Ähnliche Themen

  1. Positive Flanke erstellen -HILFE-
    Von chipchap im Forum CODESYS und IEC61131
    Antworten: 43
    Letzter Beitrag: 19.06.2015, 20:40
  2. Step 7 Merker / Positive Flanke in CFC?
    Von chipchap im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.04.2014, 16:54
  3. Positive Flanke in einer Funktion?
    Von SebastianR1085 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 02.02.2013, 15:58
  4. Positive Flanke in SCL
    Von onikos im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 14.07.2010, 21:39
  5. positive Flanke
    Von waldi im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 21.06.2007, 08:39

Lesezeichen

Berechtigungen

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