Movisuite-Prozessdaten in Codesys auslesen und verwenden, um einen Servomotor zu steuern

oubo1002

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

ich suche Hilfe bei der Programmierung in Codesys.

Mein Problem ist, wie ich die Prozessdaten von Movisuite in Codesys (IEC Editor) auslesen und verwenden kann.

Es soll ein Servomotor gesteuert werden (Drehzahl, Beschleunigung, Tippen und Drehmoment) mittels Movisuite (IEC Editor), Ethercat.

Ich verwende den Controller UHX45A und den Servo-Umrichter MDA90A-0080-503-X-S00.

Ich weiß, dass es Bibliotheken von SEW gibt, aber diese sind zu umfangreich und es ist nicht klar, welche und wie sie verwendet werden müssen, um den Motor zu steuern.

Ich habe im Internet gesucht, aber ich habe nichts gefunden.

Könntet ihr mir bitte helfen?

Vielen Dank!
1705403507651.png1705403541088.png
1705403692723.png
1705403808799.png
 
Hallo oubo1002,

leider ist mir noch nicht ganz klar was du vor hast,.
Wie genau ist dein Aufbau?
Hast du in deiner Anlage einen Feldbus (PROFINET, EtherNet/IP, ...) oder soll dein Prozess komplett im SEW Controller programmiert werden?

In beiden Fällen brauchst du eigentlich nicht wirklich etwas bei den Soll- und Istwerten einstellen, weil das nämlich komplett von den jeweiligen MOVIKIT's (was in der unteren Halbschale implementiert wird) vorgenommen wird.

Wenn du einen Feldbus in deiner Anlage hast, kriegst du deine oben beschriebenen Funktionen sehr einfach mit dem MOVIKIT Velocity + Funktion Drehmomentenbegrenzung (nicht Drive!) hin.
Handbuch MOVIKIT Positioning / Velocity

Solltest du aber das alles auf den SEW Controller programmieren wollen, solltest du das MOVIKIT Auxiliary Velocity nutzen. Damit erhält man eine Struktur in der SEW_GVL, womit man den Antrieb nach deinen Wünschen regeln kann.
MOVIKIT Auxiliary Positioning / Velocity
Siehe Kapitel 7.3.

Ich hoffe dir hilft das erst einmal weiter...

Beste Grüße
Merian25
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Merian25,

vielen Dank für deine Antwort.

Ich soll alles auf den SEW Controller programmieren, also habe ich das MOVIKIT Auxiliary Velocity verwendet. In der Bibliothek dazu gibt es einige Variablen, die rot sind.
1705831680293.png

Hast du eine Idee, wie man diese Fehler beheben kann?

Ich habe noch eine Frage zu dem generierten Struktur. Kann ich dieses Struktur in meinem User_Application verwenden, um mein eigenes Programm (HMI und main Programm) für die Steuerung meiner Anlage zu programmieren? Wenn ja, wie kann ich das machen?
1705831810536.png

Vielen Dank für deine Hilfe.

Viele Grüße
oubo1002
 
Hallo oubo1002,

wenn man Compiler Fehler im IEC Editor bekommt, liegt das (leider) meistens an einem Versionskonflikt.
Schau in diesen Beitrag mal rein, da hatte ich das schon einmal beschrieben.

SPS Forum - MoviSuite Projekt kopieren und UHX ändern (Achsen unverändert) - Beitrag #9

Wichtig ist dabei zu beachten, dass alle Versionen zusammenpassen.
Leider ist das in der MOVISUITE "noch nicht super gelöst".
Achte darauf, dass dein FW Version des Controllers, des MOVIRUN flexible (unter Halbschale Controller) und die Version des MOVIKIT's zusammen passen. Deine MOVIKIT Version ist die 6.0.18.200, daher muss deine Controller FW & das MOVIRUN flexible auch mit einer 6 beginnen.
Ansonsten bekommst du genau diese lästigen Compiler Fehler...

Die FW des Controllers und die der Achsen kannst du leider nur im Advanced Modus der MOVISUITE ändern.
Den kannst du mit dem Freischaltcode einfach aktivieren.
Wenn du diesen Code nicht hast, frag den einfach fix bei SEW an (will ihn nicht einfach veröffentlichen).

Du kannst alles im User_Application frei verwenden.
Also dein Programmcode schreiben, andere FB's oder PRG's aufrufen...

Variablen deklarieren
Unter User_PRG kannst du Variablen deklarieren:
1705909722548.png

Beschreiben von Variablen
Anschließend kannst du die Variablen in den verschiedenen Aktionen (Init, HighPrio, Main) verwenden.

Init Aktion: Wird nur beim Booten einmal ausgeführt
Main Aktion: Wird immer im Main Zyklus ausgeführt, also immer wenn Zeit ist und kann stark variieren. -> Reicht in deinem Fall bestimmt aus
HighPrio Aktion: High-Prio Task läuft standardmäßig in 1ms, wodurch die HighPrio Aktion im schlimmsten Fall einmal in der 1ms ausgeführt wird (Größeres Thema, was man nicht in einem Satz zusammenfassen kann...)

Die SEW_GVL läuft immer in der Main Task

Damit du anschließend die einzelnen Variablen in der SEW_GVL ansprechen kannst, gibt es zwei Möglichkeiten:
1. Du kannst über die GVL direkt die Variablen "ansprechen" und anschließend in deiner Visu nutzen
1705910441123.png

2. Die schönere Variante ist es, einen eigenen FB zu erstellen und auf die GVL zu referenzieren. Anschließend kannst du alles im FB programmieren und sogar in einzelne Aktionen/Methoden aufteilen:
1705911077936.png
Natürlich kannst du hier die Variablen auch in der Visu nutzen oder in einer weiteren GVL verlinken.

In habe mal den CODESYS Export hier hinterlegt. Den kann man dann unter Projekt -> Importieren sich mal anschauen.

Wenn du eine Visualisierung einfügen willst, kannst du das z.B. einfach über Rechtsklick -> Objekt hinzufügen -> Visualisierung machen.
Es macht absolut Sinn, den Visualisierungsmanager mit einzufügen.
Damit kannst du den Stil ändern, eine Benutzerverwaltung einstellen, usw...
Es wird standardmäßig die WebVisu mit eingefügt, jedoch braucht man dann eine WebVisu Lizenz.
Wenn diese Lizenz nicht auf dem Controller vorhanden ist, dann muss man das WebVisu Element zwingend löschen... (oder Testlizenz aktivieren)
Ansonsten bekommt man eine sehr verwirrende Fehlermeldung...

Visualisierungen im Codesys (IEC Editor) ist nochmal eine eigene Sache für sich.
Schau dafür mal in die Codesys Hilfe, die kann ich da sehr empfehlen.
Codesys Hilfe

Ich hoffe das hilft dir weiter
Merian25
 

Anhänge

Zurück
Oben