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

Ergebnis 1 bis 7 von 7

Thema: Flankenerkennung ohne Eingangsabfrage

  1. #1
    Registriert seit
    20.03.2012
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo an alle!

    Ich bin neu hier und auch in der Welt der Simatic-SPS-Programmierung und stehe vor einem Problem...

    Ich will eine Wegstrecke messen mittels Drehencoder. Ich habe hierfür einen schnellen Zähler genommen (HC0, zählt A/B-Impulse und wird nach einer gewissen Wegstrecke (Lochscheibe und Näherungssensor) zurückgesetzt).

    Das ganze klappt soweit hervorragend.

    Nun war meine Idee die folgende: Ich nehme einen internen Taktgeber, hier sm0.5 und werte die steigende bzw. fallende Flanke aus zum generieren einer Zykluszeit. Bei jeder Flanke nehme ich den aktuellen Zählwert und berechne hier meine Strecke. Ich scheitere nun daaran, daß weder die steigende, noch die fallende Flanke erkannt oder ausgewertet wird. Wenn ich den Motor laufen lasse und mit der Microwin drauf schaue, dann sehe ich, daß gefühlt alle Schaltjahre mal ein Zählwert gelesen wird.
    Ich habe nun versucht, mittels Merkern (z.B. = v100.x, S v100.x, 1) oder mittels Oder-Verknüpfung eines unbenutzten Eingangs eine Flanke auszuwerten, aber nein, nichts klappt. Ich bin nun etwas ratlos.
    Das hier ist der bisher "letzte" Versuch mittels Merkern und eines unbenutzten Eingangs. Sehr unelegant, aber war meine letzte Hoffnung.

    Code:
    S      V0.1, 1
    LD     E1.2
    O      SM0.5
    //=      V202.1
    //LD     V202.1
    EU
    MOVD   HC0, VD100
    
    Network 2 
    // Reset des Zählers erkennen
    LDN    E0.2
    R      V0.1, 1
    
    Network 3 
    // Zähler auswerten
    LDN    SM0.5                        // Zeitintervall von 0,5sec
    O      E1.2
    =      V202.0
    LD     V202.0
    ED
    MOVD   HC0, VD104
    LD     V0.1                        // nur ausführen, wenn kein Reset aktiv war!
    ...
    Was mache ich hier so grundlegend falsch??? Funktioniert die Erkennung der Flanken ausschließlich mit Eingängen?

    Ich würde mich über jede Hilfe freuen!

    Oh, PS: Ich benutze eine CPU 224 und Microwin 4 SP8.
    Zitieren Zitieren Flankenerkennung ohne Eingangsabfrage  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.316
    Danke
    932
    Erhielt 3.330 Danke für 2.689 Beiträge

    Standard

    Hallo,

    die Flankenerkennung muß auch ganz einfach direkt mit SM0.5 gehen:
    Code:
    Network 1
    LD     SM0.5
    EU
    MOVD   HC0, VD100
    
    Network 3
    LD     SM0.5
    ED
    MOVD   HC0, VD104
    Ich schätze, Du hast da nur einen logischen Fehler drin, da Du beide Male die steigende Flanke von SM0.5 auswertest. Deshalb steht dann in VD100 und VD104 immer das gleiche drin.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Schnipsel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.03.2012
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Nein, ich frage einmal mit ld sm0.5 und das 2. Mal ldn sm0.5. Ist im code auch so drin, nicht nur hier (ist ne 1:1-Kopie aus dem editor).

    Das eine oder andere Mal wird ja tatsächlich ein Wert genommen, nur eben gefühlt alle Schaltjahre mal und nicht alle Sekunde (jede halbe sekunde ein Wert).
    Ich habe zwischen der ersten und 2. Abfrage nur den Eingang der Oder-Verknüpfung vertauscht.

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.316
    Danke
    932
    Erhielt 3.330 Danke für 2.689 Beiträge

    Standard

    1) LD SM0.5 + EU
    2) LDN SM0.5 + ED
    werten beide die steigende Flanke von SM0.5 aus ...

    Tip: Wenn Du S7-200-AWL nicht 100% beherrschst, dann schreibe mal nicht so viel AWL-Code in ein Netzwerk, sondern programmiere besser in der FUP- oder KOP-Ansicht. Das erzeugt dann 100% korrekte VKE-Verknüpfungen.

    Zum Beobachten der generellen Funktion der Flankenerkennung jede Sekunde probiere mal dies:
    Code:
    Network 1
    //endlos-Sekundenzähler 0...9999
    LD     SM0.5
    LDW>=  Z1, 10000
    ZV     Z1, 0
    
    Network 2
    LD     SM0.5
    EU
    MOVW   Z1, AC0
    MOVD   AC0, VD100
    
    Network 3
    LD     SM0.5
    ED
    MOVW   Z1, AC0
    MOVD   AC0, VD104
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Schnipsel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.03.2012
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Harald, das war erhellend!

    Ich sehe, daß ich da die Hilfe komplett falsch verstanden habe. Ich werde das Anfang der Woche testen, wenn ich wieder in der Firma bin.
    Interessant ist für mich, daß trotz falscher Flankenerkennung (fallende Flanke) beim Nachschauen der Live-Beobachtung zumindest bei der steigenden Flanke nur sehr sporadisch ein Zählerwert übertragen wurde. Bei sekündlicher Flanke sollte da regelmäßig ein Wert auftauchen in VD100. Leider kam dort zu selten ein Wert an, was mich am meisten verwunderte/verwundert.

    Egal. Ich bin hierin völliger Neuling und freue mich über jegliche Hilfe!!!

    Als "alter" Assembler-Koder verstehe ich die AWL-Programmierung "besser", die FUP- und KOP-Programmierung erschließen sich mir momentan noch nicht so ganz, ich werde allerdings deinen Rat gerne annehmen und öfter die Ansicht umstellen zur Kontrolle.

    Jetzt bleibt mir vorerst nur eine Frage: Warum sollte ich wie in deinem Beispiel mehr Netzwerke nehmen? Funktioniert sonst die Fup- oder Kop- Darstellung nicht richtig? Ich habe festgestellt, daß beim Umschalten des Öfteren nur ein "Unzulässig" in Rot erscheint, obwohl die Programme sonst einwandfrei funktionieren. Versteht die CPU hier die Programmteile nicht? In der AWL-Ansicht ist alles in Ordnung. Oh, das waren nun 3 Fragen...

    Nochmal vielen Dank für deine Mühe und Geduld mit mir und ein angenehmes WE für dich!!!

  6. #6
    Schnipsel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.03.2012
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Leider funktioniert das ganze gar nicht: Ich habe dein Programm genauso wie hier beschrieben eingesetzt und erhalte in der Programmstatus-Ansicht: Nichts. Das heißt im einzelnen, daß ich den sm0.5 schön sehe, wie er blau wird, allerdings ändert sich im Teil dahinter rein gar nichts, ich erhalte auch keine Werte in vd100 und vd104.

    Ich habe dein Programm auch als komplett eigenständiges Programm in die CPU 224 geladen mit demselben Ergebnis.

    Was kann ich jetzt tun, um weiterzukommen? Ich bin echt völlig ratlos.

  7. #7
    Schnipsel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.03.2012
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Eine Aktualisierung in der Sache: Aus irgendeinem Grund wird in der Prozessabbildung nichts dargestellt, obwohl das Programm funktioniert. Ich habe einfach an anderer Stelle die entsprechenden Merker weiterverwendet und habe hier auch die "richtigen" Werte erhalten.
    Insgesamt seltsam, aber ist halt so.

    Vielleicht ist der verwendete Laptop zu langsam, damit das Microwin alles darzustellen vermag.

    Nochmal vielen Dank für die Hilfe! Das Projekt funktioniert nun einwandfrei!!!!

Ähnliche Themen

  1. Flankenerkennung
    Von knubbl im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 04.04.2011, 21:43
  2. Flankenerkennung
    Von Airen im Forum Simatic
    Antworten: 54
    Letzter Beitrag: 05.04.2010, 20:53
  3. CX1000-Zugriff mit Delphi ohne TwinCat und ohne Modbus
    Von jank-automation im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 09.06.2008, 09:50
  4. Problem mit Flankenerkennung
    Von frickel im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 30.04.2008, 12:14
  5. Problem bei Flankenerkennung
    Von Klerijan im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.04.2007, 12:10

Lesezeichen

Berechtigungen

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