TIA Differenzdrehzahl zweier S210 auf eine Virtuelle Achse übertragen

BeBe

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag SPS-Künstler,

ich habe zwei S210 Servomotoren. Diese Laufen als Master und Slave Achse (Modulo aktiviert mit 0° - 360°).
Die Slave Achse kann auf die Master Achse synchronisiert werden.

In gewissen Betriebszuständen entsteht eine Relativgeschwindigkeit (+ und -) zwischen den beiden Achsen.
Die Relativgeschwindigkeit sorgt für einen gewollten Hub (+ und -) einer Zugstange.

Idee:

Die Differenzgeschwindigkeit [°/s] soll auf eine virtuelle Achse aufgespielt werden (Modulo deaktiviert).
Mit der Position der Achse (Bsp. : 1000° = 25 mm) kann der Hub berechnet werden.

Das Problem ist:

Wie kann ich diesen Differenzgeschwindigkeit auf die virtuelle Achse schreiben, damit diese den Hub abbilden kann?

Eine normaler Motion_Control Befehl nimmt beim Execute nur einmalig den Velocitywert an. Er muss diesen doch ständig aktualisieren......

BITTE um HILFE! :confused:

Vielen Dank!

Freundliche Grüße BeBe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Siemens Bausteinbibliothek „LAxisCtrl“
Dort den richtigen Achsbaustein verwenden, in der Konfiguration von MoveOnVelocity das Bit für „ChangeOnTheFly“ anhaken.
Dann wird ein veränderter Drehzahl Sollwert ohne viel Aufwand sofort ausgefahren....
Peter
 
Danke zaki!

Der Befehl sollte ja: <TO>.Override.<Velocity> sein. Doch wie kann ich diesen einfügen? (FUP) Programmierung
Laut Motion Control Handbuch lässt sich der Wert nur von 0-200% anpassen. Wie übernehme ich dann die negative Drehzahl?

Danke kafiphai!

Hatte mir die LAxis Bibliotheken schon angeschaut. Jedoch bin ich leider nicht SCL befähigt. Somit fällt die CTRL raus. Kann das die BASIC auch?

Bzw. geht das auch ohne das einfügen von LAxis.

Schon mal Danke im Voraus!!

 
Die LAxisCtrl integrierst du lt. Siemens Beschreibung in dein Projekt.(Bausteine, Datentypen reinkopieren)
Danach rufts du in FUP/KOP den benötigten Baustein auf.(Einzelinstanz, hat den Vorteil, dass die SPS nicht in Stop geht, wenn im aufrufenden FB die Schnittstelle geändert wurde...)
Dann gibt es nur einen Baustein anstelle MC_POWER, MC_STOP usw...

Aufruf.JPG

Da benötigst du kein SCL, was die Bibliothek macht ist ja egal...

Die Basic Lib kann das nicht. Siehe "Vergleich des Funktionsumfangs der beiden Varianten"

Peter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kafiphai danke nochmals.

Werde ich Versuchen falls meine Lösung nicht funktionieren sollte:

Mit dem Befehl MotioninVelocity funktioniert das ganze soweit.
Die Velocity Werte werden in Echtzeit übernommen.

Habe bei der Skalierung der Werte jedoch noch ein Problem:

Wenn mein Endlagensetzer gedrückt ist wird die Endlage korrekt übernommen...
Unbenannt.PNG


Ist mein Endlagensetzer deaktiviert spuckt mein Move Befehl exorbitante Werte aus.
Unbenannt_2.PNG

Das Problem:

Das kopieren von LReal Variablen mit Signalflanke.


Danke dir ERNEUT!!!
 
Hallo BeBe,

Wird auf den Merker 22 noch irgendwo zugegriffen Achtung beim Lreal sind 2 Merkdoppelwörter belegt. Also bis Merker 30 darf nix belegt ist.


Gruß Tia
 
Zurück
Oben