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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: S5 OP17: Zählersetzen geht nicht immer

  1. #1
    Registriert seit
    12.08.2008
    Beiträge
    33
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,
    ich schreibe eine Kleine Steuerung welche die Werte von einen OP17 auf eine S5- Steuerung überträgt und dann soll der Zähler auf diesen wert gesetzt werden.
    Der Zahlenwert wird in DB14 DW3 abgelegt über FB241 in BCD umgewandelt und in Merker MW80 gesichert. Ich habe ein Zeiger auf die Systemtastatur gelegt und dort Frage ich die Entertaste ab. M 39.6

    ...
    SPA FB241
    ...
    U M39.6
    L MW80
    S Z3
    ...
    Soweit so gut. Nun das Problem:

    Ich habe gemerkt das nicht immer der Zähler auf den neuen Wert gesetzt wird. Bei einen Kurzen Enter Tastendruck wird dieser Nicht gesetzt. Manchmal erst beim 2ten Drücken. Ich weis jetzt ob das etwas mit der 1s abtast Zeit zur tun hat. Oder der Zähler keine positive Flanke bekommt.
    ich habe es dann so erweitert. Hilft bissl. aber Problem ist immer noch da.

    U M39.6
    U M50.1
    L MW80
    S Z3

    UN M50.1
    = M50.1

    Wie kann ich mein Problem lösen. Kann ich auch die Eingabebestätigung anders abfragen?

    Ich bin für eure Hilfe sehr dankbar.
    mfg Leszek77
    Zitieren Zitieren S5 OP17: Zählersetzen geht nicht immer  

  2. #2
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    hallo,

    ist der merker nur solange gesetzt wie die Taste gedrückt ist?

    Wenn ja, dann setze das Bit vom OP aus dauerhaft, und mach es in der SPS platt, nachdem der Zähler bearbeitet wurde.

    Damit stellst du sicher, das die Übertragung erfolgt ist.

    Gruß Micha
    "arbeite klug, nicht hart" - deutsches Sprichwort

  3. Folgender Benutzer sagt Danke zu SPSKILLER für den nützlichen Beitrag:

    leszek77 (25.10.2008)

  4. #3
    Registriert seit
    12.08.2008
    Beiträge
    33
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    also du meinst einen 2ten DW mit OP setzen und dann kann ich ja mit SPS zurücksetzen. Aber wie kann ich das mit den op machen? müsste man doch eine art "event" auslösen? Sowas änliches habe ich auch probiert mit Hilfe von Sammelbit aber hat auch nicht hingehauen.
    gruss leszek

  5. #4
    Registriert seit
    11.12.2007
    Beiträge
    189
    Danke
    54
    Erhielt 33 Danke für 32 Beiträge

    Standard

    Moin,

    sieh mal nach wie der Basistakt der Steuerung eingestellt ist.
    Sollte dieser > 1 X 200ms verlängert sich auch der Erfassungszyklus.
    Bei 3 X 200ms hast du 3 sec. Erfassungszyklus.
    Wenn ich mich nicht irre kann man der Erfassungszyklus für die Funktios- und Systemtastertur beim OP 17 nur über diesen Wert beeinflussen.

    Ich würde mir eine Rückmeldung ans OP geben lassen z.B. "Gespeichert" um sicher zu gehen das der Wert angekommen ist.

    gruß
    Sven_HH
    Zitieren Zitieren Basistakt  

  6. Folgender Benutzer sagt Danke zu Sven_HH für den nützlichen Beitrag:

    leszek77 (25.10.2008)

  7. #5
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    kannst du deiner ENTER-Taste keine Aktion zuweisen?
    So was in der Art "Setze Bit".

    Dort würde ich das Bit bei Tastendruck setzen, und in der SPS nach Bearbeitung rücksetzen.

    Ich denke nicht, dass du noch mehr Variablen anlegen musst.
    "arbeite klug, nicht hart" - deutsches Sprichwort

  8. #6
    Registriert seit
    11.12.2007
    Beiträge
    189
    Danke
    54
    Erhielt 33 Danke für 32 Beiträge

    Standard

    Zitat Zitat von SPSKILLER Beitrag anzeigen
    kannst du deiner ENTER-Taste keine Aktion zuweisen?
    So was in der Art "Setze Bit".
    Das geht für die ENTER- Taste nicht, die Systemtastertur wird bit weise in 2 Datenworte abgelegt.

    Gruß
    Sven_HH

  9. Folgender Benutzer sagt Danke zu Sven_HH für den nützlichen Beitrag:

    SPSKILLER (24.10.2008)

  10. #7
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    Das ist ein altes Problem bei den Dingern. Die Übertragung zu SPS dauert etwas. Wenn Du vorher den Finger vom Knopf nimmst dann kommt nix an.
    Geht eigentlich nur über Bit setzen

    Im OP

    U Enter
    S Bit

    In SPS

    U Bit
    L DW
    S Z

    L DW
    L Z
    =!
    R Bit



    peter(R)

  11. Folgender Benutzer sagt Danke zu peter(R) für den nützlichen Beitrag:

    leszek77 (25.10.2008)

  12. #8
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    @ Sven HH

    Hatte ich völlig vergessen.

    Könntest Du nicht eine F Taste statt Enter nehmen ???

    peter(R)

  13. #9
    Registriert seit
    12.08.2008
    Beiträge
    33
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,danke für die Antworten ich habe das jetzt so ähnlich wie vorgeschlagen programmiert.

    Ich habe mit ProTool die Variabel welche auf den Zähler zu übertragen ist löst eine Funktion aus. Diese Funktion Reagiert bei Den Ereignis Variabel geändert
    und Setzt mir ein DW23 auf 1.

    Code:
    DW 3  = Zahl über FB241 auf MW42
    DW 23 = Zahl über OP geändert 
    
    L dw 23
    L KF +0
    ><F
    = M3.1
    
    UNM3.1
    SPB=M01
    
    L KF+0
    T DW23
    
    M01:
    
    U M3.1
    L MW 42 (
    S Z3
    jetzt habe ich das Problem das der zähler immer eine Eingabe später ist als er sollte.

    Eingabe 1 = Zähler unverändert
    Eingabe 2 = Zähler 1
    Eingabe 5 = Zähler 2
    Eingabe 9 = Zähler 5
    usw...

    Habe auch so versucht:
    Code:
    DW 3  = Zahl über FB241 auf MW42
    DW 23 = Zahl über OP geändert 
    
    L dw 23
    L KF +0
    ><F
    = M3.1
    
    UNM3.1
    SPB=M01
    
    U M3.1
    L MW 42 (
    S Z3
    
    L KF+0
     T DW23
     
     M01:
    ... so wäre es IMHO "richtiger" aber so ändert sich der Zähler gar nicht mehr. Hier denke ich das die pos Flanke fehlt? Oder Kann es sein das immer der DW23 eher ankommt als der DW3 ?

    Wie muss es ändern?

  14. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Du darfst den Zähle nicht umspringen, sonst bekommt er die Flanke an seinem Setzeingang ja tatsächlich nicht mit.

    Warum DW3 und DW23?

    Der erste Code war ja nicht schlecht, aber wo ist die Wandlung?

    Code:
    L DW 23
    L KF +0
    ><F
    = M3.1
    
    UNM3.1
    SPB=M01
    
    Hier die Wandlung machen!
    in MW42 schreiben
    
    L KF+0
    T DW23
    
    M01:
    
    U M3.1
    L MW 42 (
    S Z3
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. Timer (SE) starten nicht immer
    Von Hello_SPS im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.11.2009, 10:09
  2. Antworten: 7
    Letzter Beitrag: 19.02.2008, 20:04
  3. Pc geht immer aus!!
    Von Anonymous im Forum PC- und Netzwerktechnik
    Antworten: 17
    Letzter Beitrag: 14.10.2005, 21:54
  4. FB alleine geht, FB 2x geht nicht?
    Von MSP im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.08.2005, 15:00
  5. CPU 314 geht immer wieder auf Stop
    Von hubert im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 18.04.2005, 12:31

Lesezeichen

Berechtigungen

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