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

Ergebnis 1 bis 10 von 10

Thema: Pos / Neg Flanken Byteweise Auswerten ?? (S7)

  1. #1
    Registriert seit
    30.03.2006
    Beiträge
    38
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ,

    wie Werte ich am elegantesten Flanken in einem MB aus ?

    Gibts da was fertiges? Habe nichts gefunden!

    Gruß,
    Jupp
    Zitieren Zitieren Pos / Neg Flanken Byteweise Auswerten ?? (S7)  

  2. #2
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Selbst ist der Mann!

    Ein mögliches Beispiel könnte so aussehen:

    Code:
    L MB 1  // hier steht der Wert, vom letzten Zyklus (siehe unten)
    L MB 0  // hier steht der Wert drin, der die Flanke erzeugen soll
    <>I      // Vergleich auf ungleich (der Wert hat sich seit dem letzen Zyklus geändert)
    = M 200.0 // hier wird eingfach mal der Merker 200.0 auf True gesetzt, wenn sich der Wert im MB 0 seit dem letzen Zyklus geändert hat (Achtung nur für ein Zyklus!)
    T MB 1  // sichert den Accu (Wert von MB 0) im MB 1 (für Vergleich im nächsten Zyklus)
    Wichtig ist, das in dem Beispiel die Speichervarible (MB1) keine temporäre Variable sein darf (was ja beim MB 1 nicht der Fall ist), sie darf natürlich auch nur 1x je Zyklus beschrieben werden- damit Alles richtig funktioniert!
    Geändert von HeizDuese (18.04.2006 um 12:31 Uhr)

  3. #3
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Sollen steigende und fallende Flanken oder nur steigende Flanken erkannt werden?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  4. #4
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Bei Bytes kann man wohl nicht von steigender oder fallender Flanke reden, es gibt ja in dem Beispiel oben eine Auswertung bei jeder Änderung (es muss ja nicht 0 zuvor im MB 0 gestanden haben).

    Von fallender oder steigender Flanke kann man da wohl nur reden, wenn man einen Wert 0 im Merkerbyte als Grundzustand nimmt und den Wechsel von 0 auf einen anderen Zustand (steigende Flanke), bzw. von einem beliebigen Wert nach 0 (fallende Flanke) dedektieren möchte.

  5. #5
    jupp ist offline Benutzer
    Themenstarter
    Registriert seit
    30.03.2006
    Beiträge
    38
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke erstmal, ging aber fix !!

    ...die Auswertung sollte für steigende und fallende Flanken funktionieren.
    Als "Ausgang" soll ein MB für die steigenden und ein MB für die fallenden Flanken zur Verfügung stehen.

    @HeizDuese, die Information soll für jedes Bit im MB zur Verfügung stehen!!

    Gruß,
    Jupp

  6. #6
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Eine Möglichkeit für steigende Flanken (in Anlehnung an das Beispiel von HeizDuese) ist wie folgt:
    Code:
    L MB 1  // hier steht der Wert, vom letzten Zyklus (siehe unten)
    L MB 0  // hier steht der Wert drin, der die Flanke erzeugen soll
    XOW     // Nur die Unterschiede stehen lassen
    L MB 0  // Aktuelle Werte holen
    UW      // Jetzt sind nur die Bits gesetzt, die neu dazu gekommen sind
    // Hier erfolgt die Ausertung / Bearbeitung
    L MB 0  // Aktuellen Zustand laden 
    T MB 1  // sichert den Accu (Wert von MB 0) im MB 1 (für Vergleich im nächsten Z
    Für fallende Flanken:
    Code:
    L MB 1  // hier steht der Wert, vom letzten Zyklus (siehe unten)
    L MB 0  // hier steht der Wert drin, der die Flanke erzeugen soll
    XOW     // Nur die Unterschiede stehen lassen
    L MB 1  // Alte Werte holen
    UW      // Jetzt sind nur die Bits gesetzt, die im vorigen Zyklus gesetzt waren
    // Hier erfolgt die Ausertung / Bearbeitung
    L MB 0  // Aktuellen Zustand laden 
    T MB 1  // sichert den Accu (Wert von MB 0) im MB 1 (für Vergleich im nächsten Z
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  7. #7
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Zitat Zitat von jupp
    Danke erstmal, ging aber fix !!

    @HeizDuese, die Information soll für jedes Bit im MB zur Verfügung stehen!!
    ok, jetzt habe ich's verstanden, es soll jedes Bit einzeln betrachtet werden (8x Flankenauswertung).

    Dann passt das Beispiel, oberhalb, von Rainer schon.

  8. #8
    jupp ist offline Benutzer
    Themenstarter
    Registriert seit
    30.03.2006
    Beiträge
    38
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Daumen hoch

    Hallo,

    Danke erstmal!!!

    PS:
    Müste auch so Funktionieren (Bsp. für Pos Flanke)....

    Code:
    L MB 0 // hier steht der Wert, der die Flanke erzeugen soll L MB 1 // hier steht der Wert drin, vom letzten Zyklus (siehe unten) INVI // 1er Komplement bilden UW // Hier erfolgt die Ausertung / Bearbeitung L MB 0 // Aktuellen Zustand laden T MB 1 // sichert den Accu (Wert von MB 0) im MB 1 (für Vergleich im nächsten Z
    Gruß,
    Jupp

  9. #9
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Prima Vorschlag. Und wenn das INVI nach L MB 0 steht, werden die fallenden Flanken erkannt. Man lernt nie aus
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  10. #10
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    www.sps-concept.de -> download -> FLANKE_D Das liegt seit über 4 Jahren dort und ist schon im dreistelligen Bereich gesaugt worden.

    MfG
    André Räppel
    Zitieren Zitieren Flanken  

Ähnliche Themen

  1. TCP-Verbindung Byteweise parsen
    Von CDeml im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 09.10.2011, 17:06
  2. Byteweise auslesen von DINT-Werten
    Von schneijo im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 20.01.2011, 11:13
  3. SCL byteweise XOR
    Von Gerri im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 15.09.2009, 16:27
  4. Byteweise Einlesen von Ditigtale Signale
    Von hobel im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 26.09.2006, 17:30
  5. Flanken
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.11.2004, 19:53

Lesezeichen

Berechtigungen

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