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

Seite 4 von 8 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 75

Thema: Drehzahlmessung

  1. #31
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich glaubs nicht. Ich hab jetzt drei stunden lang mein netzwerk durchgeschaut und sobald ich das netzwerk ins forum gestellt hab seh ich den fehler gleich.

    Code:
     L #Zwischenspeicher
            L 2
            *I
            ITD
            DTR
     
            L 1000
            /R
            T #Vergleichswert
    besser wäre wohl
    Code:
     L #Zwischenspeicher
            L 2
            *I
            ITD
            DTR
     
            L 1.0000000e+003
            /R
            T #Vergleichswert

  2. #32
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... das könnte natürlich auch noch helfen ...

  3. #33
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard

    Ich wollte jetzt mein netzwerk auslagern und zur übersichtlichkeit in einen fc stellen.
    Leider funktioniert das irgendwie nicht. Ich schiebe die zykluszeit von ob1 einfach direkt immer in ein dbw. Im fc wird dann das dbw genommen und wie gewohnt aufaddiert.
    aber leider addiert der mir irgendwie so schnell, ich weiß auch nicht.
    Kann das so funktionieren oder ist das problematisch?
    Im ob1 hat mein netzwerk nämlich spitze funktioniert. Ich habs eigentlich nur kopiert und in den fc eingefügt.

  4. #34
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von stift Beitrag anzeigen
    aber leider addiert der mir irgendwie so schnell, ich weiß auch nicht.
    was meint das?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #35
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Wenn Du die AWL Quelle hier eingefügt hättest könnte man den Fehler suchen und müsste nicht raten ;o(

    Hast Du daran gedacht das ein FC nur temporäre lokale Variablen hat un keine statischen. Also sowas wie den Zwischenspeicher muss dann von außen via VAR_IN_OUT an den FC zur Verfügung gestellt werden (oder FB nutzen, oder ganz schlecht eine Globale Variable im FC nutzen).
    If you open your Mind too much, your Brain will fall out.

  6. #36
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von zotos Beitrag anzeigen
    oder ganz schlecht eine Globale Variable im FC nutzen.
    wenn da nur globale variablen drin sind, ist das durchaus nicht unsauber ...nur die mischung machts
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #37
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Ich schliesse mich Zotos und Vierlagig an ... "keine Arme ... keine Kekse ..."

  8. #38
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard

    ihr habt ja recht, ich hab mein problem recht besch.... beschrieben. mein problem ist nämlich dass mein pg keinen netzwerkanschluss hat. deswegen muss ich mein netzwerk immer in word einfügen, mit nem usb-stick übertragen und kann das ganze dann erst ins forum stellen.

    ok also folgendes:
    meine messung lief am freitag hervorragend. dann habe ich ein paar datenformate ändern müssen und seitdem läuft die sache irgendwie nicht mehr so wie sie soll.
    die zeit pro umdrehung soll immer wenn eine neue messung da ist überträgen werden, dann aber ein fester gespeicherter wert. im moment läuft die zeit immer weiter. ich versteh nicht warum der wert jetzt weiterläuft und ich freitag konstante werte hatte.
    außerdem steht mein netzwerk jetzt im fc10. allerdings übertrage ich mein 0b1_prev_cycle mit globaldaten.

    ob1:
    Code:
     
         CALL  "Systemsteuerteil"
         CALL  "Drehzahlmessung"
         CALL  "Geschwindigkeit"
         CALL  "Stromüberwachung"
     
     
         L     #OB1_PREV_CYCLE
         T     "DB_V-Messung".Zykluszeit_OB1
    fc10:
    Code:
     U     "Merker_Motor_Ein"
         SPBN  M002
     
     
    //Aufaddieren der Zykluszeit von 0b1 zum erhalten der Zeit für eine halbe Umdrehung in ms
     
         L     "DB_V-Messung".Zykluszeit_OB1
         L     #Zwischenspeicher
         +I    
         T     #Zwischenspeicher
     
     
    //Bedingung für weiteren Verlauf
     
         U     "Sensor-Drehzahl"
         U     M     25.4
         SPBN  M001
     
     
    //Berechnen der Zeit für Umdrehung in s (Datentyp real)
     
         L     #Zwischenspeicher
         L     2
         *I    
         ITD   
         DTR   
     
         L     1.000000e+003
         /R    
         T     #Vergleichswert
     
     
    //Schmitt-Trigger zum Stabilisieren aller folgenden Rechenwerte
     
         L     #Vergleichswert
         L     2.000000e-001
         +R    
         T     #oberer_Schaltpunkt
     
         L     #Vergleichswert
         L     2.000000e-001
         -R    
         T     #unterer_Schaltpunkt
     
         L     #oberer_Schaltpunkt
         L     #Vergleichswert
         >R    
         SPBN  M010
     
         L     #Vergleichswert
         T     "DB_V-Messung".Zeit_fuer_Umdrehung
     
    M010: L     #unterer_Schaltpunkt
         L     #Vergleichswert
         <R    
         SPBN  M011
     
         L     #Vergleichswert
         T     "DB_V-Messung".Zeit_fuer_Umdrehung
     
     
    //Rücksetzten des Zwischenspeichers
     
    M011: L     0
         T     #Zwischenspeicher
     
    M001: U     "Sensor-Drehzahl"
         =     M     25.4
     
    M002: NOP   0
    gibts jetzt kekse? *g*

  9. #39
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von stift Beitrag anzeigen
    ihr habt ja recht, ich hab mein problem recht besch.... beschrieben. mein problem ist nämlich dass mein pg keinen netzwerkanschluss hat. deswegen muss ich mein netzwerk immer in word einfügen, mit nem usb-stick übertragen und kann das ganze dann erst ins forum stellen.
    ...erzeuge eine quelle und exportier sie, die *.AWL kannst du dann mit dem editor öffnen, da brauch man noch nicht mal word UND alle daten sind vorhanden...


    Zitat Zitat von stift Beitrag anzeigen
    ob1:
    Code:
    
     
          CALL  "Systemsteuerteil"
          CALL  "Drehzahlmessung"
          CALL  "Geschwindigkeit"
          CALL  "Stromüberwachung"
     
     
          L     #OB1_PREV_CYCLE
          T     "DB_V-Messung".Zykluszeit_OB1
    wenn du die zykluszeit am ende erst in deinen DB schreibst rechnest du immer mit der vorletzten zykluszeit ... erklärt zwar nicht das weiterlaufen ...

    Zitat Zitat von stift Beitrag anzeigen
    fc10:
    Code:
     U     "Merker_Motor_Ein"
          SPBN  M002
     
     
     //Aufaddieren der Zykluszeit von 0b1 zum erhalten der Zeit für eine halbe Umdrehung in ms
     
          L     "DB_V-Messung".Zykluszeit_OB1
          L     #Zwischenspeicher
          +I    
          T     #Zwischenspeicher
    #zwischenspeicher ist vom typ INT und nicht TEMP ... kann ich mir nicht vorstellen, also INT schon ... aber das es ein INOUT ist nicht, denn der aufruf in OB1 spricht eine andere sprache...

    Zitat Zitat von stift Beitrag anzeigen
    gibts jetzt kekse? *g*
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #40
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    sorry ich versteh nicht ganz:
    #zwischenspeicher ist vom typ INT und nicht TEMP ... kann ich mir nicht vorstellen, also INT schon ... aber das es ein INOUT ist nicht, denn der aufruf in OB1 spricht eine andere sprache...
    ist ja ziemlich toll mit den quellen exportieren. Danke
    Hier noch mal der komplette fc

    Code:
    FUNCTION "Drehzahlmessung" : VOID
    TITLE =
    VERSION : 0.1
    
    VAR_TEMP
      Zwischenspeicher : INT ; 
      Vergleichswert : REAL ; 
      oberer_Schaltpunkt : REAL ; 
      unterer_Schaltpunkt : REAL ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =Stoppen der Zeit für eine Umdrehung
    
          U     "Merker_Motor_Ein"; 
          SPBN  M002; 
    
    //Aufaddieren der Zykluszeit von 0b1 zum erhalten der Zeit für eine halbe Umdrehung in ms
          L     "DB_V-Messung".Zykluszeit_OB1; 
          L     #Zwischenspeicher; 
          +I    ; 
          T     #Zwischenspeicher; 
    
    //Bedingung für weiteren Verlauf
          U     "Sensor-Drehzahl"; 
          U     M     25.4; 
          SPBN  M001; 
    
    //Berechnen der Zeit für Umdrehung in s (Datentyp real)
          L     #Zwischenspeicher; 
          L     2; 
          *I    ; 
          ITD   ; 
          DTR   ; 
          L     1.000000e+003; 
          /R    ; 
          T     #Vergleichswert; 
    
    //Schmitt-Trigger zum Stabilisieren aller folgenden Rechenwerte
          L     #Vergleichswert; 
          L     2.000000e-001; 
          +R    ; 
          T     #oberer_Schaltpunkt; 
          L     #Vergleichswert; 
          L     2.000000e-001; 
          -R    ; 
          T     #unterer_Schaltpunkt; 
          L     #oberer_Schaltpunkt; 
          L     #Vergleichswert; 
          >R    ; 
          SPBN  M010; 
          L     #Vergleichswert; 
          T     "DB_V-Messung".Zeit_fuer_Umdrehung; 
    M010: L     #unterer_Schaltpunkt; 
          L     #Vergleichswert; 
          <R    ; 
          SPBN  M011; 
          L     #Vergleichswert; 
          T     "DB_V-Messung".Zeit_fuer_Umdrehung; 
    
    //Rücksetzten des Zwischenspeichers
    M011: L     0; 
          T     #Zwischenspeicher; 
    M001: U     "Sensor-Drehzahl"; 
          =     M     25.4; 
    M002: NOP   0; 
    
    NETWORK
    TITLE =Berechnen der Drehzahl
    
          L     6.000000e+001; 
          L     "DB_V-Messung".Zeit_fuer_Umdrehung; 
          /R    ; 
          RND   ; 
          DTB   ; 
          BTI   ; 
          T     "DB_V-Messung".Momentandrehzahl; 
    NETWORK
    TITLE =Schieben der Vergleichsdrehzahl
    //Schiebt die momentane Drehzahl auf das DBW Vergleichdrehzahl
          U     "Merker_Motor_Ein"; 
          S     "HLM_Vergleichsdrehzahl"; 
          U     "HL_Timer_Vergleichsdrehz"; 
          R     "HLM_Vergleichsdrehzahl"; 
          NOP   0; 
    
          U(    ; 
          U     "HLM_Vergleichsdrehzahl"; 
          L     S5T#100MS; 
          SE    "Timer_Vergleichsdrehzahl"; 
          U(    ; 
          U     "HLM_Vergleichsdrehzahl"; 
          L     S5T#150MS; 
          SE    "HL_Timer_Vergleichsdrehz"; 
          U     "HL_Timer_Vergleichsdrehz"; 
          )     ; 
          R     "Timer_Vergleichsdrehzahl"; 
          U     "Timer_Vergleichsdrehzahl"; 
          )     ; 
          SPBNB _003; 
          L     "DB_V-Messung".Momentandrehzahl; 
          T     "DB_V-Messung".Vergleichsdrehzahl; 
    _003: NOP   0; 
     
    NETWORK
    TITLE =Rücksetzen der DBD
    //Schiebt eine 0 auf alle Geschwindigkeits- und Beschleunigungswerte falls sich 
    //die Drehzahl ändert
    //ändert.
          U(    ; 
          L     "DB_V-Messung".Momentandrehzahl; 
          L     "DB_V-Messung".Vergleichsdrehzahl; 
          <>I   ; 
          )     ; 
          SPBNB M004; 
          L     0.000000e+000; 
          T     "DB_V-Messung".Maximalgeschwindigkeit; 
          T     "DB_V-Messung".Durchschnittsgeschw; 
          T     "DB_V-Messung".Maximalbeschleunigung; 
          T     "DB_V-Messung".Durchschnittsbeschl; 
    M004: NOP   0; 
     
    END_FUNCTION

Ähnliche Themen

  1. Drehzahlmessung mit SPS
    Von kleiner_thomas im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.10.2011, 17:47
  2. Drehzahlmessung mit Fm-3501
    Von awe_wolfsburg im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.06.2010, 15:07
  3. Drehzahlmessung mit normalen DI??
    Von s7-spsler im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 12.10.2009, 21:55
  4. Drehzahlmessung über Zähler
    Von Nordkurve im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 03.04.2007, 17:32
  5. Drehzahlmessung mit S7-300
    Von VyRuz im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 08.11.2005, 07:34

Lesezeichen

Berechtigungen

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