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

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

Thema: Geschwindigkeitsregelung S7 FM350-2

  1. #1
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hatte im falschen Forum gepostet. Bitte den anderen Beitrag schliessen. Danke

    Hallo,

    vorneweg einige einleitende Worte. Meine S7 Programmierkenntnisse beschränken sich auf einige grundlegende Sachen (einfachste Ablaufsteuerungen usw.).
    Mit meinen jetzigen Erfahrungen war dies ohne grosse Probleme möglich.
    Was mein Chef nun vorhat sprengt allerdings bei weitem den Rahmen meiner Fertigkeiten. Somit wende ich mich vertrauensvoll an Euch mit der Bitte um Hilfe.

    Folgendes Projekt ist geplant:

    Geschwindigkeitsregelung eines Pneumatikzylinders von Festo. Dieser treibt einen Arm an der einseitig gelagert ist (ähnlich einer Tür). Zu steuern wäre also die Kreisbahngeschwindigkeit des Armes und zwar in beide Richtungen mit unterschiedlichen Geschwindigkeiten.

    Folgende Hardware steht zur Verfügung:

    CPU 315-2DP
    FM 350-2
    SM332 Analog O 4x
    SM321 DI 32x
    SM332 DO 32x
    Festo Proportionalventil
    Inkremental Drehgeber HTL 5000 Inkr.
    Festo Pneumatikzylinder 320mm

    geplante Umsetzung:


    Mithilfe des auf der Drehachse angebrachten Drehgebers wird die aktuelle Position des Armes berechnet. Beim Öffnen und Schliessen des Armes wird an je einer definierten Position eine V-Messung durchgeführt.

    Lösung zur Zeit: Die Position des Armes wird über das DBW 44.0 abgefragt. Start und Stop der V-Messung wurde über Vergleicher mit Hilfe eines Zeitgliedes durchgeführt.

    Probleme dabei:
    - Wie kann ich die Position mit der erforderlichen Genauigkeit bestimmen? Das DBW44.0 aus dem UDT1 DB scheint mir nicht ausreichend schnell aktualisiert zu werden.
    - Die Messung der Zeit über Timerbausteine ist scheinbar unzureichend genau.

    Wie Ihr vielleicht schon erkennen könnt, stellen die SFC des FM 350-2 mein größtes Problem dar. Die Dokumentation von Siemens ist für mich als Laie leider alles andere als gut zu verstehen. Falls jemand auf diesem Gebiet über Erfahrung verfügt, würde ich mich über jedes bißchen Hilfe sehr freuen.

    Die Regelung über PID-Control stellt momentan kein Problem dar; da in einem anderen Projekt schon angewendet.

    In der Hoffnung auf Hilfe

    Mathais
    Zitieren Zitieren Gelöst: Geschwindigkeitsregelung S7 FM350-2  

  2. "Hallo Mathias,
    weil der OB35 sich mit seinem Takt nicht nach der Position des Armes richtet, wirst du den Messbeginn bis zu 100ms nach überfahren der 20° Position erwischen.
    Also muss ein Interupt her. Baue an der 20° (und 70°) Position einen Ini. an und starte damit die Messung auf der FM350.
    Wenn es nicht genau die 20° sein müssen, so bilde eine Flanke wenn der Arm die 20° überschreitet. Den aktuellen Istwert speichere ab und starte einen Timer. Wenn der Arm die 30° überschreitet bilde die Differenz zwischen Alt- und Neuwert. Die Zeit für den Weg kannst du am Timer in 1/10Sek ablesen. Aus beiden Werten ergibt sich die Geschwindigkeit.

    Ich bin erstaunt, dass die Pneumatik so schnell reagiert. Wieder was gelernt.

    Gruß Wilfried"


  3. #2
    Registriert seit
    13.04.2005
    Beiträge
    264
    Danke
    2
    Erhielt 2 Danke für 1 Beitrag

    Standard

    Hallo,

    habe das Problem mehrfach mit hydraulischen Komponenten gelöst.
    Mit pneum. Regelventilen fehlt mir die Erfahrung.
    Ich kann mit vorstellen dass es schwieriger wird.
    Um dir da einige Tips zu geben fehlen folgende Angaben:

    - Verhältnis Min- Max Geschwindigkeit
    - Stellzeit von Pos. Min nach Pos. Max
    - Impulse pro Sekunde bei Vmax
    - Verstellgenauigkeit

    Gruß Wilfried

  4. #3
    Registriert seit
    02.05.2005
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Erstmal bitte ich die Doppelposts zu entschuldigen.

    Habe mich inzwischen im Forum registriert.

    Nun zu Deinen Fragen:

    - Die Geschwindigkeit soll in einem Bereich von 120°/s bis 70°/s regelbar sein

    - da wir den Arm nur um 90° bewegen liegen die Verfahrzeiten je Richtung zwischen 0,8s - 1,5s

    - der Inkgeber arbeitet mit 5000 Impulsen. Die 350-2 arbeitet mit vierfach Auswertung. Somit bekomme ich pro Vollkreis 20.000 Impulse. Angenommen ich fahre mit voller geschwindigkeit die 90° komplett, so sind dies 5000 Impulse in 0,8s. Sollte also 6250 Impulsen/s entsprechen.

    - die Verstellgenauigkeit muss nicht sehr hoch sein. Geplant hatte ich den Einsatz eines Schieberegisters (keine Ahnung wie man sowas handelt ) um die Quersumme aus den letzten 10 Messwerten zu bilden.

    Der Prozeß muss also nicht in Echtzeit geregelt werden, es reicht völlig aus die Regelung während den nächsten Programmabläufen umzusetzen.



    mfG Mathias

    P.S: Der Kunde interessiert sich weniger für die Winkelgeschwindigkeit als vielmehr für die Kreisbahngeschwindigkeit des Armes an seinem äusseren Punkt. Die Länge beträgt ca. 1,2m. (Ist ja trotzdem irgendwie das gleiche).
    Diese Geschwindigkeit muss an 2 Punkten gemessen werden. In Richtung öffnen wäre dies zwischen 20°-30° nach Anlauf. In Richtung schliessen zwischen 70°-60° nach Anlauf. Die restliche Strecke kann regelfrei bleiben und wird mit den Aktuallwerten weitergefahren.

  5. #4
    Registriert seit
    13.04.2005
    Beiträge
    264
    Danke
    2
    Erhielt 2 Danke für 1 Beitrag

    Standard

    Hallo Mathias,
    für eine Geschwindigkeitsregelung ist die Verstellzeit zu kurz.
    Bei Pneumatik ist die Reaktion des Zylinders auf das Prop.-Ventil zu träge. Wenn das GD² des Arms immer gleich ist würde ich die Geschwindigkeit nur Steuern und nicht Regeln.

    Wenn das nicht genau genug ist, glaube ich, dass nur ein Elektromotor das schafft (Spindel- Hubantrieb).

    Wie sieht es denn mit der Endabschaltung (Positionierung) aus. Fährst du z.B. in eine mechanische Dämpfung mit Anschlag?

    Um die Reaktion des Zylinders auf das Prop.- Ventil zu testen würde ich den Sollwert für den Arm zu verfahren alle 100ms umschalten (z.B. 50%-70%-50%...) Wenn der Arm sichtbar ruckelt habe ich mich mit der Trägheit geirrt. Dann kann man doch über Regelung reden.

    Gruß Wilfried

  6. #5
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard

    Für mich ruft das Problem eher nach einen FM352-5, statt einer FM350-2.

    Der FM352-5 hat seinen eigenen Parallel-Prozessor mit 1 micro-Sek. Zykluszeit und arbeitet völlig unabhängig vom CPU (kriegt nur die nötige Parameter Sollwerte usw. per DB übertragen). Der wurde locker mithalten. Einziges Problem - der FM352-5 hat eine gewaltige Lernkurve wenn man versucht allein damit zurecht zu kommen - aber da, oder besser gesagt, hier, kann geholfen werden!

  7. #6
    Registriert seit
    13.04.2005
    Beiträge
    264
    Danke
    2
    Erhielt 2 Danke für 1 Beitrag

    Standard

    Hallo @RMA,

    aber nur in Verbindung mit einem Servomotor.
    Gruß Wilfried

  8. #7
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard

    @old_willi, danke für die Ergänzung, ich habe mit sowas null Erfahrung, aber nach ein wahsnsinns Kampf mit der Lernkurve des FM352-5, dies wirklich zu schätzen gelernt. Das Ding ist wirklich was aus der Reihe, man muss es nur beherrschen können, dann kann man wirklich unglaublich schnelle Abläufe erledigen. In meinem Fall ging es um sychronisieren von Signalen mit <100 micro-Sekunden Abweichung.

  9. #8
    Registriert seit
    27.11.2004
    Beiträge
    69
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    (Neben vielen anderen Dingen) ist es wichtig, dass das Proportionalventil, mit dem du regeln willst, auf der Abluftseite des Zylinders angeschlossen wird. Dadurch wird der Zylinder in ein Luftkissen eingespannt und macht keine "Stotterbewegungen"...

  10. #9
    Registriert seit
    02.05.2005
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Schon mal vielen Dank für die Hilfe.

    Wie ich sehe habe ich mich wohl etwas undeutlich formuliert. Ich probiere das Problem nochmal etwas zu präzisieren.

    Der Zylinder soll einen Hebelarm mit einer definierten Geschwindigkeit bewegen.Dieser Sollwert wird später nicht mehr geändert. Der Wert wird durch den Kunden festgelegt und bewegt sich in den oben angegebenen Bereichen. Mögliche Störgrössen sind die Umgebungstemperatur (wechselnd zwischen -30° und +80°) sowie Verschleiss. Durch die Steuerung sollen diese Geschwindigkeitsschwankungen aufgefangen werden.
    Die Korrektur muß nicht in Echtzeit erfolgen sondern kann nachgeregelt werden. Sprich die Steuerung liest beim ersten Fahren des Armes die Istwerte ein, vergleicht diese anschliessend mit den Sollwerten und bestimmt daraus den Regelwert. Beim nächsten Fahren des Zylinders wird der aus dem letzen Zyklus berechnete Regelwert benutzt. u.s.w.

    Ausschlaggebend für die Ermittlung des Istwertes ist nur ein kleines Fenster im Gesamtfahrweg. Sprich zwischen 20°-30°. Meine Idee war nun folgende, bei erreichen der Inkrementzahl die den 20° entspricht, sollten 100ms lang die Impulse gezählt werden und im Anschluss daraus die V berechnet werden. V=Inkr./t

    Das Problem liegt darin, das ich nicht weiß wie ich die Inkremente ausreichend schnell auslesen kann und wie ich den für die 100ms nötigen OB35 in das Programm einbeziehe. (siehe oben habe wenig Erfahrungen).

    Ich hoffe das hilft etwas.

    @RMA
    FM352-5 kommt leider nicht in Frage, da wir mehere unabhängige Aufbauten realisieren müssen und die Kosten zu hoch wären. Vom Spindelmotor will ich da gar nicht erst reden. Pneumatische Betätigung ist Anforderung.

    @old_willi
    Endanschläge sind beidseitig vorhanden.
    Der Zylinder ruckelt bei 100ms Wechselbelastung. Aber wie gesagt eine Regelung der aktuellen Verfahrgeschwindigkeit ist ja nicht nötig.

    Somit belibt momentan die Frage, wie ich die Geschwindigkeitsabfrage realisiere? Falls dazu jemanden noch etwas einfällt, würde ich mich sehr freuen.

    Gruss Mathias

  11. #10
    Registriert seit
    13.04.2005
    Beiträge
    264
    Danke
    2
    Erhielt 2 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Mathias,
    weil der OB35 sich mit seinem Takt nicht nach der Position des Armes richtet, wirst du den Messbeginn bis zu 100ms nach überfahren der 20° Position erwischen.
    Also muss ein Interupt her. Baue an der 20° (und 70°) Position einen Ini. an und starte damit die Messung auf der FM350.
    Wenn es nicht genau die 20° sein müssen, so bilde eine Flanke wenn der Arm die 20° überschreitet. Den aktuellen Istwert speichere ab und starte einen Timer. Wenn der Arm die 30° überschreitet bilde die Differenz zwischen Alt- und Neuwert. Die Zeit für den Weg kannst du am Timer in 1/10Sek ablesen. Aus beiden Werten ergibt sich die Geschwindigkeit.

    Ich bin erstaunt, dass die Pneumatik so schnell reagiert. Wieder was gelernt.

    Gruß Wilfried

Ähnliche Themen

  1. Fm350-1
    Von Farinin im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 17.05.2011, 13:10
  2. Gleichstrommotor mit Geschwindigkeitsregelung an SPS
    Von dr.flintstone im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.09.2005, 14:47
  3. FM350
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 10.06.2004, 10:55

Lesezeichen

Berechtigungen

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