Seegangsfolgeeinrichtung

capri-fan

Level-2
Beiträge
100
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich möchte einen hydraulischen Arm, dessen Position ich mit einem analogen Drehgeber erfasse, automatisch nachregeln. Ausgelöst wird diese Regelung durch einen Neigungssensor (auch analog).

Der Arm wird in eine bestimmte Position gefahren und soll sich bei Neigung (eines Schiffes) automatisch um den Neigungswinkel nachstellen.
Geht die Neigung wieder zurück, soll natürlich auch der Arm wieder zurückfahren.

Ich vermute ich muß den Wert des Drehgebers in einem FB speichern, komme aber dann nicht so richtig weiter. :roll:

Ich verwende eine S7-300 und STEP7 V5.2
 
Hei,

erst mal eine Frage: Kann etwas kaputt gehen?

Hast Du schon mal mit irgendeiner Software programmiert?

Hast Du schon die analogen Werte in der Steuerung und evt. skaliert?

Gruß pt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo plc_tippser,

ja es kann etwas kaputt gehen?!!

Die Anlage habe ich mit STEP7 programmiert. Es sind mehrere Hydraulische Achsen die über Proportionalventile angesteuert werden. Das funzt soweit schon.

Ich habe auch die analogen Werte in der Steuerung und kann sie mit VAT beobachten.
 
:D Hatte sich erst so angehört, als wenn Du noch nie mit S7 gearbeitet hast.

OK.
- Ist der Drehgeber absolut?

- Wie groß darf die Abweichung sein, also würde ein P-Regler genügen?
oder mit I-Anteil, was die Sache langsamer machen würde
oder evt. sogar mit D-Anteil, was die Sache kompliziert machen würde.

Auf jeden Fall begrenze die Regelung bzw. die Stellgröße um einen Schaden zu vermeiden.

Du must ermitteln, wieviele Inkremente ein Grad Abweichung ausmachen.

Im einfachsten Fall multiplizierst Du die Regeldifferenz auf Deinen Sollwert der Position.

Pass auf, ob der Geber absolut ist, ansonsten muss er jedesmal wieder neu kalibriert werden.#

Gruß pt
 
wenn er einen analogen drehgeber hat, denke ich mal das es sich dabei um ein poti handelt, und dieses ist absolut.

im prinzip erst mal beide werte auf einen einheutlichen wert normieren.
0-360° würde sich anbieten.

dann beide werte vergleichen und entsprechend handeln...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hoffe, ich mache die Sache nicht komplizierter als sie ist, aber kann dein Schiff nur um eine Achse pendeln?
Ich stell mir deine Anwendung in etwa so vor, wie die Systeme zur Stabilisierung von Waffen auf Schiffen (kenne ich auch nur vom Hörensagen). Dort kann das Rohr ja in einem beliebigen Winkel zur Längsachse des Schiffes stehen und es müssen Schwankungen um beide Achsen sowie eventuell Höhenversatz durch Wellengang ausgeglichen werden.
Bezüglich der Winkel ist es einfacher wenn der Neigungssensor mit dem Rohr verbunden ist und die Stelleinrichtung mit dem Roh/Armr schwenkt. Du brauchst dann nur den Neigungswinkel auf Sollwert (z.B. horizontal) zu korrigieren, ohne den Wert der Neigung des Schiffes überhaupt zu kennen. Winkelgeber zwischen Schiff und Arm benötigst du dann allenfals, um Grenzen des Stellbereichs abfragen zu können.
Vielleicht habe ich auch ein falsches Bild von der Anordnung?
 
Hallo plc_tippser,

es handelt sich um einen Kübler Absolut Single Turn Drehgeber.

Die Abweichung darf schon ein paar Grad sein.

Mit Reglern habe ich noch überhaupt keine Erfahrung. :oops:

MFG
C-F
 
Wie wärs denn damit:
Winkel Schiff - Winkel Drehgeber zum Zeitpunkt 'Normieren' = Sollwert
Winkel Schiff - Winkel Drehgeber als f(t) = Istwert
Nachführen über Schrittregler

Gruß

Ralf
 
Normiere die Differenz der beiden Regler (möglichst auf einen REAL-Wert 0.0 ... 100.0
Lese in den Instans DB des CONT_S den Normierten Wert permanent als Ist-Wert ein (wo der genau stehen muß ist in der CONT_S Doku beschrieben)
Lese in den Instans DB des CONT_S den Normierten Wert beim Vorgang 'So soll es sein' als Soll-Wert ein
Beim Einlesen (das ist wichtig) setze für 5 - 10 Sekunden den D-Anteil (steht auch in der CONT_S Doku) auf 0.0

Bei den Reglerparametern vorgehen wie in
http://www.sps-forum.de/phpBB2/viewtopic.php?t=994
beschrieben. Müßte klappen

Gruß
Ralf
 
Hab mif grad' noch mal den CONT_S angeguckt, versuchs mit:
LMNUP -> So Fahren, daß sich (Winkel_1-Winkel_2) vergrößert
LMNBN -> So Fahren, daß sich (Winkel_1-Winkel_2) verkleinert
SP_INT -> (Winkel_1-Winkel_2) Ist
PV_IN ->(Winkel_1-Winkel_2) Soll
COM_RST -> Regler neustart (Bei Sollwertänderung, dadurch start man sich das mit der Zeit
PULSE_TM -> minimale Zeit für 'Ein' Impuls
BREAK_TM -> minimale Zeit für 'Aus' Impuls

Gruß

Ralf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
CONT_C ?

Hallo,

die Proportionalventile werden doch sicherlich mit einem Analogsignal angesteuert? Dann wäre der FB41 "CONT_C" besser geeignet.

Ich hatte auch schon mal über ein ähnliches Projekt nachgedacht. In meinem Fall wären es 17 hydraulische Achsen gewesen, die alle oszillierende und gruppenweise synchrone Bewegungen ausführen müssten (Tmin etwa 4s). Da die Regler schnell reagieren sollen, müssen sie mit einer möglichst kleinen Abtastrate ausgeführt werden. Hinzu kommt eine aufwendige Sollwertberechnung event. nach einer Sinusfunktion und mit variablen Grenzen, variabler Periodendauer, Handfunktionen, Teachfunktionen, usw.. Ich hatte starke Bedenken, ob dies mit einer S7 überhaupt realisierbar ist (17 schnelle Regler, Abtastzeit/Zykluszeit).

Alternativ könnte man über eine P-Regelung nachdenken, wie sie plc_tippser schon erwähnt hat.


Was für eine S7300 verwendest du denn? Wieviele Achsen sind es?


Gruß, Onkel
 
Proportionalventile, es zeigt sich mal wieder:
'Wer lesen kann, ist stark im Vorteil" :oops:
...Tschuldigung

Das Verfahren wäre aber ahnlich ... ansteuern nur über CONT_C Stellgrad (ManupulatedValueOUT) wie der jetzt genau heißt weiß ich jetzt nicht, dann nach Möglichkeit die Bereichsgrenzen für den Stellgrad auf -100 bis 100 setzen und in den Bereichen -100 bis -5 sowie 5 bis 100 die Ventile ansteuern. Die -5 bis 5 würde ich mir als Totband reservieren, da tut die Reglung nunmal nix.

Jetzt aber mal Fußball gucken

Gruß
Ralf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich komme mit diesen CONT_C und CONT_S irgenwie nicht klar.

Ich habe einen Analogwert (Neigungssensor) der, wenn er steigt, an einen AO +0..10V abgeben soll und wenn er fällt, soll er -0..10V ausgeben.

Ich bin für jede Hilfe dankbar!!

MFG
Dierk
 
Ist das etwa kein neigungssensor sondern ein beschleunigungsgeber ???

Komme gerade nicht ganz klar mit
Ich habe einen Analogwert (Neigungssensor) der, wenn er steigt, an einen AO +0..10V abgeben soll und wenn er fällt, soll er -0..10V ausgeben.
Bitte erzähl mal näheres zum Sensor.
Gruß
Ralf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kennst du deine Anlage?

capri-fan schrieb:
Ich habe einen Analogwert (Neigungssensor) der, wenn er steigt, an einen AO +0..10V abgeben soll und wenn er fällt, soll er -0..10V ausgeben.

Ja wie nun?, macht er es nun, oder macht er es nicht? Hast du nun eine Sensor der die Neigung ausgibt oder den Drehwinkel der Achse? Kennst du eigentlich deine Anlage, sorry?

Wieviele Achsen hast du zu regeln?

Gruß Onkel
 
Schlaumeier!!

Ich habe einen Neigungssensor der eine Achse nachfahren lassen soll UND einen Drehwinkelgeber an dieser besagten Achse. Im Moment würde es mir nur reichen, wenn der Neigungssensor dafür sorgt das sich die Achse bewegt. Den Drehwinkelgeber möchte ich erst mal vergessen.

D.h. Analogwert (Neigungssensor), wenn der steigt, an AO +0..10V abgeben und wenn er fällt, soll er -0..10V ausgeben.

O.K.??

Danke aber trotzdem, wahrscheinlich war meine Formulierung nicht klar genug! :roll:

MfG
Dierk
 
Ähh ....
willst Du die Winkeländerung aus dem Winkel machen (oder so). Das wäre dann ein Differenzierer
Code:
      L     MW   100                    // Zykluszeit kummulierend
      L     #OB1_PREV_CYCLE             // Wenn das ein FC / FB wird mußt du das halt einlesen
      +I    
      T     MW   100
      L     300                         // alle 300 msek
      <I                                // den Differentiator 
      BEB                               // laufen lassen
      L     MD   106                    // Winkel vorher
      L     MD   102                    // hier muß der Aktuelle Winkel in REAL stehen
      -R    
      L     MW   100
      ITD   
      DTR   
      /R                                // wegen
      L     1.000000e+001               // 300 msek
      *R                                // auf je Sekunde
      L     3.000000e+000
      /R    
      T     MD   110                    // Winkelgad je Sekunde
      L     MW   102                    // aktuellen Winkel
      T     MW   106                    // zu vorhergehenden machen
So ging ein Differenzierer

Ich weiß jetzt aber nicht, ob es das ist was Du möchtest,
Gruß

Ralf
 
Zurück
Oben