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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 41

Thema: Bandpassfilter programmieren

  1. #21
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Jo-Janzen Beitrag anzeigen
    Also ich lese bisher mit der CPU 313C alle 100 ms ein. Mit einem SPS-Analyzer zeichne ich auf. Die Werte aus dem
    Analyzer exportiere ich mit Intervall von 100 ms in eine Exceltabelle. Mit der Excel mache ich die FFT. Und das FFT-Bild bis 10 Hz kam dabei heraus.
    Wenn ich das ganze mit 10 ms mache, dann wird eine FFT bis 100Hz dargestellt. Die Werte (0-10Hz) aus beiden FFT passen weitgehend überein.
    Also hierzu :
    Ich bin mir nicht so sicher, dass die Aufzeichnung mit dem SPS-Analyser das 100 ms Intervall stabil halten kann - ein 10 ms Intervall aber mit Sicherheit nicht. Wie kommst du dann aber auf die 100 Hz FFT ? Für eine FFT solltest du außerdem auch immer (mindestens !!!) doppelt so schnell aufzeichnen, wie du auswerten willst. Von da her stelle ich deine diesbezügliche Analyse ein klein bißchen in Frage - sorry .

    Ich würde hier auch, wie schon mehrfach vorgeschlagen, die Abtastfrequenz deines OB35 deutlich erhöhen (z.B. 5 ms oder noch schneller wenn deine CPU das noch hergibt) und dann entsprechend deines Wunsch-Intervalls den Mittelwert aus entsprechend vielen Werten bilden (also bei 5 ms Abtasten und 100 ms Wunsch-Intervall entsprechend aus bis zu 20 Werten).

    Gruß
    Larry

  2. #22
    Registriert seit
    11.07.2009
    Beiträge
    174
    Danke
    20
    Erhielt 34 Danke für 26 Beiträge

    Standard

    Hallo Jo_Janzen,
    Deine verwendete PT1-Formel kommt mir auch etwas komisch vor. Ein PT1-Glied wird durch Umwandlung der Differentialgleichung des Tiefpasses in eine Differenzengleichung realisiert.
    Das Ergebnis ist dann eine Rekursion des dem Wert des vorherigen Abtastzykluses. Bei genauerem Interesse mußt Du Dich noch einmal melden. Ich habe irgendwo eine Ableitung.

    Deine Aussagen, daß die niedrigen Frequenzen im Spektrum das Nutzsignal sind, kann man so nicht genau sagen.
    Die FFT sagt Dir nur welche Frequenzen mit welcher Amplitude vorkommen. Jedes periodische Signal läßt sich bekannterweise in eine Fourierreihe zerlegen (Summe von Harmonischen entsprechender Amplitude und Frequenz). Bei nicht periodischen Signalen wird es halt eine Fouriertransformation.
    Aussagekräftiger sind dann schon das Leistungsdichtespektrum oder andere Methoden wie das Cepstrum (Rückwärts von Spektrum).

    Gruß Frank

    Anbei noch ein alter Kommentar von mir zu diesem Thema.
    http://www.sps-forum.de/showthread.p...enzengleichung
    Geändert von knarf (22.05.2012 um 13:09 Uhr)

  3. #23
    Registriert seit
    28.01.2011
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von knarf Beitrag anzeigen
    Hallo Jo_Janzen,
    Anbei noch ein alter Kommentar von mir zu diesem Thema.
    http://www.sps-forum.de/showthread.p...enzengleichung
    Auf den FB80 bin ich auch schon gestoßen. Nur da stellt sich für mich wieder die Frage woher der Baustein weiß, welche Frequenzen er durchlassen soll.
    Und was müsste ich für die beiden Eingänge eingeben. Was ist hier der Unterschied beider Variablen? (Stammt aus der S7 Hilfe)


    IN Eingang real Eingabewert der aktuellen Abtastzeit (Zykluszeit), die bearbeitet werden soll.
    SAMPLE_T Eingang int Abtastzeit



    Zitat Zitat von knarf Beitrag anzeigen
    Hallo Jo_Janzen,
    Deine verwendete PT1-Formel kommt mir auch etwas komisch vor. Ein PT1-Glied wird durch Umwandlung der Differentialgleichung des Tiefpasses in eine Differenzengleichung realisiert.
    Das Ergebnis ist dann eine Rekursion des dem Wert des vorherigen Abtastzykluses. Bei genauerem Interesse mußt Du Dich noch einmal melden. Ich habe irgendwo eine Ableitung.
    Und die Auswahl der Koeffizienten bestimmen die Frequenzen die ein PT1 Filter durchlassen soll.Ist doch so richtig, oder?
    Ich könnte ein konkretes Beispiel gebrauchen, wo auch die Koeffizienten berechnet werden.


    Zitat Zitat von knarf Beitrag anzeigen
    Hallo Jo_Janzen,

    Deine Aussagen, daß die niedrigen Frequenzen im Spektrum das Nutzsignal sind, kann man so nicht genau sagen.
    Die FFT sagt Dir nur welche Frequenzen mit welcher Amplitude vorkommen. Jedes periodische Signal läßt sich bekannterweise in eine Fourierreihe zerlegen (Summe von Harmonischen entsprechender Amplitude und Frequenz). Bei nicht periodischen Signalen wird es halt eine Fouriertransformation.
    Aussagekräftiger sind dann schon das Leistungsdichtespektrum oder andere Methoden wie das Cepstrum (Rückwärts von Spektrum).
    Ich meinte nicht, dass die niedrigen Frequenzen die Nutzsingale sind, sondern dass die Frequenzen mit niederiger Amplitude die Nutzsignale sind.
    Das kann man doch so sagen , oder nicht?

  4. #24
    Registriert seit
    21.05.2008
    Beiträge
    98
    Danke
    8
    Erhielt 9 Danke für 8 Beiträge

    Standard

    Zitat Zitat von Jo-Janzen Beitrag anzeigen
    Ist das überhaupt ein PT1-Filter?
    Ich habe den Code so we er ist erhalten zur Anwendung. Nur keiner konnte mir das erklären.
    Nimm den Baustein "Lag_1st" aus der modular PID control bib von Siemens. Das ist ein PT1 Glied.
    Alternativ: Programmiere einen Integrator und führe das Ausgangssignal additiv auf das Eingangssignal rück.
    Das ergibt ebenfalls ein PT1 Glied.

  5. #25
    Registriert seit
    28.01.2011
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Also hierzu :
    Ich bin mir nicht so sicher, dass die Aufzeichnung mit dem SPS-Analyser das 100 ms Intervall stabil halten kann - ein 10 ms Intervall aber mit Sicherheit nicht. Gruß
    Larry
    Ich bin dankbar für jede Korrektur. Wie gesagt, ich bin noch neu im dem Bereich.
    Du meinst, dass der Analyzer es nicht schafft auch wirklich alle 10ms aufzuzeichnen?


    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Also hierzu :
    Wie kommst du dann aber auf die 100 Hz FFT ? Für eine FFT solltest du außerdem auch immer (mindestens !!!) doppelt so schnell aufzeichnen, wie du auswerten willst. Von da her stelle ich deine diesbezügliche Analyse ein klein bißchen in Frage - sorry .

    Gruß
    Larry
    Also bisher hatte ich folgenden Gedanken:
    Ich habe das so angenommen, dass ich das Signal mit 100 ms Zykluszeit in die SPS einlese. Aus der SPS zeichne ich Zyklusgenau (also auch 100ms)
    das Signal mit dem Analyzer auf. Dadurch sieht die Aufzeichnung so aus, dass ich alle 100 ms einen neuen Wert habe.
    Zum Exportieren des aufgezeichnteten Signales kann ich es wieder in unterschiedlichen Intervallen abtasten und es wird in eine Exceltabelle exportiert.
    Dieses Abtasten habe ich bisher mit 100ms gemacht. Dadurch haben wir aber nicht die doppelte Abtastfrequenz. Deshalb habe ich das
    auch mal mit 10ms probiert. Das FFT beider Abtastfrequnzen ergab folgendes:
    Der Frequenzbereich der mir angezeigt wurde ging von 0-100 Hz bei der 10ms Abtastung.
    Der Frequenzbereich der mir angezeigt wurde ging von 0-10 Hz bei der 100ms Abtastung.

    Ist mein Vorgehen soweit ok?


    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Also hierzu :

    Ich würde hier auch, wie schon mehrfach vorgeschlagen, die Abtastfrequenz deines OB35 deutlich erhöhen (z.B. 5 ms oder noch schneller wenn deine CPU das noch hergibt) und dann entsprechend deines Wunsch-Intervalls den Mittelwert aus entsprechend vielen Werten bilden (also bei 5 ms Abtasten und 100 ms Wunsch-Intervall entsprechend aus bis zu 20 Werten).

    Gruß
    Larry
    Das werde ich gleich mal probieren.
    Aber trotzdem versuche ich noch bessere Ergebnisse mit einem PT1 filter zu erhalten. Aber dafür muss man ihn erst richtig verstehen.

  6. #26
    Registriert seit
    11.07.2009
    Beiträge
    174
    Danke
    20
    Erhielt 34 Danke für 26 Beiträge

    Standard

    Hallo Jo_Janzen,
    bei einem PT1-Glied beginnt die Dämpfung ab der sogenannten Eckfrequenz im Bode-Diagramm. Die Eckfrequenz = 1/T .
    T ist die Zeitkonstante des PT1-Gliedes. Nach ca. 5 * T hat man in der Sprungantwort des PT1-Gliedes 99,9 % des stationären Endwertes erreicht.
    Die zeitkonstante T entspricht dem Tau bei einer Kondensatoraufladung.

    Alle Frequenzen hinter der Eckfrequenz werden mit 3 dB/Dekade (wenn man sich Bode-Diagramm auf doppelt logarithmischen Millimeterpapier vorstellt gedämpft.

    Beispiel: T = 30s

    Eckfrequenz = 1/T = 1/30s= 0,033Hz

    Ab dieser Frequenz werden alle größeren Frequenzen mit 3 db gedämpft (bei einem Tiefpaß).
    Schaltest Du 2 Tiefpässe hintereinander erhältst Du ein PT2-Glied. Haben beide die gleiche Zeitkonstante erfol´gt die Dämpfung mit 6dB.

    Gruß Frank

  7. #27
    Registriert seit
    18.09.2006
    Beiträge
    231
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    wo findet mal den fb80?

    ich hab mal etwas gegoogelt und bin da auf eine brauchbare formel gestossen.
    habe das mal in eine fc verpackt.
    Angehängte Dateien Angehängte Dateien
    .
    mfg KALEL

    Wer über gewisse Dinge nicht den Verstand verliert, der hat keinen zu verlieren.
    Gottfried Ephraim Lessing
    Zitieren Zitieren PT1-Glied (AWL-Quelle)  

  8. #28
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Hallo Johann,

    es geht doch sicherlich noch um dieses Projekt?
    http://www.sps-forum.de/showthread.p...=Strangpressen

    Wie weit war das eigentlich gelöst? Du wolltest die Geschwindigkeit regeln.

    Zitat Zitat von Jo-Janzen Beitrag anzeigen
    ..Der Weggeber erfährt mechanische Vibrationen der Anlage, die nicht verhindert werden können..
    Das würde ich mal im Hinterkopf behalten. Woher kommen diese Schwingungen? Ich kenne solche Strangpress-Anlagen nicht. Ich denke, es kann nur von dem mordsmäßig(?) großen Hydraulikzylinder, oder dessen Ansteuerung kommen. Vielleicht ist da noch was zu machen? Ein anderes Proportionalventil, oder ein zweites, kleineres pararell?
    Ich nehme an, du kannst ausschließen dass die Schwingungen durch deine eigene Regelung verursacht werden?


    Zitat Zitat von Jo-Janzen Beitrag anzeigen
    Also ich denke ich werde den PT1 FIlter mit einer Mittelwertbildung kombinieren. Um so die Verzugszeit klein zu halten...
    Sowohl Mittelwertbildung als auch eine Dämpfung verzögern das Signal. Zuviel des Guten verschlechtert das Regelverhalten durch eine zusätzliche Zeitkonstante. Ich denke, die zusätzliche Mittelwertbildung wird kaum Verbesserung bringen.


    Zitat Zitat von Jo-Janzen Beitrag anzeigen
    ..Nur leider verstehe ich nicht was hinter dem Algorithmus steckt: hier mal der ganze SCL-Code..
    Versuche es mal hiermit:
    Funktioniert wie die von knarf erwähnte Ladefunktion eines Kondensators.
    Zitat Zitat von knarf Beitrag anzeigen
    ..Die zeitkonstante T entspricht dem Tau bei einer Kondensatoraufladung...
    Code:
    (**********************************************************************)
    FUNCTION "PT1": VOID
    TITLE = 'PT1-Glied' 
    (**********************************************************************)
    VERSION : '1.0'
    AUTHOR  : Onkel
    NAME    : PT1
    FAMILY  : Entenhausen
    (**********************************************************************)
    
    VAR_INPUT
      x                         : REAL := 0.0;                  // Eingangswert
      #T1                       : REAL := 0.0;                  // Zeitkonstante [ms]
      TA                        : REAL := 0.0;                  // Abtastzeit [ms]
      RESET                     : BOOL := FALSE;                // RESET (y=0.0)
      INIT                      : BOOL := FALSE;                // INIT (y=x)
    END_VAR
    
    VAR_IN_OUT
      y                         : REAL := 0;                    // Ausgangswert
    END_VAR
    
    VAR_TEMP
      TEMP_REAL                 : REAL;
    END_VAR
    
    BEGIN
    
    // RESET
    IF RESET THEN
       Y := 0;
       RETURN;                                                  // Baustein verlassen
    END_IF;   
    
    // INIT
    IF INIT THEN
       Y := X;
       RETURN;                                                  // Baustein verlassen
    END_IF;   
    
    IF #T1>0 THEN
      TEMP_REAL := TA/#T1;
      TEMP_REAL := EXP(-TEMP_REAL);
      Y := Y * TEMP_REAL;                                       // Y ist hier noch Altwert   
      Y := Y + X*(1-TEMP_REAL);
    ELSE Y:=X;
    END_IF;
    
    END_FUNCTION
    Y ist ein IN_OUT und muß extern gespeichert werden. TA ist die Abtastzeit, idealerweise aus den temporären Lokaldaten des OB35 zu ermitteln. #T1 ist die Zeitkonstante "TAU". Bei einer Wertänderung wird nach 1xTAU 63% des Endwertes erreicht. Das Zwischenergebnis "TEMP_REAL:=EXP(-TA/#T1)" ist letzten Endes eine Konstante und könnte bei Bedarf auch durch eine solche ersetzt werden.


    Gruß, Onkel
    Geändert von Onkel Dagobert (23.05.2012 um 00:48 Uhr)
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  9. #29
    Registriert seit
    28.01.2011
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von LT Smash Beitrag anzeigen
    Nimm den Baustein "Lag_1st" aus der modular PID control bib von Siemens. Das ist ein PT1 Glied.
    Danke für den Hinweis! Ich habe gerade mal nachgeschaut, den LAG_1st gibt es auch im Standard PID Control. Im Handbuch ist er auch gut erklärt.

  10. #30
    Registriert seit
    28.01.2011
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Hallo Johann,

    es geht doch sicherlich noch um dieses Projekt?
    http://www.sps-forum.de/showthread.p...=Strangpressen

    Wie weit war das eigentlich gelöst? Du wolltest die Geschwindigkeit regeln.

    Gruß, Onkel
    Du kannst dich erinnern ?! Genau an dem Projekt bin ich noch.
    Also ich bin soweit, dass ich die größten Störgrößen beseitigen konnte.
    Die ganz großen Schwankungen wurden nämlich (nicht wie vermutet von der analogen veralteteten Regelung) durch ein Stick-Slip Effekt in den Führungen hervorgerufen. Durch bessere Schmierung konnte ich das beheben.
    Nun bin ich, wie man sieht dabei ein schönes Eingangsignal zu erhalten bzw. das Eingangsignal so zu bearbeiten, dass ich es als
    "glatten" Istwert auf Regelung geben kann. Es soll aber trotzdeim eine neue Regelung auf S7 Basis rein.


    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Hallo Johann,

    Das würde ich mal im Hinterkopf behalten. Woher kommen diese Schwingungen? Ich kenne solche Strangpress-Anlagen nicht. Ich denke, es kann nur von dem mordsmäßig(?) großen Hydraulikzylinder, oder dessen Ansteuerung kommen. Vielleicht ist da noch was zu machen? Ein anderes Proportionalventil, oder ein zweites, kleineres pararell?
    Ich nehme an, du kannst ausschließen dass die Schwingungen durch deine eigene Regelung verursacht werden?
    Gruß, Onkel
    Diese Schwingungen kommen auf jeden Fall nur durch Vibrationen der Anlage. Habe ich getestet.
    Man hat 3 Zylinder mit einer Gesamtdurchmesser von über einen Meter. Also mechanisch ist da nichts mehr möglich. Zumindest
    nicht ohne großen Aufwand.

Ähnliche Themen

  1. Wärmerückgewinnung programmieren
    Von Syntaxfehler im Forum Programmierstrategien
    Antworten: 23
    Letzter Beitrag: 24.11.2014, 08:41
  2. PT100 Programmieren!
    Von Krma1985 im Forum Simatic
    Antworten: 99
    Letzter Beitrag: 13.12.2011, 07:38
  3. Taktmerker programmieren
    Von Benno97 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 04.07.2010, 23:52
  4. S5 EPROM programmieren
    Von Helmpflicht im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 14.08.2009, 22:12
  5. Förderband programmieren
    Von Scrub im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 31.07.2009, 11:04

Lesezeichen

Berechtigungen

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