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

Seite 5 von 5 ErsteErste ... 345
Ergebnis 41 bis 48 von 48

Thema: Timer per Taster erhöhen oder veringern

  1. #41
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Drei Hinweise:
    - L und T sind nicht VKE-abhängig und werden immer ausgeführt
    - die Adressen MW20, MW21, MW22 überlappen sich
    - man nimmt üblicherweise keinen Ausgang Ax.y als "VKE"-Merker sondern Merker. Bevorzugt M0.0 "Immer0" und M0.1 "Immer1"

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #42
    Registriert seit
    12.06.2015
    Beiträge
    51
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also müsste ich ob21 so schreiben.
    Code:
        U    M 0.0
        R    M 0.0    ;Lampe Starttaster
            
        U    M 0.0
        L    KZ 001
        S    Z 1
        UN   M 0.0
        S    Z 1
            
        U    M 0.0
        R    M 0.0    ;Lampe Starttaster
        
        U    M 0.0
        L    KH 0001    ;Lade min-wert fur Z1 1
        T    MW 20      ;min-Wert in MW20 speichern
        UN   M0.0
        T    MW 20
    
        U    M 0.0
        R    M 0.0    ;Lampe Starttaster
        
        U    M 0.0
        L    KH 0010    ;Lade max-wert fur Z1 10
        T    MW 30    ;Max-Wert in MW21 speichern
        UN   M0.0
        T    MW 30
    Hab ich das jetzt halbwegs richtig?
    Kann es leider erst morgen abend testen.
    Wenn was falsch ist, bitte sagt es.

  3. #43
    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 FranktheTank1978 Beitrag anzeigen
    Hab ich das jetzt halbwegs richtig?
    Auch ohne den ganzen Thread gelesen zu haben, mit Sicherheit nicht!

    Harald hat doch geschrieben, das Lade- und Transferbefehle nicht VKE abhängig sind. Sie interessiert z.B. das U M0.0 davor überhaupt nicht.
    Sie müssen daher übersprungen werden, wenn sie nicht ausgeführt werden sollen.

    Außerdem wird Dein M0.0 immer nur zurück, aber nirgends gesetzt. Das kann ja auch nicht sinnvoll sein.

  4. #44
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Dein Code enthält eine Menge überflüssige Anweisungen die nur verwirren.
    Das Setzen des Zählers benötigt eine steigende VKE-Flanke, deshalb muß es zweimal aufgerufen werden. Einmal mit VKE=0 und einmal mit VKE=1.
    Die Zuweisungen an die MW werden unabhängig vom VKE immer ausgeführt, deshalb brauchen sie auch keine VKE-Verknüpfungen.
    Code:
        U    M 0.0
        R    M 0.0     ;Merker immer false
            
        U    M 0.0     ;VKE=0
        L    KZ 001
        S    Z 1
        UN   M 0.0     ;VKE=1
        S    Z 1
    
        L    KH 0001   ;Lade min-wert fur Z1 1
        T    MW 20     ;min-Wert in MW20 speichern
    
        L    KH 0010   ;Lade max-wert fur Z1 10
        T    MW 30     ;Max-Wert in MW21 speichern
    Bei dem KH 0010 bin ich grad' nicht sicher, evtl. mußt Du da KH 000A schreiben. Oder KZ 010?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #45
    Registriert seit
    16.06.2004
    Beiträge
    60
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    zur Laufzeit kann man auch mit dem 'Bearbeite-Befehl' Daten ändern.

    Code:
    L MW10
    B T0
    BR, Jonny

  6. #46
    Registriert seit
    12.06.2015
    Beiträge
    51
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo. Danke erst ein mal an alle.
    Habe das setzen der MWs und das überprüfen des Z1 geschafft.
    Code:
    Name: OB21
        L    KZ 001
        S    Z 1
            
        L    KH 0001    ;Lade min-wert fur Z1 1x0,5sek
        T    MW 20    ;min-Wert in MW20 speichern
            
        L    KH 0010    ;Lade max-wert fur Z1 10x0,5sek
        T    MW 30    ;Max-Wert in MW30 speichern
            
        LC    Z 1    ;Zaehler 0..999 im BCD Format
        L    KH 1000    ;1 steht fuer 0,1sek
        OW        ;+F geht auch
        T    MW 12    ;variabler Zeitwert
    Code:
    NAME:    FB_4
    
        LC    Z 1
        T    MW 22
            
        U    M 8.0    ;Wenn Anlauf beendet M8.0=0
        SPB    =W_2
        L    MW 20    ;min-wert fur Z1
        L    MW 22    ;aktueller wert Z1
        >F        ;MW20<MW22
        SPZ    =W_1    ;Ergniss muss 0 sein
        L    KZ 001
        S    Z 1
            
    W_1 :    L    MW 30    ;max-wert Z1
        L    MW 22    ;aktueller wert Z1
        <F        ;MW21>MW22
        SPZ    =W_2    ;Ergniss muss 0 sein
        L    KZ 010
        S    Z 1
            
    W_2 :    LC    Z 1    ;Zaehler 0..999 im BCD Format
        L    KH 1000    ;1 steht fuer 0,1sek
        OW        ;+F geht auch
        T    MW 12    ;variabler Zeitwert
        BE
    Das funktioniert alles super.
    Aber auf einmal habe ich das Problem, das mein Timer1 nicht mehr startet.
    Der Code steht im Netzwerk6 im OB1. M1.1=1, T1=0 also UN T1=1.
    Wo liegt mein fehler?
    Code:
        U    M 1.1    ;Merker Start
        UN    T 1    ;Timer Lauflicht
        L    KT 001.2    ;Lade Zeitwert 0,5sek    
        SI    T 1    ;Start Timer Lauflicht
        ***
    Geändert von FranktheTank1978 (29.02.2016 um 19:22 Uhr)

  7. #47
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von FranktheTank1978 Beitrag anzeigen
    funktioniert alles super.
    Hmm, Du solltest aufhören, Dir Dein Programm aus gefundenen Codeschnipseln zusammenzustoppeln ohne zu verstehen, was der Code tut. Bei ALLEN Dir unbekannten Anweisungen schaue in die Operationsbeschreibung und lies diese so oft, bis Du sie verstanden hast. Eine Steuerung muß kontrolliert steuern und nicht zufällig.

    Wenn Du AWL nicht richtig beherrschst dann programmiere besser in KOP oder FUP, da kann man viele Fehler gar nicht erst machen.

    Kommentare haben zwar keinen Einfluß auf das Programm, doch falsche Kommentare verwirren und erschweren das Verstehen des Programmcodes.


    OB21: Wo ist die VKE-Bildung für das "S Z1" geblieben??? Ohne kontrollierte Beeinflussung des VKE wird der Code nicht mehr zuverlässig funktionieren, sobald VKE-beeinflussender Code davor gesetzt wird.
    (Die Zuweisung an MW12 mußt Du nicht so umständlich machen, schließlich hast Du ja gerade Z1 auf 1 gesetzt. Ein "L KH 1001" (besser: "L KT 001.1") + "T MW 12" reicht - ist aber eine Geschmacksfrage.)


    FB_4: Nach den Vergleichen (>F, <F) solltest Du "SPB =" statt "SPZ =" verwenden. Die SPZ "verschleppen" das VKE, weil sie das VKE nicht begrenzen. Die nicht-Begrenzung des VKE wird zu Fehlern bei nachfolgenden Verknüpfungen führen.


    Zitat Zitat von FranktheTank1978 Beitrag anzeigen
    Aber auf einmal habe ich das Problem, das mein Timer1 nicht mehr startet.
    Der Code steht im Netzwerk6 im OB1. M1.1=1, T1=0 also UN T1=1.
    Wo liegt mein fehler?
    Code:
        U    M 1.1    ;Merker Start
        UN    T 1    ;Timer Lauflicht
        L    KT 001.2    ;Lade Zeitwert 0,5sek    
        SI    T 1    ;Start Timer Lauflicht
        ***
    Timer brauchen zum starten eine Flanke am Eingang. Ist M1.1 schon vor dem allerersten "SI T1" True? Dann erkennt "SI T1" keine Flanke und der Timer startet nicht.

    Was steht vor dem "U M1.1"? Vielleicht ist auch das VKE nicht begrenzt.

    Timer sollte man nicht mit sich selbst verriegeln. Da gehört immer ein Hilfsmerker hin. Wenn der Timer funktioniert, dann wird man ihn nach dem "SI T1" nicht abfragen können, weil er da fast immer True ist. Also schreibe besser:
    Code:
        U    M 1.1       ;Merker Start
        UN   M 0.1       ;T1 Timer Lauflicht
        L    KT 001.2    ;Lade Zeitwert 1 sek    
        SI    T 1        ;Start Timer Lauflicht
        U     T 1
        =    M 0.1
        ***
    Und im OB21 füge hinzu:
    Code:
        U    M 0.1       ;muß hier 0 sein
        L    KT 001.2    ;irgendein gültiger Zeitwert
        SI    T 1        ;Timer mit VKE=0 aufrufen
    Statt "SI" würde ich "SE" nehmen (Geschmacksfrage)

    "KT 001.2" bedeutet nicht 0,5s sondern 1,0s

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #48
    Registriert seit
    12.06.2015
    Beiträge
    51
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.
    Ich versuche gerade mein AWL Programm in FUP umzuwandeln, damit ich es besser verstehe.
    Nun bin ich auf das Problem gestoßen, das ich folgenden Code nicht in FUP programmiert bekomme.
    Code:
              U M2.2
              SPB F4
    Name:FB_4
              R M2.2
    Ich arbeite mit "S5 für Windows".
    Kann mir jemand sagen wie ich das machen kann?

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 27.05.2015, 13:02
  2. Einschalten Maschine über Hauptschalter oder Taster
    Von andreas68.ue im Forum Schaltschrankbau
    Antworten: 5
    Letzter Beitrag: 09.02.2014, 13:48
  3. Moeller Easy Taster oder Schalter trotz Zeitschaltuhr
    Von AVR-Neuling im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 15.01.2012, 12:29
  4. Not-Halt Taster oder Hauptschalter
    Von Fredo im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 24
    Letzter Beitrag: 10.01.2011, 18:44
  5. Antworten: 4
    Letzter Beitrag: 16.01.2006, 18:06

Lesezeichen

Berechtigungen

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