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

Ergebnis 1 bis 8 von 8

Thema: Flanken Programmieren

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Ich benutze TIA und verstehe nicht genau wie Flankenoperatoren verwendet werden.

    Beispielsweise soll in einer Schrittkette ein Taster immer wieder losgelassen werden, bevor der nächste Schritt startet. Also immer nur bei pos. Flanken soll weitergeschalten werden.

    Wie würde man in diesem Fall den Flankenoperator verschalten (FUP)?
    Geändert von Löwenzahn (11.09.2016 um 12:42 Uhr)
    Zitieren Zitieren Flanken Programmieren  

  2. #2
    Registriert seit
    08.03.2014
    Beiträge
    471
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Wenn du einen Taster betätigst, hast du eine positive Flanke und beim loslassen eine negatives. Nimm also drn Baustein für die negative Flanke und verschalte diesen mit dem Operand des Tasters und z.B. Einem Ausgang oder SR Glied


    Gesendet von iPhone mit Tapatalk
    Zitieren Zitieren Flanken Programmieren  

  3. #3
    Registriert seit
    01.08.2013
    Ort
    63571
    Beiträge
    300
    Danke
    18
    Erhielt 53 Danke für 51 Beiträge

    Standard

    Du musst die Flankenabfrage als einen UND verschalten.

    Ich habe gerade keinen Plan wie das in FUP geht, aber in KOP ginge das in etwa so

    ---|I0.0|-------(n)---------(M0.0)---|

    Edit: In Fup geht das genauso. Du fühst einen der Bausteine mit einem Fragezeichen innen ein und gibst N= ein. Dann ist das eine Abfrage auf negative Flanke.
    Geändert von Zombie (11.09.2016 um 13:28 Uhr)
    Nur dass man etwas schon immer so gemacht hat heißt nicht dass es richtig ist, man kann eine Sache auch ein Leben lang falsch machen.

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.761
    Danke
    884
    Erhielt 3.158 Danke für 2.559 Beiträge

    Standard

    Du mußt darüber nachdenken, ob Du die Flanke des Operanden (%Ix.y) oder die Flanke der gesamten Verknüpfungskette (VKE) bis zu der Stelle auswerten willst, dann sollte die Entscheidung einfach sein, welche Flankenoperation Du verwenden mußt.

    Mir scheint aber, daß Du die Flanke des Tasters mehrfach verwenden willst, da wäre es Verschwendung, jedesmal eine weitere Flankenmerker-Variable zu benutzen. Da solltest Du in einem extra Netzwerk nur die Flanke des Tasters ermitteln und auf eine Variable legen, welche Du dann an den Verwendungsstellen abfragst.

    @All
    Das Problem des TE ist vermutlich, daß es in dem TIA nun ...zig verschiedene Flankenoperationen (für Dummies) gibt, anstatt den 2 Grundtypen in Step7 classic. Nun weiß er nicht, was ist der Unterschied der Operationen und wann verwendet man welche.

    Harald
    Geändert von PN/DP (11.09.2016 um 16:11 Uhr) Grund: "Operand" statt "Operator" ist richtiger ;)
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    manne79 (11.09.2016)

  6. #5
    Löwenzahn ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2016
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier habe ich mal ein Beispiel. So funktioniert es zwar, aber ich habe einfach einen Merker reingeschrieben, weiß aber nicht wie man es richtig macht. Das geht so meiner Meinung nach, weil der Merker logisch "0" ist und ich ja eine positive Flanke abfrage. Es wird also der Merker mit dem Taster verglichen und bei steigendem Signal am Taster gibt der Flankenoperator ein kurzen Impuls.
    Doch wie macht man es richtig? (bestimmt nicht einfach nur einen freien Merker oder?)
    Und wie realisiert man das mit einer negativen Flanke? Da müsste mein Merker ja "1"sein? Muss ich den dann extra in einem extra Netzwerk auf logisch "1" setzen?
    Angehängte Grafiken Angehängte Grafiken

  7. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.761
    Danke
    884
    Erhielt 3.158 Danke für 2.559 Beiträge

    Standard

    Du hast es genau richtig gemacht (*)
    Vorausgesetzt, Du veränderst/beschreibst den Flankenmerker %M100.1 nicht noch woanders im Programm. Du darfst den selben Flankenmerker auch nicht nochmal für weitere P-Anweisung(en) benutzen. Jede Flankenerkennungs-Anweisung benötigt exklusiv ihren eigenen Flankenmerker.

    Falls Du noch an anderer Stelle die positive Flanke des selben Tasters %I136.1 brauchst, und da auch wieder die P-Anweisung benutzt, dann mußt Du dort (bzw. bei jeder weiteren Verwendung) auch eine weitere bisher unbenutzte Variable für den Flanenmerker verwenden. Wie ich schon in #4 schrieb, ist es in dem Fall empfehlenswert, nur einmal eine Flankenerkennung zu programmieren und das Ergebnis auf eine (globale) Variable zu legen und an den Verwendungstellen diese Variable verwenden statt erneute Flankenerkennungen.

    Für eine negative Flanke benutzt Du statt der P-Anweisung einfach die N-Anweisung.

    (*) Du hättest auch (etwas umständlicher) eine P_TRIG-Box mit %I136.1 am Eingang CLK verwenden können. Doch auch da gilt: jede x_TRIG-Anweisung benötigt exklusiv ihre eigene Flankenmerker-Variable.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Löwenzahn (11.09.2016)

  9. #7
    Löwenzahn ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2016
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok super.
    Vielen Dank, dann werde ich das so mal versuchen

  10. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.761
    Danke
    884
    Erhielt 3.158 Danke für 2.559 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Löwenzahn Beitrag anzeigen
    So funktioniert es zwar, aber ich habe einfach einen Merker reingeschrieben, weiß aber nicht wie man es richtig macht. [...]
    Doch wie macht man es richtig? (bestimmt nicht einfach nur einen freien Merker oder?)
    In die Entscheidung, wie man es "richtig" macht, spielt auch noch rein: Was soll bei einem CPU/Programm-Neustart passieren?

    Ein Merker ist in der Regel als "nicht remanent" eingestellt und er wird bei Neustart mit 0 initialisiert. Eine Flankenerkennung mit so einem Merker wird bei einem schon bei Programmstart auf 1 liegendem Signal im ersten Programmzyklus eine Flanke melden.
    Verwendet man statt dem nicht remanenten Merker eine remanente Variable (z.B. aus einem DB), dann kommt es bei Programm-Start darauf an, welchen Zustand das abzufragende Signal beim Ausschalten bzw. Programm-Stop hatte. Und ob womöglich ein Hardware/Firmware-Fehler "Remanenzverlust" aufgetreten ist.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Programmieren mit FLanken?!
    Von tuneit im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 06.09.2008, 13:28
  2. SCL - Flanken Programmieren
    Von Flo im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.07.2006, 15:04
  3. Flanken in HighGraph
    Von plc_tippser im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.01.2006, 11:30
  4. Flanken auswertung
    Von kpeter im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 30.03.2005, 11:59
  5. Flanken
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.11.2004, 19:53

Stichworte

Lesezeichen

Berechtigungen

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