Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Problem beim Ansteuern Maxon Motor mit Beckhoff über CANopen

  1. #11
    mrx3 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2009
    Beiträge
    15
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Konfiguration habe ich gemacht genau so wie du beschrieben hast. Nur beim SPS-Programm ist es anders. Und zwar so:

    Es gibt eine Bibliothek von Maxon, mit den ganzen Funktionsblöcken, womit man ziemlich alles mögliches mit dem Motor machen kann. Problem ist: alle Funktionsblöcke haben als Inputs nur die ADS-Adresse und Node-Id, aber kein Controlword.

    Von daher habe ich auch gar keine Verknüpfung mit den PDOs gebraucht. Ich habe nur eine dummy Variable, verknüpft mit irgendeine Variable von der EL6751, damit TwinCAT nicht meckert.

    Sprich, die Funktionblöcke lesen die Motordaten direkt aus der Object Directory über ADS-Adresse. Wie liest du dann sonst die Daten aus der Motor?

    Asserdem das Verhalten mit der Maxon GUI über RS232, kann du das erklären?

  2. #12
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Ich lasse die Bibliothek von Maxon links liegen.
    Um den Betriebsmodus zu wählen nutze ich "Mode of Operation". Zum setzen der jeweils benötigten Betriebsparameter nehme ich das "Controlword". Als Feedback bekomme ich dann "Mode of Operation Display" und das "Statusword" zurück.

    Sollwerte wie "Velocity Mode Setting Value" oder "Target Position" schreibe ich via RX PDO auf den EPOS und Ist Werte ("Velocity Mode actual Value" bzw. Positionmode actual Value") bekomme ich über die TX PDOs geschickt.

    In meinem Programm habe ich nen Funktionsblock in dem ich alle von mir benötigten Modi definiert habe (Vel - Mode, Pos- Mode, Current - Mode und Homing). Meine 6 Motoren sind jeweils eine Instanz von diesem FB.
    Wenn ich einen Motor in einen bestimmten Modus gesetzt habe, kann ich einfach die Sollwerte über die mit den PDOs verknüpften Variablen schreiben.
    ADS brauche ich für diese Grundfunktionen überhaupt nicht.

    Schau mal in die Firmware Dokumentation von dem 70/10. Da ist eigentliche diese Prozedere sehr ausführlich beschrieben und vorallem die Funktionen von Control und Statusword gut erklärt.

    Das der Motor richtig funktioniert wenn du dich mit Hilfe der EPOS Software mit dem Controller verbindest, könnte daran liegen das die Software dann die Steuerung übernimmt und die SPS nix mehr zu sagen hat.
    Geändert von MasterOhh (26.02.2009 um 09:30 Uhr)

  3. #13
    mrx3 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2009
    Beiträge
    15
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Eigentlich wenn die RS232-Verbindung besteht, steuert das SPS-Programm auch mit. Schließlich ist der Motor auch so gelaufen, wie er im SPS-Programm sein soll, nur eben stabiler wenn RS232 mit dabei ist.

    Es gibt in dem EPOS auch ein RS232-CAN-Gateway, durch das man über RS232 den CAN-Bus ansprechen kann. Kann sein, das durch diese RS232-Verbindung etwas auf dem CAN-Bus geändert wurde, so dass es alles bei mir stabiler läuft. Kann auch sein, dass es ein Bug ist.

    Wenn du deine EPOS mit BX8000 steuert, musst du ganz am Anfang die Verbindung initialisieren? So eine Art von "Port öffnen" oder so? Oder ist es bei dir einfach "Strom einschalten", "Mode auswählen" und dann "steuern"?

  4. #14
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Einfach nur Strom an, Mode wählen, Controlword setzen, Statusword prüfen und dann SollWerte schreiben.
    Da ich sämtliche Ein und Ausgangsvariablen direkt mit ihren Gegenstücken auf dem EPOS über CANopen verknüpft habe, brauche ich in meinem Programm nichtmal die AMSNetID oder gar die NodeIDs zu wissen.

    Ich muss mal schauen ob ich aus meinem Programm irgendwie ein kleines Beispiel extrahieren kann wenn ich ne ruhige Minute finde.

  5. #15
    mrx3 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2009
    Beiträge
    15
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, ein kleines Beispiel wäre nett.

    Verstehe ich das so richtig?
    Alle freigeschalteten PDO (Rx und Tx) von EPOS müssen verknüpft werden. Also es darf ein einziges PDO von EPOS unverknüpft bleiben. Oder wie ist es bei dir?

  6. #16
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Also, du hast ja sicher schon genaue Vorstellungen was du mit dem Motor machen willst. Damit weißt du auch welche Funktionen von dem EPOS benötigt werden. Damit kannst du ganz einfach rausfinden (EPOS Firmware Spezifikationen) welche Parameter der EPOS über CANopen senden und empfangen muss/soll.
    Diese Parameter legst du mit dem CANopen Wizard auf die PDOs, dabei brauchst du nicht alle PDO vollpacken. Wenn dir 2 RX PDOs und 1 TX PDO reichen, bleibt der Rest einfach leer.

    Jetzt verknüpfst du die Variablen aus deinem Programm mit den Parametern des EPOS (im Systemmanager). Auch hier musst du nicht alle Parameter verknüpfen, macht aber Sinn, weil man ja eh nur das sendet und empfängt was man wirklich braucht.

    Im Anhang ist mal ein kleiner Ablauf, wie ich einen Motor in den Profile Position Mode versetze. Das lässt sich ganz leicht als Funktionsblock umsetzen. Wenn der Ablauf in dem Leerlaufblock angekommen ist, kann man dem Motor mit TargetPos beliebige Sollpositionen zuweisen, die dieser dann anfährt.
    Ich hoffe das macht die Sache etwas verständlicher.
    Angehängte Grafiken Angehängte Grafiken

  7. Folgender Benutzer sagt Danke zu MasterOhh für den nützlichen Beitrag:

    mrx3 (01.03.2009)

  8. #17
    mrx3 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2009
    Beiträge
    15
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi MasterOhh,

    es hat endlich geklappt. Ich bin sooo erleichtert. Es lag wirklich an den Verknüpfungen. Ich habe alles von vorn gemacht, PDO freigeben die ich wirklich brauche, die richtigen Datentype gesetzt, und Verknüpfung mit Variable erstellt. Und es funktioniert.

    Ich habe weiterhin die Bibliothek von Maxon benutzt. Die funktioniert auch sehr gut. Damit ist das Problem nun erledigt.

    Ich danke dir für deine Hilfsbereitschaft, MasterOhh; dir noch viel Erfolg bei der Arbeit.

    Bis dann. Ciao.

  9. #18
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Freut mich das es nu funktioniert. Damit hast du den komplizierten Teil hinter dir

  10. #19
    Registriert seit
    12.09.2017
    Ort
    37154 Northeim
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Ihr Lieben,
    ich bin neu hier im Forum und auch ein blutiger Anfänger in der SPS-Welt. Normalerweise bin ich in der Mikrocontrollerprogrammierung mit C# zuhause.
    Nun schreibe ich meine Master Abschlussarbeit und arbeite mich gerade in Beckhoff/ TwinCat 3 ein.

    Mein Problem ist ein Ähnliches, wie aus diesem Beitrag, darum versuche ich mein Glück an dieser Stelle.
    Ich möchte einen Maxon DC-Motor mit Encoder über EtherCat --> CANopen --> EPOS 24/5 (275512) ansteuern.

    Was funktioniert:
    - Ansteuern des Motors per EPOS Studio (Serielle Schnittstelle USB-to-Serial / RS232), sowie Konfiguration und Parametrierung ist kein Problem
    - TwinCat 3 unter VisualStudio 2015 (Deutsch) läuft problemlos
    - "Automatische" Konfiguration/ Scan sämtlicher Geräte, einschließlich EPOS-Knoten funktioniert
    - Standardmäßig werden 4 TxPDO's und 4 RxPDO's angelegt
    - Über die Auswahl des Knotens --> Reiter "ADS" --> Onlinezugriff kann Problemlos auf das "Object Dictionary" zugegriffen, geschrieben und gelesen werden (z.B. Velocity Mode mit Drehzahlvorgabe --> Motor dreht) --> Funktioniert aber nur im "Config-Mode"

    Jetzt zu meiner Frage: Kann mir jemand vielleicht Step-by-Step erklären, wie ich die PDO's (und sonstiges) konfiguriere/ konfigurieren muss, damit ich im RUN-Modus in meiner SPS-Routine per CANopen den Motor steuern kann? Vielleicht mit einem kleinen Programmbeispiel?

    Ich habe mal ein paar Bilder von meiner aktuellen Konfiguration/ Aufbau angehängt.

    Ich hoffe wirklich Ihr könnt mir dabei helfen.
    Ganz herzlichste Grüße,
    Mathias
    Angehängte Grafiken Angehängte Grafiken

Ähnliche Themen

  1. Maxon Motor mit CP340
    Von Zac im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 21.09.2010, 13:13
  2. Motor über einen Frequenzumrichter und SPS ansteuern
    Von Chrissimo im Forum Antriebstechnik
    Antworten: 8
    Letzter Beitrag: 13.03.2010, 15:41
  3. Antworten: 6
    Letzter Beitrag: 02.12.2009, 14:07
  4. mit Beckhoff FU über Profibus ansteuern
    Von Aumati im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 05.04.2007, 08:51
  5. motor-ventil, 2 Wicklungen, ansteuern
    Von flaco im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 28.06.2006, 14:32

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •