Bahn berechnen - Sollposition

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Markus,
Ich versteh Deine Aufgabenstellung nicht.
a)Hast Du ein vorgegebenes Streckenverhalten und willst die entsprechenden Beschleunigungwerte und deren Zeitabstände berechnen.
b)Oder willst Du aufgrund vorgegebener Beschleunigungswerte, und deren zeitlichen Versatz, Kurvenwerte innerhalb eines Speicherbereiches hinterlegen
 
Hilfe!!!

So also das tut schon ganz gut, aber noch nicht perfekt...

Am besten schaut ihr euch mal die Excel im Anhang an.

Die gelben felder sind zur eingabe, der rest sind schmierereien und gerechnete werte.

wenn zb folgende parameter eingestellt sind:

Beschleunigung: 300mm/s²
Verzögerung: 300mm/s²
Geschwindigkeit: 600mm/s
Ziel*: 2000mm

*Ziel bezieht sich immer auf eine Startposition von 0


mit den parametern bekomme ich eine saubere bahn mit der sollposition, und die abgeleitete geschwindigkeit sieht auch plausibel aus.

wenn ich jetzt zb nur eine kurze fahrt habe, dann kann ich ja nicht auf v-max beschleunigen weil mir sonst der verzögerungsweg nicht ausreicht.

also wenn ich zb. den parameter ziel auf "1000" schreibe, dann sollte die geschwindigkeit eigentlich ein dreick werden. aber ich habe immer so einen zacken drin...

ich weiß das mein ansatz falsch ist, aber wo?
 

Anhänge

  • Berechnungen_BETA.rar
    11,8 KB · Aufrufe: 80
Bahn berechnen - Sollpositio

Hab mir mal überlegt ein S7 Programm zu bauen das ein Streckenverhalten
symuliert.das Programm liegt als Anhang dabei.
Folgendes Vorgehen bei Testen:
Ob35 auf 10ms Einstellen(Hardwarekonfiguration).
Alle Bausteine einspielen.
Streckensteuerung mittels beigelegter Vat (steuern und Lesen).
Bei positiver Flanke auf Start und Reset=0 begint die Symulation.
Reset setzt alle Zustände auf null und muß vor Neubegin aktiviert werden.
Alle Streckenangaben in Basiseinheiten.
a=m/S^2,V=m/s,S=M.
 

Anhänge

  • Strecken.zip
    50,4 KB · Aufrufe: 80
Zuletzt bearbeitet:
hallo,

also ich habe jetzt noch sehr gute hilfe von einem matheprofi bekommen, die excel sieht jetzt schon ganz anders aus...

das mit excel geprüfte und getestete schema werde ich nächste woche in scl umsetzen.


@bernard
kann ich den scl code mal sehen?
mir kommt der fb50 mit seinen 550k recht schlank vor, ich würde gerne mal sehen wie bzw was du machst.
hast du das nur zum "spielen" gemacht oder läuft der baustein auch im richtigen produktiveinsatz?

markus.uhl@uhltronix.com


im anhang ist meine excel berechnung.
 

Anhänge

  • BeschleunigungB.rar
    13,6 KB · Aufrufe: 161
Zuviel Werbung?
-> Hier kostenlos registrieren
kann ich den scl code mal sehen?

Der SCL Code liegt im Projekt bei.
Wenn man den Integratoreingang (#Beschleunigung_t) umrechnen und auf Analogwerte geben würde müßte es auch in der Praxis laufen.Allerdungs würde ich mir den Geschwindigkeitswert über ein Differenzierglied auf S(t) errechnen um mir den Geschwindigsmesser zu sparen.
Trotzdem kommt mir der ganze Ansatz doch etwa theoretisch vor,denn in der
in der Praxis ergibt sich die Beschleunigung=Kraft/Masse für translatorische systeme.Sodas die Beschleunigung eine Funktion der Masse und der Kraft Ist.
 
Der SCL Code liegt im Projekt bei.
Wenn man den Integratoreingang (#Beschleunigung_t) umrechnen und auf Analogwerte geben würde müßte es auch in der Praxis laufen.Allerdungs würde ich mir den Geschwindigkeitswert über ein Differenzierglied auf S(t) errechnen um mir den Geschwindigsmesser zu sparen.

das verstehe ich jetzt nicht.
ich würde in deinem fall den ausgang des integrators ("Daten_Streckenerfassung".Istwerte.V_Ist) als geschwindigkeitssollwert für den antrieb verwenden.


("Daten_Streckenerfassung".Istwerte.Strecke) wäre quasi die sollposition der achse, sie wird mit dem messwert vom positionssensor der achse verglichen.

die differenz kommt mit einem p-faktor auf die errechnete sollgeschwindigkeit.

ist die differenz zu groß weil die achse nicht folgen kann gibt es nen schleppfehler.


Trotzdem kommt mir der ganze Ansatz doch etwa theoretisch vor,denn in der in der Praxis ergibt sich die Beschleunigung=Kraft/Masse für translatorische systeme.Sodas die Beschleunigung eine Funktion der Masse und der Kraft Ist.

so wie ich das verstanden habe positionieren servoregler und motioncontrol bausteine der ganzen sps-hersteller auch nach dem prinzip.
 
ich würde in deinem fall den ausgang des integrators

Also wenn der Streckenistwert(t) differenziert wird,erhält man die Ist-Geschwindigkeit(t).Allerdings gebe ich dir recht,das der erechnete V-Wert sich auf den vorhergehenden Aufruf des OB35 bezieht,also eine Periode hinterherläuft.Bei der hohenTaktung des Ob35 ist für nicht zeitkritische Anwendungen zu vernachlässigen.
Was Siemens und andere Hersteller in der Antriebstechnik machen ist mir leider nicht bekannt.Ich gehe mal davon aus das die Dynamik deren Antriebstechnik so hoch ist das sie von einer festen Beschleunigng ausgehen können.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@Markus
Versuche gerade eine einfachere Version von deiner Idee zu verwirklichen. Die Positionierung soll mittels Lasermessung, Frequenzumformer und Analogausgang erstellt werden.

Die Bahn selbst muss nicht genau eingehalten werden, aber der Zielpunkt soll zuverlässig erreicht werden.

Während der Beschleunigung und der Konstantfahrt wird zyklisch Berechnet ob der Bremspunkt bereits erreicht ist. Wenn ja wird mit der eingestellten Rampe gebremst. Im Feinpositionsbereich wird nur noch mit minimaler Geschw. gefahren und der Antrieb abgeschaltet wenn der Zielbereich erreicht wurde.

Das Ganze funktioniert eigentlich nur:
- Verpasse ich den Bremspunkt (Zykluszeit) ist der Streckenfehler riesig. zum Beispiel vMax = 2m/s und Zykluszeit 5ms -> Fehler Bremspunkt 10mm
- Versuch ich die Rampe während der Bremsphase zu korrigieren dauert die Schleichfahrt ewig.

Wie korrigiere ich den Fehler des Bremszeitpunktes während der fahrt??
 
@Flash (u evtl. noch Markus)

Habe Dir mal eine PDF angehängt, in der beschrieben wird, wie man das mit den Rampen usw. machen kann.

Insbesondere die Seiten 10 und 11 könnten für Dich interessant sein.
 

Anhänge

  • Achsregelung.pdf
    390,1 KB · Aufrufe: 243
Interessant... Danke Grubba

Also wenn ich das richtig verstanden habe ist wird hier die Istposition gar nicht berücksichtigt... es wird vorausgesetzt dass das Sytem dem Sollwert folgen kann.

Ich gebe vSoll in % aus brauche aber eine Angabe in m/s. -> Es muss parametriert werden wieviel 100% in m/s entspricht.
-> Wenn diese Angabe nicht genau stimmt, liege ich mit der Sollpositionsberechnung daneben und somit auch mit der Beschl.-berechnung usw.

Wäre es nicht sinnvoller die Istposition anstelle einer berechneten Sollposition für die Restwegberechnung zu verwenden??
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also wenn ich das richtig verstanden habe ist wird hier die Istposition gar nicht berücksichtigt... es wird vorausgesetzt dass das Sytem dem Sollwert folgen kann.

jepp, so ist es.
aber die vorgegebene sollposition und die tatsächliche istpoition werden verglichen. die differenz gibt den "schleppabstand" an.

ist der schleppabstand zu groß, dann gibts eine schleppfehlerstörung
 
Es lebt!!!

Danke Euch für die nützlichen Tipps...

Der Vorteil dieser Methode ist das der Punkt immer genau angefahren wird, allerdings wird die Bremsrampe nur bedingt eingehalten.

Ich berechne die Zykluszeit innerhalb meines Bausteines (sfc64), so muss ich mir keine Gedanken machen in welchen abständen das Ding aufgerufen wird. Die Wiederholgenauigkeit ist auch gegeben und die ganzen Berchnungen sind auch einfacher als bei meinem Ansatz (Bremspunkt berechnen und allenfalls korrigieren).

mfg
 
.....
ich will ganz bewusst den obigen weg mit dem bahnsollwert gehen/versuchen. mal sehen was so ne 319er mit <5ms zkluszeit alles kann...

das gehört nicht direkt hier ein, aber wenn du ne schnelle CPU willst kuck mal bei Vipa. Die sind 100% kompatibel und da reicht ne 315 um auf 1ms zu kommen.Hab ich gute Erfahrungen.

Gruß Philip
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute!
Ich bin gerade dabei selber ein Rampenbaustein zu schreiben.

Durch die vorherigen Disskussionen bin ich auch schon etwas vorran gekommen, nur komme ich jetzt nicht weiter:

Ich habe auch die drei Phasen:
1. Beschleunigung (Positiv)
2. konstante Fahrt
3. Beschleunigung (Negativ)

Die Zeiten- und Wegstreckenberechnungen für die drei Phasen bekomme ich hin.
Jetzt habe ich Probleme mit der Realisierung der aktuellen Position etc.

Ich bekomme von meinem Antriebsgerät eine Istposition zurück.
Meine Zykluszeit beträgt 2ms.
Wie würdet ihr das jetzt realsisieren?
Mein Motor soll ja jetzt langsam starten - konstant fahren - abbremsen.

Im Anhang das, was ich schon habe... Vielleicht blickt da jemand durch und kann mir irgendwie weiter helfen. DANKE.

Anhang anzeigen Rampe.txt
 
Zurück
Oben