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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Zähler > 50000

  1. #1
    Registriert seit
    03.01.2005
    Beiträge
    160
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo, wie kann ich einen stückzähler realisieren, der bis mindestens 50000 zählt und bei schichtwechsel auf Null gesetzt werden kann?

    danke
    Zitieren Zitieren Zähler > 50000  

  2. #2
    Registriert seit
    12.04.2007
    Beiträge
    140
    Danke
    5
    Erhielt 24 Danke für 22 Beiträge

    Standard

    hi,
    wie wäre es denn damit :

    u #signal
    fp #flanke
    = #ergebnis

    L 1
    L #wert
    +D
    t #wert

    u #ruecksetzen

    spbn rs

    L 0
    t #wert

    rs:nop 0



    hab aber nicht so riesige ahnung vom step7 programmieren...



    ach ja, #signal; #flanke, #ergebnis also bool deklarieren und #wert als DINT

  3. #3
    Registriert seit
    12.12.2006
    Ort
    Wehringen
    Beiträge
    1.471
    Danke
    248
    Erhielt 190 Danke für 155 Beiträge

    Standard

    Hallo,

    aber aufpassen, daß Flanke, Ergebniss und Wert nicht als temp.-Variable deklariert werden



    MfG

  4. #4
    Registriert seit
    12.04.2007
    Beiträge
    140
    Danke
    5
    Erhielt 24 Danke für 22 Beiträge

    Standard

    ...oh, sorry, hatt ich vergessen zu erwähnen ...

  5. #5
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.812
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    Zitat Zitat von misconduct Beitrag anzeigen
    hi,
    wie wäre es denn damit :

    u #signal
    fp #flanke
    = #ergebnis

    L 1
    L #wert
    +D
    t #wert

    u #ruecksetzen

    spbn rs

    L 0
    t #wert

    rs:nop 0



    hab aber nicht so riesige ahnung vom step7 programmieren...



    ach ja, #signal; #flanke, #ergebnis also bool deklarieren und #wert als DINT

    fast...

    um den "zähler" muss noch ein sprung, sonst wird in jedem zyklus erhöht.
    lade und transfer aktionen inetessieren sich nicht für das VKE...


    u #signal
    fp #flanke
    spbn CNT1

    L 1
    L #wert
    +D
    t #wert
    CNT1: nop 0


    u #ruecksetzen
    spbn rs
    L 0
    t #wert
    rs:nop 0
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  6. #6
    Registriert seit
    17.09.2003
    Ort
    Zell bei Dietfurt a.d. Altmühl
    Beiträge
    357
    Danke
    8
    Erhielt 27 Danke für 25 Beiträge

    Standard

    Hallo ottopaul.

    Hier mal ein Beispiel.

    Code:
          U     E    126.0 // Das zu zählende Signal
          FP    M    200.0
          U(    
          L     MD   210
          L     L#5000 // Begrenzung auf 5000 Stück
          <D  
          )     
          SPBN  Ncou
          L     MD   210
          +     L#1
          T     MD   210
    Ncou: NOP   0
          U     E    126.1 // Siganl zum rücksetzen
          SPBN  Nres
          L     0
          T     MD   210
    Nres: NOP   0
    Ich hofe es ist verständlich. Bei fragen einfach melden.
    MfG

    Hubert

    \"Never change a running system. \"

  7. #7
    Registriert seit
    12.04.2007
    Beiträge
    140
    Danke
    5
    Erhielt 24 Danke für 22 Beiträge

    Standard

    Zitat Zitat von Markus Beitrag anzeigen
    fast...

    um den "zähler" muss noch ein sprung, sonst wird in jedem zyklus erhöht.
    lade und transfer aktionen inetessieren sich nicht für das VKE...


    u #signal
    fp #flanke
    spbn CNT1

    L 1
    L #wert
    +D
    t #wert
    CNT1: nop 0


    u #ruecksetzen
    spbn rs
    L 0
    t #wert
    rs:nop 0

    stimmt, hatt ich glatt vergessen das mit dem vke

    aber man kann es auch mit einer variablen weniger lösen ( die flane fällt weg ) :


    u #signal
    spbn CNT1

    L 1
    L #wert
    +D
    t #wert
    CNT1: nop 0


    u #ruecksetzen
    spbn rs
    L 0
    t #wert

    r#signal

    oder hat einer der erfahrenen user was gegen die methode des rücksetzten auszusetzen?

    bin selber noch am "lernen" des programmierens, deswegen auch der ein oder andere fehler...

  8. #8
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard

    Du brauchst die Flanke sonst wird solange jeden Zyklus hochgezählt solange das #Signal true ist.

    godi

  9. #9
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.812
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    das hängt davon ab wie und wo "#signal" gemacht wird.

    Wenn signal mit einer = Zuweisung irgendwo über mehrer Zyklen auf TRUE geschrieben wird, zb eine Taste oder eine Lichtschranke, dann nützt dir das "R #Signal" herzlich wenig weil es im nächsten Zyklus wieder "TRUE" sein wird...

    abgesehen davon muss auch vor deine R Anweisung noch eine VKE=1. alos zb:

    SET
    R #Signal


    Die Flanke kannst du dir nur sparen wenn du sicherstellen kannst das "#signal" bereits eine "flanke" ist bzw. nur einen Zyklus lange da ist.

    ich würde die flankenbildung in beiden fällen drin lassen, wenn irgendso ein held später meint er muss im programm rumpfuschen, und "#signal" dann plötzlich keine flank mehr ist...

    Wenn du zeilen sparen willst, dann kannst du auf die "nop 0" verzichten, anstatt von denen kann da auch eine anweisung stehen.

    oder du packst das reseten auch noch mit ein den zähler rein damit du nur noch einmla "T zähler" da stehen hast.

    solche sachen mache ich in standartbausteinen die zukünftig eine blackbox darstellen sollen, aber in normalem code würde ich aufgrund der lesbarkeit lieber ein paar zeilen mehr stehen lassen...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  10. #10
    Registriert seit
    12.04.2007
    Beiträge
    140
    Danke
    5
    Erhielt 24 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Markus Beitrag anzeigen

    Die Flanke kannst du dir nur sparen wenn du sicherstellen kannst das "#signal" bereits eine "flanke" ist bzw. nur einen Zyklus lange da ist.
    hi markus,

    aber durch das rücksetzten am ende des codes von "#signal" ist doch automatisch gewehrleistet das das signal nur einen zylus lang ansteht oder?
    und somit würde auch bei dauer "true" nur einmal gezählt...

Ähnliche Themen

  1. Betriebsstunden Zähler / max. Zähler Anzahl.
    Von superkato im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 03.12.2010, 16:38
  2. Zähler in SCL
    Von Felse im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 09.03.2009, 16:49
  3. Zähler
    Von Mallako im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 09.02.2009, 18:03
  4. Maximalzählwert Zähler S7-300 + maximale Zähler CPU
    Von DennisBerger im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 02.07.2007, 10:54
  5. Zähler
    Von Felix Jongleur im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.03.2006, 21:34

Lesezeichen

Berechtigungen

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