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

Ergebnis 1 bis 7 von 7

Thema: Zeitmessung - Fehler in meinem Code???

  1. #1
    Registriert seit
    23.07.2013
    Beiträge
    66
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen,
    ich hätte da gerne mal ein Problem

    Ich habe zur Zeitmessung an einem Näherungssensor einen Code geschrieben der mit der negativen Flanke ein Zeitfenster öffnet, mit einem Taktmerker 100 ms hochzählt, die Daten übergibt und dann mit der positiven Flanke das Zeitfenster wieder schließt. Allerdings kann ich es anscheinend nicht richtig simulieren, oder es funktioniert nicht.

    Würdet ihr mal bitte einen Blick auf den Code werfen und gucken ob ihr einen Fehler findet ?
    Die Flanken hole ich mir am Näherungssensor "Takt": Positive Flanke ist #Takt , Negative Flanke ist #Takt_negativ. Taktmerkerflanke ist Byte 0 Bit 0 -> 100ms -> #FP_100Millisekunden

    Code:
          U     #Takt_negativ
          S     #Fenster
    
    
          U     #Fenster
          U     #FP_100Millisekunden
          SPBN  M120
          L     #Zeitpuffer_Temp
          L     1
          +I    
          T     #Zeitpuffer_Temp
    M120: NOP   0
    
    
          U     #Takt
          SPBN  M121
          L     #Zeitpuffer_Temp
          ITD   
          DTR   
          T     #Zeitpuffer
    
          L     0
          T     #Zeitpuffer_Temp
    M121: NOP   0
    
    
          U     #Takt
          R     #Fenster
    
    
          L     #Zeitpuffer
          L     1.000000e+001
          *R    
          T     #Zeitpuffer
    
    
          U(    
          L     #Zeitpuffer
          L     #Kuerzester_Abstand
          <R    
          )     
          SPBN  M122
          L     #Zeitpuffer
          T     #Kuerzester_Abstand
    M122: NOP   0
    
    
          L     3.600000e+003
          L     #Kuerzester_Abstand
          /R    
          RND   
          T     #Sollwert_pro_Stunde
    
    
          L     #Sollwert_pro_Stunde
          ITD   
          DTR   
          L     #Arbeitszeit_in_Stunden
          *R    
          RND   
          T     #Sollwert_am_Tag
    Danke!
    Zitieren Zitieren Zeitmessung - Fehler in meinem Code???  

  2. #2
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Minico,

    was sind das für Variablen (#Zeitpuffer_Temp, etc.)?
    Sind es Merker, Statische Var in einem FB oder Temp-Variablen?

    Was genau funktioniert nicht?
    Der Code sieht auf den ersten Blick ok aus. Aber die Multiplikation von #Zeitpuffer würde ich vor M121 machen.
    Sonst wird sie jeden Zyklus ausgeführt.

    Grüße
    Gebs

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

    Minico89 (13.09.2013)

  4. #3
    Registriert seit
    23.07.2013
    Beiträge
    66
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey Gebs,
    es sind alles Statische Variablen in einem FB.
    Das mit dem #Zeitpuffer gucke ich mir gleich mal genauer an, bügele sowieso grade alle Fehler in meinem kompletten Baustein aus. Dank diesem Forum hier habe ich schon verdammt viel gelernt, aber ab und zu fehlt mir einfach ein bisschen die Erfahrung

  5. #4
    Registriert seit
    23.07.2013
    Beiträge
    66
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    .......................................
    Geändert von Minico89 (13.09.2013 um 13:33 Uhr)

  6. #5
    Registriert seit
    23.07.2013
    Beiträge
    66
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So, jetzt geht alles, bis auf den kürzesten Abstand... Aber warum???


    Code:
          U     #Takt_negativ
          S     #Fenster
    
    
          U     #Fenster
          U     #FP_100Millisekunden
          SPBN  M120
          L     #Zeitpuffer_Temp
          L     1
          +I    
          T     #Zeitpuffer_Temp
    M120: NOP   0
    
    
          U     #Takt
          SPBN  M121
          L     #Zeitpuffer_Temp
          ITD   
          DTR   
          T     #Zeitpuffer
    
    //     L     #Zeitpuffer_Temp
    //      T     MW   100
    
          L     0
          T     #Zeitpuffer_Temp
    M121: NOP   0
    
    
          U     #Takt
          R     #Fenster
    
    
          L     #Zeitpuffer
          L     1.000000e+001
          *R    
          T     #Zeitpuffer_fertig
    
    
    
    
    
    
          L     1.000000e+003
          T     #Kuerzester_Abstand
    
    
    
    
    
    
    
    
    
          U(    
          L     #Zeitpuffer_fertig
          L     #Kuerzester_Abstand
          <=R   
          )     
          SPBN  M122
          L     #Zeitpuffer_fertig
          T     #Kuerzester_Abstand
    M122: NOP   0
    
          L     3.600000e+003
          L     #Kuerzester_Abstand
          /R    
          RND   
          T     #Sollwert_pro_Stunde
    
    
          L     #Sollwert_pro_Stunde
          ITD   
          DTR   
          L     #Arbeitszeit in_Stunden
          *R    
          RND   
          T     #Sollwert_am_Tag

  7. #6
    Registriert seit
    14.10.2010
    Ort
    Telgte
    Beiträge
    654
    Danke
    97
    Erhielt 129 Danke für 99 Beiträge

    Standard

    Hi Minico89,

    Code:
     L     1.000000e+003
     T     #Kuerzester_Abstand
    Warum hast du diese Zeilen hinzugefügt? Zum Testen?
    Hiermit überschreibst du doch jeden Zyklus wieder den Wert den du hier
    Code:
          SPBN  M122
          L     #Zeitpuffer_fertig
          T     #Kuerzester_Abstand
    M122: NOP   0
    reingeschrieben hast.

    Gruß, Toki
    Programmierumgebung: Step7 V5.5, WinCCflex2008-SP3, TIA-PortalV13, MicroWinV4.0

  8. Folgender Benutzer sagt Danke zu Toki0604 für den nützlichen Beitrag:

    Minico89 (23.09.2013)

  9. #7
    Registriert seit
    23.07.2013
    Beiträge
    66
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sorry, war im Urlaub!
    Hab ich dann auch festgestellt!

Ähnliche Themen

  1. neuer Beitrag in meinem Automationblog ...
    Von Martin Buchwitz im Forum Stammtisch
    Antworten: 0
    Letzter Beitrag: 18.09.2012, 11:10
  2. Frage zu meinem Baustein
    Von Gini im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 30.08.2009, 19:55
  3. Fehler im SCL Code
    Von Felse im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 18.06.2009, 12:33
  4. Auf meinem Schreibtisch herrscht Chaos
    Von pvbrowser im Forum Stammtisch
    Antworten: 11
    Letzter Beitrag: 12.07.2007, 12:50

Lesezeichen

Berechtigungen

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