FU anhand Inkremente runterfahren

Waelder

Level-2
Beiträge
964
Reaktionspunkte
117
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Kollegen,

ich möchte einen FU (Bandantrieb) anhand von incrementen runterfahren, sprich eine position annähernd mit null anfahren.
Ursprünglich war dass so, dass der FU zwar irgendwann den befehl bekommt "Halten" er rampt selbst aus, aber überfährt oder unterfährt gelegentlich und muss von der Positionierung ev abrupt angehalten werden. Mein Gedanke ist nun ab einer bestimmten position mit hilfe von einer Rampe via inkrementalgeber dass ding runterzufahren.
Die position und die umrechnerei mit den incrementen bekomm ich schon auf die reihe aber die Rampe.....da langt mein hirnschmalz wohl grad nicht.
Hat da wer ein tipp ?

Hardware : 315CPU, ET200S 1 COUNT 24V/100 kHzC, MM420

Danke schon vom Wälder

Anhang meine gedachte Rampe
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    12,5 KB · Aufrufe: 291
Vorschlag:
Frequenz = ABS(Sollposition - Istposition) * Faktor

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das wird so nicht ganz klappen.
der motor wird sich ab einer gewissen frequenz nicht mehr bewegen. abhängig von z.b. reibungsverlusten. ich denke nicht, dass du die immer 100% gleich halten kannst.
vorschlag:
ab einer gewissen position vor der sollpos lässt du den umrichter langsam fahren aber immer noch so schnell das er sich sicher bewegt.
an der sollpos (evtl auch schon kurz davor, wegen nachlauf) stoppst du den umrichter ohne rampe
 
Würde an Deiner Stelle das ganze nicht von Hand machen, sondern das per PID Regler machen. Die Zielposition ist Dein Sollwert, die Istposition Dein Istwert und Deine Reglerbegrenzung so einstellen, das Deine Maximalfrequenz nicht überschritten wird.

So wird z.B. eine Positionsabweichung durch evtl. Herausdrücken der Achse im Stillstand automatisch ausgeglichen, ohne das Du auch nur eine Programmzeile ändern musst.
 
Bei einfachen Positionier-Aufgaben habe ich mit etwas ähnlichem, wie der Vorschlag von Volker sehr gute Erfahrungen gemacht. Du kommst nicht zu 100% ins Ziel, aber doch schon sehr nahe dran.

Gruß
LL
 
Ich macht das mit dir folgende code
Code:
      L     #RestafstandRemweg          //DINT
      DTR   
      L     #TotaleRemweg               //DINT
      DTR   
      /R    
      SQRT  
      L     #MaxSnelheid                //INT
      ITD   
      DTR   
      *R    
      RND   
      T     #Snelheid                   //INT

Hiermit bekomt du eine liniare beschleunigung.
Wehn Sie das ohne die SQRT mach brems die regler in anfang viel zu snel mit dass risico dass du ein fehler bekomst wegen zu hoge schiessenkreisspannung.

Joop
 
Ich wollte wissen was mechanisch passiert , was bewegst du von wo nach wo , grosse Lasten oder nicht , kannst du mal kurz beschreiben was den Anlagenteil ausmacht bzw. was er bezwecken soll und wo deine Problematik anlagenbezogen liegt?

@JoopB meinte Dich nicht , sorry...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mechanik der Anlage

@tonga

Also :

Förderband zum Transport von Material unterschiedlicher Länge, das Material muss immer mittig auf dem Förderband liegen, da der Nachfolgeprozess das Material relativ mittig (+-5mm) benötigt.

Förderrichtung >>>>>>>>>>>>>>>>>>>>>>>>>>>>

LS
| . . . . [_____] <---Material
. (´´´´´´´´´´´´´´´´) <---BAND
. . . . . . .|
. . . Mittelposition

(die pünktchen haben nichts zu sagen die brauch ich hier als füller weil lerrzeichen ist nicht)

So ich hoffe den Prozess ein wenig aufgezeichnet zu haben. Das Material hat von ca 5kg bis ~45kg. Der Motor ist 0,37 und hat ein Getriebe mit Schnecke. Also nix gravierendes mechanisches.

@Volker
an diese Idee habe ich auch schon gedacht es scheint mir auch sinnvoll.

@MSB
wenn ich noch einen kleinen offset dazurechne dann würgts den FU
u.U. nicht ab.

@JoopB
diese Formel sieht interessant aus diese werde ich auf jeden Fall testen.

Werds morgen früh mal austesten.
 
JoobP hat Recht,
diese Formel oder ähnlich in abgewandelter Form wird bei uns auch standardmässig für Positionieraufgaben verwendet. Die Formel ist von der Formel V = sqrt(2 * a * deltaS) abgewandelt und dient der Linearisierung sodas mit konstanter Verzögerung gebremst werden kann.
Es wird dadurch auch vermieden, dass die Verstärkung am Anfang zu gross und am Ende der Positionierung zu klein ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ab einer gewissen position vor der sollpos lässt du den umrichter langsam fahren aber immer noch so schnell das er sich sicher bewegt.
an der sollpos (evtl auch schon kurz davor, wegen nachlauf) stoppst du den umrichter ohne rampe

da du unterschiedliche Massen fährst würde ich zusätzlich nen kleinen DB basteln in dem verschiedene Parameter materialabhängig hinterlegt werden können , sei es rampen, geschwindigkeiten , wegeinheiten ,nen faktor oder wie auch immer...

Gruss tonga...
 
JoobP hat Recht,
diese Formel oder ähnlich in abgewandelter Form wird bei uns auch standardmässig für Positionieraufgaben verwendet. Die Formel ist von der Formel V = sqrt(2 * a * deltaS) abgewandelt und dient der Linearisierung sodas mit konstanter Verzögerung gebremst werden kann.
Es wird dadurch auch vermieden, dass die Verstärkung am Anfang zu gross und am Ende der Positionierung zu klein ist.


kannst du mir das mal etwas genauer erklären?
was ist "a" - die Strecke der Bremsrampe?


also ich mach das normalerweise so:
- Verfahrweg der Achse 1000mm
- Bremsrampe 80mm

Bis 920mm fährt die Achse mit V-Max
ab dann vird der Sollwert veringert.

Dazu wird der restweg in % umgerechnet (80mm = 100%) für die Geschwindgkeit gilt das selbe (V-Max = 100%)

nun wird die Geschwingkeit von 100% auf 0% veringert, abhängig davon wie sich die Position veringert.

bevor der Sollwert auf den FU gegeben wird, kommt noch eine Grenzwert überwachung. zum einen wird der Sollwert auf >Maximaldrehzahl und vor allem auf einen minimalwert überwacht. angenommen 5% würde 20U/min ensprechen, und der untere grenzwert ist 20U/min, dann würde die geschwidigkeit nicht mehr langsamer als 20U/min, auch wenn der positionierer was anderes sagt.
Gerade Asynchronmotoren brauchen eine Minimalfrequenz um überhaupt gefahren werden zu können...
 
Die bremsweg ist 80mm bij anfang bremse haben wir 100% geschwindgkeit
wehn wir nog 40mm fahren mochte must der geschwidgkeid ((40/80)^-2)*100%=70,71% bij 20mm restweg ist das ((20/80)^-2)*100%=50% ,bei 10mm =35% , bei 1mm =11% bei 0.5 mm =7,9%
Mit diese formule bekomme Sie eine liniare ramp.
Wenn Sie die formule Bremsweg/restweg*100% geschwindkeid gebraucht bekomst du eine rampe welche in anfang schnell nach unten geht und an ende gans vlak ist. (Mit grosse geschwindkheid wurd eine grosse weg/sec abgelegd und mit kleine eine kleine weg/sec)
 
Ich habe eben überlegt, es wäre doch sinnvolle dem ganzen noch eine art "d-anteil" zu überlagern.

ist der bremsweg zb. 100mm, aber die diferenz zur neuen sollposition ist nur 20mm, dann ist der sollwert vom regler ggf. zu wenig um am motor (asynchron ohne vektorregelung) das notwendige anfahrdrehmoment aufzubauen.

deshlab würde ich den sollwert bei einer neuen sollposition erstmal auf 100% schalten, diesen aber relativ schnell (zb 100ms) über die selbe rampe wieder abbauen.
 
@Markus,
"a" ist die Verzögerung bzw. Beschleunigung.
die Formel lässt sich wie folgt herleiten.
1. V = a * t => t = V/a
2. S = 1/2 * a * t^2
=> S = 1/2 * V^2/a
=> V^2 = 2 * a * S
-------------------
Bei konstantem a was einem konstantem Bremsmoment der Maschiene bzw konstamtem Bremsstrom entsprechen würde wird die Geschwindigkeit in Abhängikeit von der Zeit linear ensprechend einer Geraden Abgebaut und zu Null geführt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
:confused: Vielleicht ist es noch nicht so richtig aufgefallen ...

In der Aufgabenstellung ist nicht von einem Servo-Motor die Rede, der unabhängig von der Drehzahl immer ein relativ konstantes Drehmoment liefert sondern von einem Drehstrom-Asynchron-Motor. Ein solcher Motor hat bei niedriger Drehzahl ein kleines Moment und bei hoher Drehzahl ein großes Moment (mal ganz einfach gesprochen).

Somit läßt sich aus meiner Sicht die Sache mit dem Restweg-abhängigen Sollwert hier nur bedingt machen. Es wundert mich ein bißchen, dass das außer von Volker (Beitrag #3) und Markus sonst von Niemanden erkannt worden ist ...

Guß
LL
 
:confused: Vielleicht ist es noch nicht so richtig aufgefallen ...

In der Aufgabenstellung ist nicht von einem Servo-Motor die Rede, der unabhängig von der Drehzahl immer ein relativ konstantes Drehmoment liefert sondern von einem Drehstrom-Asynchron-Motor. Ein solcher Motor hat bei niedriger Drehzahl ein kleines Moment und bei hoher Drehzahl ein großes Moment (mal ganz einfach gesprochen).

Somit läßt sich aus meiner Sicht die Sache mit dem Restweg-abhängigen Sollwert hier nur bedingt machen. Es wundert mich ein bißchen, dass das außer von Volker (Beitrag #3) und Markus sonst von Niemanden erkannt worden ist ...

Guß
LL

naja bremsen übern ein gerade von 100- 0 geht sicher nicht.
ggf. wenn der minimalwert (zb 20) abgefangen wird - siehe einen beitrag von mir weiter vorne.

aber im prinzip wird das ja durch diese formel recht gut gelöst.
der bremswer ist keine gerade mehr sondern exponentiell, der geschwindigkeitssolwert wird gegen ende ja nur noch sehr schwach abgebaut.

in der excel die ich gebastelt (ja sie ist wirklich nicht schön :) ) sieht man das ganz gut. von dem her sollte das mit einem asynchronmotor schon gehen.


aber ich sehe ein problem beim anfahren wenn die distanz eben nur sehr klen ist und die geschwindigkeit somit sehr klein ist. ich vermute aber das man das mit dem oben beschriebenen "d-anteil" auch in den griff bekommt.
 
:confused: Vielleicht ist es noch nicht so richtig aufgefallen ...

In der Aufgabenstellung ist nicht von einem Servo-Motor die Rede, der unabhängig von der Drehzahl immer ein relativ konstantes Drehmoment liefert sondern von einem Drehstrom-Asynchron-Motor. Ein solcher Motor hat bei niedriger Drehzahl ein kleines Moment und bei hoher Drehzahl ein großes Moment (mal ganz einfach gesprochen).

Somit läßt sich aus meiner Sicht die Sache mit dem Restweg-abhängigen Sollwert hier nur bedingt machen. Es wundert mich ein bißchen, dass das außer von Volker (Beitrag #3) und Markus sonst von Niemanden erkannt worden ist ...

Guß
LL

Die Aussage über den Drehstom Asynchonmotor stimmt so nicht wenn er über einen FU betrieben wird.

Die Formel erfüllt exakt die Forderung, die im Thread-Start angehängten Grafik, skizziert wurde. Dabei handelt es sich um eine Positionierung. Im Walzwerksbereich, aus dem ich komme verwendet man sowas um ein Coil, das durchaus mehrere 1000m lang sein kann cm-genau und reproduzierbar am Stichende stillzusetzen (Stillsetzautomatik).

Beste Grüsse
Martin
 
Zuletzt bearbeitet:
Zurück
Oben