Achsen gleichlauf in SCL realisierren

Andre K

Level-2
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe die Überlegung 2 Achsen gleichzeitig zu starten, und so zu steuern, dass beide Achsen gleichzeitig am Ziel ankommen.

Normalerweise nimmt ja eine Movi-PLC die sowas regelt. Aber sowas habe ich leider nicht zur Verfügung.

Ich möchte die schnellere Achse soweit in Rampe und Geschwindigkeit drosseln, dass sie die gleiche Zeit braucht wie die langsamere.
Die Beschleunigungs- und Verzögerungsrampe können unterschiedliche Werte haben.

Gibt es da irgendwo eine Bibliothek oder Beispielcode?
 
Die Movi-C bieten doch eine Gleichlauffunktionalität. Wir setzen an unseren Hubwerken zwei Servomotoren für einen Gleichlauf ein ( Movidrive B, interner Synchronlauf ),
Master + Slave. Und das alles ohne MOVI-PLC
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe mich, glaube ich, nicht richtig ausgedrückt.

Ich habe zwei unterschiedliche Achsen.
X-Achse (Fahrachse)
Y-Achse (Hubwerk)

Jetzt sollen beide Achsen immer Zeitgleich am Ziel ankommen.
Weg, Rampen und Geschwindigkeit sind unterschiedlich.

Es muss erst ausgerechnet werden welche Achse die schnellere ist.
Dann muss die Achse soweit eingebremst werden, dass sie genauso lange wie die langsamere braucht.
 
Und wo ist das Problem? Rechne aus welche Zeit deine langsamste Achse braucht, die schnellere rechnest du dann mit der Zeit von deiner langesamen Achse aus.
Mal ganz grob als Bild : langsame Achse 1m in 30 sec = schnelle Achse 1,5m in x sec. d.h. du hast 2 Gleichungen um x auszurechnen.
Die Beschleunigung/Rampenzeit kannst du ja frei wählen bei der langsamen Achse.

p.s. Je nachdem wie klein/groß dein Motor und die Last dahinter sind, kannst du die Beschleunigung/Startrampe eventuell sogar vernachlässigen, wenn du einschaltest und du quasi ad hoc auf Soll-/Nenndrehzahl bist.
Dann brauchst du nur die entsprechnde Geschwindigkeit für den schnellen Motor ausrechnen und parametrieren.
 
Zuletzt bearbeitet:
Es gibt zig tausend Varianten von "Gleichlauf".

Geschiwndigkeitsgleichlauf, Positionsgleichlauf, Getriebegleichlauf....

Dazu kommen noch weitere Punkte: Wie aufsynchronieren ? Wie absynchronisieren ?

In der Simotion würdest du für einen Positionsgleichlauf den Befehl enableGearing() verwenden, Eingang SynchronizingMode := IMMEDIATLEY_AND_SLAVE_POSITION oder ON_MASTER_AND_SLAVE_POSITION.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe mich, glaube ich, nicht richtig ausgedrückt.

Ich habe zwei unterschiedliche Achsen.
X-Achse (Fahrachse)
Y-Achse (Hubwerk)

Jetzt sollen beide Achsen immer Zeitgleich am Ziel ankommen.
Weg, Rampen und Geschwindigkeit sind unterschiedlich.

Es muss erst ausgerechnet werden welche Achse die schnellere ist.
Dann muss die Achse soweit eingebremst werden, dass sie genauso lange wie die langsamere braucht.

Da faellt mir spontan der Regalbediengeraete- Baustein fuer optimierte Verfahrprofile ein:
https://support.industry.siemens.com/cs/ww/de/view/109753848

Der ist jetzt schon recht maechtig (der hat unterschiedliche Modi - z.B. kannst Du nicht nur interpolierend fahren, sondern man kann bei langen Fahrten des Fahrwerks die Hubachse zeitverzoegert heben um z.B. die Bremsenergie des Fahrwerks zu nutzen (oder auch die Motorbremse des Hubwerks bei langen Fahrten des Fahrwerks zu schliessen um Energie zu sparen usw.)

Wenn Dir der Baustein in seiner Funktionalitaet zu weit geht, kannst Du auch die Motionauskunft- FBs nutzen (die berechen Dir z.b. wie lange ein Positionierauftrag dauert, oder welche Beschleunigung Du vorgeben musst, damit Du zum Zeitpunkt x ins Ziel kommst usw.)
https://support.industry.siemens.com/cs/ww/de/view/109475569
 
Zuletzt bearbeitet:
Zurück
Oben