TIA MC_Velocity Zyklische Drehzahl-Änderung

litlegerman

Level-2
Beiträge
336
Reaktionspunkte
13
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
Ich habe hier mehrere Antriebe an einem Sinamics S120 System.
Die meisten Achsen sollen hier Positionieren, ich wollte hier mit Technologieobjekten arbeiten... es funktioniert auch soweit ganz gut.
Gibt es eine Möglichkeit z.B. beim MC_Velocity die Drehzahl in jedem Programmzyklus neu zu übergeben?
Wenn ich richtig verstanden habe, wir der Wert angenommen, wenn ich den Execute Eingang Triggere?! Gibt es hier keine Möglichkeit den Sollwert fießend zu übernehmen?

Gruß
 
wenn man nicht triggern möchte, sollte MC_MoveJog geeignet sein.
der move_vel mit stetiger sollwertübergabe (MC_MotionInVelocity) gibt es nur bei der 1500T
 
Wenn ich es noch richtig im Kopf habe, ist es ein Parameter an deinem TO_OBJEKT.
Das ist ja am Ende aus Sicht des Programms auch nur ein DB.

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
Ich habe hier mehrere Antriebe an einem Sinamics S120 System.
Die meisten Achsen sollen hier Positionieren, ich wollte hier mit Technologieobjekten arbeiten... es funktioniert auch soweit ganz gut.
Gibt es eine Möglichkeit z.B. beim MC_Velocity die Drehzahl in jedem Programmzyklus neu zu übergeben?
Wenn ich richtig verstanden habe, wir der Wert angenommen, wenn ich den Execute Eingang Triggere?! Gibt es hier keine Möglichkeit den Sollwert fießend zu übernehmen?

Gruß
Das geht ganz einfach, indem du 2 MC_Velocity Instanzen im Wechselpuffer betreibst. Die Instanz ist unterschiedlich, die Eingänge identisch, der Eingang 'execute' hat das gleiche Signal einmal direkt angeschaltet und einmal invertiert. Dieses Signal toggelst du zyklisch.
 
Ich würde den Velocity Override nehmen. Der geht immer.
Da gibt es eine Variable TO.VelocityOverride (oder so ähnlich), die mit 100.0 % vorbelegt ist. Wenn Du jetzt eine Geschwindigkeit von z.B. 5000 mm/s vorgibst und den Override auf 70.0 % setzt, fährt die Achse mit 3500 mm/s.
Du könntest also immer mit Maximalgeschwindigkeit vorgeben und dann mit dem Override adaptieren. Dann braucht man auch nicht nachtriggern, sondern der Override wird im jeden Zyklus neu übernommen.
 
Ich würde es wie @maxder2te machen. Dem TO ist es egal ob er die Commands aus ein MC instanz bekommt oder aus mehreren. Aber es darauf zu acjtrn, das die commands nicht zu oft getriggert werden bzw. Zumindest überprüft wrrden, ob die anderen Instanzen noch in der Ausführung sind.
Auch würde ich davon abraten, das über den Override zu machen, weil das nocht dem Sinn eines Override entspricht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde es wie @Mirko123 machen!!!

Für eine zyklische Geschwindigkeitsänderung ist das genau das richtige.
- Es belastet das System nur minimal im Gegensatz zum ständigen neueinstellen und damit auch abbrechen von Motion-Aufträgen.
- Der Programmieraufwand hält sich in Grenzen
 
Da gibt es eine Variable TO.VelocityOverride (oder so ähnlich), die mit 100.0 % vorbelegt ist. Wenn Du jetzt eine Geschwindigkeit von z.B. 5000 mm/s vorgibst und den Override auf 70.0 % setzt, fährt die Achse mit 3500 mm/s.
Du könntest also immer mit Maximalgeschwindigkeit vorgeben und dann mit dem Override adaptieren. Dann braucht man auch nicht nachtriggern, sondern der Override wird im jeden Zyklus neu übernommen.
Das hört sich gut an!
Funktioniert das auch mit Richtungsänderung, also läuft die Achse andersrum, wenn ich einen negativen override vorgebe?
Gruß
 
Zurück
Oben