Software - Positionierung

Lazarus™

Level-2
Beiträge
434
Reaktionspunkte
52
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe einen Inkrementalgeber über Profibus und momentan einen normalen Asynchronmotor an einem FU. Die Stopposition ist eine Nocke. Das Problem ist, das der Tatsächliche Stoppunkt von Geschwindigkeit und Rampen abhängig ist. Gibt es einen Positionierbaustein oder sowas damit ich prktisch immer einen Festen und gesicherten Stoppunkt habe oder sollte ich lieber den FU über eine FM343 oder sowas fahren ??? Wie gesagt an der Anlage gibt es einen Drehgeber, welcher nach jedem Kettentakt wieder genullt wird... Ich dachte einen Baustein zu basteln, der abhängig von den Rampen und der Geschwindigkeit ein wenig kalkuliert und den FU Steuer, mir ist aber nicht klar, ob das eine gute Lösung ist. Bei der Positionierung kommte es auf 1-2 mm nicht an...

Danke
 
Hallo Lazarus!

Ich löse das meistens so:
Ich definiere 2 Geschwindigkeiten für den FU.
Anhand der Soll-/Istposition lässt sich der Restweg berechnen.
Sinkt der Restweg unter eine definierte Schwelle (Positionsfenster für langsam, z.B. 50 mm vor Zielposition), lasse ich den Umrichter auf die langsame Geschwindigkeit herunterschalten.
Sinkt der Restweg dann unter eine zweite Schwelle (Genauhalt-Fenster, z.B. 3 mm), wird der Umrichter gestoppt.

Je nach geforderter Taktzeit und Genauigkeit muss man dann die Geschwindigkeiten und Bremsrampen einstellen.
Das ganze lässt sich auch mit mehr Geschwindigkeiten und Positionsschwellen machen.


mfg
Max
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

erstmal was hast Du für eine CPU ??????

zB. eine 313C oder 314C hat solche Funktionen schon drin.
Eine 317T hat auch schon fertige Bausteine drin.

Ansonsten kann man auch mit Easy Motion Control 2.0 arbeiten.

@ Maxl

Wenn ich einen FU habe dann ist Deine Lösung mit 2 Stufen nicht das gelbe vom Ei außer das man sich den AA spart.
Zwei Geschwindigkeiten sowas macht man mit Dahlander oder 2 getrennte Wicklungen.

Gruß
 
Anonymous schrieb:
Zwei Geschwindigkeiten sowas macht man mit Dahlander oder 2 getrennte Wicklungen.

Warum eine teure unflexible Lösung, wenn es mit Standard Motor und FU so einfach ist? So wie es Max beschreibt ist es bewährte Praxis und für viele Anwendungen ausreichend genau. Für dynamischere Prozesse empfehle ich aber richtige Positionierer. Die Mehrkosten hast durch die schnellere und einfachere Inbetriebnahme sind schnell wieder kompensiert.

smoe
 
Anonymous schrieb:
Hi

erstmal was hast Du für eine CPU ??????

zB. eine 313C oder 314C hat solche Funktionen schon drin.
Eine 317T hat auch schon fertige Bausteine drin.

Hast Du sowas schon mal eingesetzt und selbst programmiert?
Und wenns Probleme macht diagnostiziert?
Da ist die Sache mit dem FU und 2 oder 3 Geschwindigkeiten doch noch wesentlich einfacher.

Abgesehen davon: wie bindest Du bei 313C oder 314C den Bus-Geber in das C-Positioniersystem ein???????
Ist Dir außerdem klar, dass die 317T für Simodrive Antriebe gedacht ist, und nicht für 0815-Umrichter.


Anonymous schrieb:
@ Maxl

Wenn ich einen FU habe dann ist Deine Lösung mit 2 Stufen nicht das gelbe vom Ei außer das man sich den AA spart.
Zwei Geschwindigkeiten sowas macht man mit Dahlander oder 2 getrennte Wicklungen.

Hmm, wer setzt bitte heutzutage noch Dahlandermotoren ein?
Ein 0815-Umrichter und ein normaler Kurschlussläufer-Motor ist unterm Strich billiger und flexibler.

Abgesehen davon:
Was mache ich, wenn die langsam-Geschwindigkeit beim Dahlander zu groß ist um genau zu positionieren??????



mfg
Max
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast Du sowas schon mal eingesetzt und selbst programmiert?
Ist Dir außerdem klar, dass die 317T für Simodrive Antriebe gedacht ist, und nicht für 0815-Umrichter.

Nein natürlich nicht bin ein 0815 Programmierer.
Das überlasse ich besser anderen Spezi's


Außerdem war meine Kritik nicht der FU sonder das Du wenn Du schon einen FU hast sowas mit 2 Stufen regelst. -> traurig.

Warum eine teure unflexible Lösung, wenn es mit Standard Motor und FU so einfach ist? So wie es Max beschreibt ist es bewährte Praxis und für viele Anwendungen ausreichend genau. Für dynamischere Prozesse empfehle ich aber richtige Positionierer. Die Mehrkosten hast durch die schnellere und einfachere Inbetriebnahme sind schnell wieder kompensiert.

Du hast mich auch nicht verstanden.
Bitte keine Empfehlungen und keine Preise davon wissen die meisten noch weniger.

Gruß
 
Hallo Gast,
das wird auch bei uns oft so gemacht an Anlagen bei denen keine AA vorhanden warum also für so was extra einen AA anschaffen wenn es auch anders geht ?
Lazarus,
Aber ob du die 1-2mm hinbekommst ist eine andere Sache bei stark wechselnden Lasten ist das schon ein Problem .Ich habe vor kurzem einen FU von Eurotherm einsetzen müssen für den genau selben Zweck hatte am Anfang U/F eingestellt und bekam einfach nicht die nötige Genauigkeit hin bis ich nochmals mit Eurotherm telefoniert habe und die Sache auf Sensorlose Vektorregelung Umgestellt habe danach ging es viel besser aber
Bis zu 5 mm Fehler habe ich immer noch .
Es wird aber immer öfter dem FU die Positionierung überlassen geht mit SEW sehr gut und leicht.

HDD

PS Seit nett zueinander
 
Anonymous schrieb:
Außerdem war meine Kritik nicht der FU sonder das Du wenn Du schon einen FU hast sowas mit 2 Stufen regelst. -> traurig.

warum? Wenn die Genauigkeit auf diese Art und Weise ausreicht ist das kein Problem, und vor allem sehr schnell programmiert.

Klar ließe sich ein selbstgeschriebener Software-Lageregler, der die Position exakt ausregelt, für sowas auch einsetzen, aber das machen wir seit 1998 nicht mehr. In diesem Fall finde ich es viel einfacher, ein fix und fertiges Ding zu verwenden.

SEW hat mit dem Movidrive sowas im Angebot, wo ich Asynchronmotoren genauso wie Synchronmotoren positionieren kann; mit den B&R Acopos gehts auch prima!


mfg
Max
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1 mm wirlich kein Problem und das mit einfachem Asynchronmotor.

Man nehme

Easy Motion Control wenn man 0815 ist so wie ich :)
oder
die SFB's auf der CPU wenn man ein Spezi ist wie so viele :shock:

und folgende Hardware als Beispiel.

CPU 314C-2 DP
Micromaster 440
Profibus-Anschaltung für MM440 (muß aber nicht sein)
Impulsgeberbaugruppe für MM440 (da ist der Zaubertrick drin)
Bremswiderstand für MM440
Inkrementalgeber

usw.

Alle Angaben erfolgen ohne Gewähr wie beim Lotto weil, ich nicht der absolute Crack bin.

Gruß
 
Hallo Gast
wie oben geschrieben nehmen wir immer öfter den Fu und eine ganz billige einfache CPU auch ohne Profibus und eine kostenlose Software
von SEW für die Programmierung und Inbetriebnahme und da geht's natürlich genauer aber warum soviel Geld ausgeben wenn einem 5-10mm
genügen. Den die Optionkarten kosten auch Geld.

HDD
 
Danke für die vielen Ideen, aber:

Ich habe bereits einen Lenze FU und Asynchronmotor in der Anlage. FU ist am Profibus. Der Geber ist auch am Bus, ist generell für eine andere Funktion (Software - Nockenschaltwerk). Mein Problem ist nicht die ungenauigkeit generell (+-3 oder 4mm reicht), sondern die Start-Stoprampen und Geschwindigkeitsabhängigkeit. Ich möchte mein Ziel erreichen immer an der selben Stelle und will eigentlich nur die Abhängigkeit zu den Rampen und der Geschwindigkeit kompensieren. CPU ist eine 315-2DP... Ich dachte nun an eine FM354 ???
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hat der fu einen bremswiderstand?
also ich bin mir sicher das man das auch ohne diese fm354 hinbekommt.

was heisst geschwindigkeitsabhängig?
ist die nicht konstant?
muss sie variabel sein? wieso nicht immer V-max?

wenn der fu am bus ist, dann ist das thema mit den festfrquenzen über das oben diskutiert wurde nicht relevnt?
bzw. du kannst den sollwert stufenlos übern bus geben?


ich würde das in etwa so machen:

// ### Geschwindigkeitkompensation
L V
L Faktor
*I
T V_Komp


// ### Rampe berechnen

L Weg_Rampe
L V_Komp
-I
T Rampe

L Rampe
L Istpos
<=I
Bremsen


L V

U Bremsen
SPBN M001

V prozentual zu Differenz von zwischen Differenz und Rampe berechnen.

M001: T V


l 10 // min 10 % von V wegen drehmoment
<i
spbn M002
T V
M002: nop 0




wichtig wäre meiner meinung aber ein bremswiederstand (je nach umrichter zusätzliche bremseineheit!) wenn du solche lasten positionieren willst.
 
Also die Geschwindigkeit kann ich komplett über den Bus machen,kann also Stufenlos arbeiten. Im Moment ist die Stopposition eine feste Schaltnocke mit Ini,deshalb ist es problematisch,die Rampen,oder die Geschwindigkeit zu verändern, da die Stopposition stark variiert. Der Fu hat einen Bremswiderstand.Alles passt mit festen Rampen und fester Geschwindigkeit. Es ist eine Mitnehmerkette,worauf Becher transportiert werden (im Moment festes Produkt) nun will der Kunde auch flüssige Dinge in die Dosen haben, und muss deswegen die Rampen, oder die Geschwindigkeit ändern. Aber die endgültige Stopposition muss immer die gleiche sein und das ist sie nicht im Moment....
 
ähh..
also mal vereinfacht gesagt:

du fährst bis auf den ini, und stoppst dann?
dadurch wird der ini etwas überfahren. bei hohen geschwindigkeiten eben mehr.

ist das so richtig?


wieso der ini? du hast doch einen inkrementalgeber an dem motor?

nimm den ini doch nur als referenzschalter irgendwohin.

die inkremente die du übern bus bekommst kannst du in der sps in cm normieren. und dann über einen einfachen positionierer solagnge fahren bis der istwert = sollwert - toleranz ist.

um eine bessere punktlandung zu erreichen machst du eine ziehlbremsung wie unten.


also mit einem ini zu positionieren wenn die geschwindigkeiten variabel sind halte ich für unmöglich. aber wie oben geschriebn. nimm doch den geber und vergiss diesen ini...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja, man muss nur sicherstellen das der INI immer mit der selben langsamen Positioniergschwindigkeit angefahren wird.
Also viel Zeit ins programmieren und austesten stecken oder viel Geld in einen "richtigen" Positionierer.

smoe
 
was habt ihr nur immer mit diesem ini?

wer braucht den wenn er einen antrieb mit geber hat den die sps auswerten kann?

bei +-4mm sehe ich da kein problem.

aufwendig zu schreiben ist der positionierbausten auch nicht:


l istwert
l sollwert
-i
sppz pos
negi
pos: t differenz


l istwert
l toleranz
<=i
= In_pos



l istwert
l sollwert
<i
un in_pos
= plus

l istwert
l sollwert
>i
un in_pos
= minus


l differenz

... hier abhängig von der diffrenz und geschwindigkeitskompenstion die ziehlbremsung starten...


wenn man noch ein paar zeilen dazu tippt und die abweichungen auswertet, kann man das teil noch exakter positionieren beim nächsten mal. diese routine muss beim einschalten und wie geschwindikeits oder sollpos änderungne initialisiert werden...
 
ich würde Istwert durch Differenz ersetzen im 2. Block, sonst müßte Toleranz ein absoluter Wert sein und man kann nur eine Positon anfahren
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also bei großen Anlagen, mit einfachen FU hatten wir immer 2 Nocken, einen zum Umschalten auf langsam und einen für Halt. So war immer gewährleistet, daß der Haltnocken mit gleicher Geschwindigkeit angefahren wird und die Haltposition konstant ist. Das geht mit FU und auch mit Motoren mit mehreren Wicklungen und Dalanderschaltung, FU fährt halt Rampen und damit nicht so "ruppig".
 
AliBaba schrieb:
ich würde Istwert durch Differenz ersetzen im 2. Block, sonst müßte Toleranz ein absoluter Wert sein und man kann nur eine Positon anfahren

ja richtig, war ein tippfehler...

l differenz
l toleranz
<=i
= In_pos
 
Ja,danke... Das Problem ist in der Tat ein Ini, so wurde es eben vor Jahren mal projektiert... Ich habe mich nu für eine Positionierbaugruppe entschieden, obwohl ich die Softwarelösung von euch auch gut finde. Ich gehe jedoch trotzdem auf Nummer sicher, um alle Eventualitäten auszuschliessen, da ich nicht weiss, was der Kunde morgen machen will, es wechselt eben ständig. Danke für die Supi-Tips... :)
 
Zurück
Oben