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

Ergebnis 1 bis 9 von 9

Thema: Toggle Schalter in AWL

  1. #1
    Registriert seit
    11.08.2014
    Beiträge
    44
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen zusammen,

    ich möchte einen remanenten Umschalter mit lediglich einem Taster in AWL realisieren.

    Folgende Grundfunktionalität soll erreicht werden.

    Eingang E0.0 muss zwei Sekunden anliegen, dann wird der Ausgang gesetzt.
    Sobald E0.0 erneut betätigt wird, ist der Ausgang sofort zurück zu setzen.

    Mein bisheriger Code schaut folgendermaßen aus:

    Code:
    // Taster zwei Sekunden betätigen -> Setzt Ausgang zu Eins
    // Taster anschließend wieder betätigen -> Setzt Ausgang zu Null
    
    // Taster aktiviert Timer
    A Valve1Button
    = T 1.20
    
    // Taster und Timer müssen true sein -> Ausgang wird gesetzt
    A Valve1Button
    A T1
    S Valve1Status
    
    // Ausgang für die ersten 1,5 Sekunden sperren
    // Notbehelf für gegenseitiges Blockieren des Tasters
    A Valve1Status
    = T 2.15
    
    // Ausgang wird zurückgesetzt wenn Taster betätigt ist
    A Valve1Button
    A T2
    R Valve1Status
    Das Problem ist, dass ich beim Rücksetzen des Ausgangs 1,5 Sekunden warten muss.
    Weiterhin problematisch ist, wenn der Taster zu Anfang 3,5 Sekunden dauerhaft aktiv ist, wird nach zwei Sekunden der Ausgang aktiv und danach wieder inaktiv.

    Gibt es eine "schönere" bzw effizientere Möglichkeit dies zu realisieren, anstatt mit dem zweiten Timer-Baustein?

    Danke und gruß

    //Edit:
    Ich habe es über Flankenauswertung (FP) probiert. Leider unterstüzt Movicon diesen Befehl nicht.
    Daher muss die Lösung anders lauten.
    Geändert von julianpe (17.04.2015 um 08:32 Uhr)
    Zitieren Zitieren Toggle Schalter in AWL  

  2. #2
    Registriert seit
    08.01.2015
    Beiträge
    21
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Julianpe,

    kannst Du Dir eine Flankenauswertung selber programmieren? Mit
    Code:
    A Valve1Button
    AN M0.1
    = M0.2
    
    A Valve1Button
    = M0.1
    könnte es klappen.
    M0.2 entspricht dabei dem "Ausgang" der Flankenauswertung und wird in Deinem Programm weiter verarbeitet. M0.1 muss mit FALSE initialisiert werden.

    Das fällt mir jetzt zumindest als erstes ein...

    MfG
    Exing

  3. #3
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    [EDIT]
    Sorry, ist ja Movicon. (Lösung war leider für Siemens.)


    PS: Movicon beruht aber nicht auf CoDeSys, oder?
    Geändert von hucki (19.04.2015 um 08:37 Uhr) Grund: Der TE verwendet nicht CoDeSys, sondern Movicon

  4. #4
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Mein Problem bei Movicon gegenüber Siemens ist, dass ich nicht weiß, wie man dort die Einschaltverzögerung mit einem Impuls zurücksetzt, obwohl der IN noch auf 1 ist.

    Da ich aber auch dort eh' lieber mit den IEC- als mit den S5-Timern arbeite, hab' ich mal noch nach einer Lösung gesucht, die auch damit und somit wohl auch unter Movicon (bzw. anderen SPS-Umgebungen) funktioniert. Ich nehme mal Deinen Timeraufruf von oben, denn der scheint auch kein echter IEC-Timer zu sein. Außerdem hab' ich das Ganze noch um die manuelle Flankenerkennung erweitert.

    Somit steht dieser Lösungsvorschlag zu Buche:
    Code:
    // Taster zwei Sekunden betätigen -> Setzt Ausgang zu Eins
    // Taster anschließend wieder betätigen -> Setzt Ausgang zu Null (ohne Zeitverzögerung)
    
    
    // Positive Flankenerkennung Taster
    A  #Valve1Button
    AN #FMButton
    =  #EdgeButton
    
    // Flankenmerker Taster
    A  #Valve1Button
    =  #FMButton
    
    // Negative Flankenerkennung Ausgang
    AN #Valve1Status
    A  #FMValve
    =  #EdgeValve
    
    // Flankenmerker Ausgang
    A  #Valve1Status
    =  #FMValve
    
    // Timer
    A  #Valve1Button
    =  T 1.20
    
    // Speicher Einschalten
    A  #EdgeButton
    S  #FlagOn
    A  #EdgeValve
    R  #FlagOn
    
    // Ausgang
    A  #FlagOn
    A  T1
    S  #Valve1Status
    A  #EdgeButton
    R  #Valve1Status
    FMButton, FMValve und FlagOn müssen statisch/global sein. EdgeButton und EdgeValve können temporär sein.


    Zitat Zitat von julianpe Beitrag anzeigen
    Das Problem ist, dass ich beim Rücksetzen des Ausgangs 1,5 Sekunden warten muss.
    Weiterhin problematisch ist, wenn der Taster zu Anfang 3,5 Sekunden dauerhaft aktiv ist, wird nach zwei Sekunden der Ausgang aktiv und danach wieder inaktiv.
    Weder das erste noch das zweite Problem treten damit bei mir auf. Allerdings kann ich das nur mit Siemens PLCSim und nicht mit Movicon testen.
    Geändert von hucki (19.04.2015 um 08:35 Uhr) Grund: Der TE verwendet nicht CoDeSys, sondern Movicon

  5. #5
    Registriert seit
    13.10.2013
    Ort
    shertogenbosch niederlande
    Beiträge
    120
    Danke
    0
    Erhielt 8 Danke für 6 Beiträge

    Standard

    flankenerkennung geht gut aber ist auch in util.lib zu finden.
    und a Timer muss declariert sein in VARlist.
    die kann nie 1,20 heissen.
    paul deelen
    shooter@home.nl
    +31736139136

  6. #6
    Registriert seit
    13.10.2013
    Ort
    shertogenbosch niederlande
    Beiträge
    120
    Danke
    0
    Erhielt 8 Danke für 6 Beiträge

    Standard

    mach doch bitte ein diagram, was gebraucht wird.
    paul deelen
    shooter@home.nl
    +31736139136

  7. #7
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von computershooter Beitrag anzeigen
    und a Timer muss declariert sein in VARlist.
    die kann nie 1,20 heissen.
    Bei Movicon (welches der TE verwendet) anscheinend schon:


  8. #8
    Registriert seit
    13.10.2013
    Ort
    shertogenbosch niederlande
    Beiträge
    120
    Danke
    0
    Erhielt 8 Danke für 6 Beiträge

    Standard

    entschuldigung dann, die AWL ist sehr machinespecific. und nicht 61131 anscheinend.
    er ist neu also falsche forum ?
    ich sammle PDF manuals von PLC, also wenn es die frei gibt dann hatte ich die gerne.
    paul deelen
    shooter@home.nl
    +31736139136

  9. #9
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hab's schon zum Verschieben gemeldet. Hatte mich auch über den Timeraufruf gewundert.

    Wegen des Guides: https://www.google.de/?gws_rd=ssl#q=movicon timer
    Der Screenshot ist aus dem ersten Treffer. Der Timer-Aufruf war auf Seite 734 (wenn ich mich recht erinnere).

Ähnliche Themen

  1. C Toggle in WINCC7
    Von sailor im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 06.08.2012, 14:56
  2. Antworten: 3
    Letzter Beitrag: 26.01.2012, 10:00
  3. Schalter A durch Schalter B schließen und umgekerhrt?
    Von TechnikFreak10 im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 11.03.2010, 23:23
  4. Bit/Byte toggle
    Von Farinin im Forum HMI
    Antworten: 13
    Letzter Beitrag: 19.09.2008, 08:55
  5. Toggle funktion ??
    Von hank12 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.05.2008, 13:30

Lesezeichen

Berechtigungen

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