Problem: CANOpen Kommunikation TwinCat3 <-> Faulhaber Motor

FermatS

Level-1
Beiträge
3
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Problem gelöst: CANOpen Kommunikation TwinCat3 <-> Faulhaber Motor

Hallo zusammen,

ich möchte gerne über meinen CX9020 mit CANOpen-Master meine drei Faulhaber Motoren ansteuern.
Bus ist soweit aufgebaut, die Nodes wurden mittels Herstellersoftware vorkonfiguriert und getestet -> physikalisch demnach alles in Ordnung.

In TwinCat habe ich dann (erstmal) nur eine CANOpen Node angelegt mit der entsprechenden ID und dann die EDS des Herstellers zwecks PDOs hineingeladen. Dabei ist mir schon aufgefallen, dass, sobald ich eine CANOpen Node hinzufüge und die Konfiguration neu lade, der Bus anfängt mit 2 Hz rot zu blinken ... Wer da schon Ideen hat: Gerne her damit. (Es sieht so aus, dass die Node im Startup 08 bleibt und nicht weiterschaltet) [Eigentlich dachte ich ja, dass alle Nodes automatisch über den Befehl "Scannen" gefunden werden, aber leider ist das nicht der Fall.]

Ist die CANOpen Node nun softwaretechnisch eingebunden, dann wird vom Master auch ein entsprechender NMT Befehl gesendet. Danach müsste ich dann über den RX_PDO1 entsprechende weitere Befehle senden. Und da stehe ich jetzt auf dem Schlauch.

Ich habe die PDOs in Variablen auf die SPS gemappt und dachte, dass ich durch Beschreiben dieser ein Senden auf dem Bus bewirke (ereignisgesteuert) - tut sich aber nix.

Ich bräuchte mal etwas Hilfe oder ein kleines Beispiel - wahrscheinlich übersehe ich einfach etwas.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Neals,

danke für die Info. Die Beckhoff Dokus habe ich schon alle durch. ;) Meinem Problem näher bringen sie mich leider nicht.
Ich habe darüber hinaus auch das Problem, dass mir Visual Studio abstürzt wenn ich einen PDO von eventgetriggert auf cyclic umstelle ... Entweder läuft da grad was furchtbar schief oder die Software ist , nun ja, buggy.
 
Hallo, hab in ein paar Wochen etwas sehr änhliches vor, evtl. könnten wir uns ja dann über unsere Erfahrungen austauschen? Gruß
 
Hallo

wenn es nur um das analysieren geht verwende ich eine INSEVIS (Step7 ).
Da gibt's ein CAN Analyser als Beispielprogramm. Das hört mit und schreibt die Telegramme in einen DB.

Ist günstiger als sich PCAdapter zu beschaffen.

Gruß

Lupo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

es ging nicht um's analysieren, sondern um die Motoransteuerung. ;) Ich hab mich nur noch zusätzlich auf den Bus gehangen, um zu schaun was sich die Knoten so zu erzählen haben.

Nichtsdestotrotz: Problem ist gelöst.

Lösung: Anzahl an CANOpen-Nodes hinzufügen, dann für jede Node den allgemeinen CAN-Mode aktivieren und die PDOs aus dem Faulhaber eds Verzeichnis hochladen.
In einem der Nodes, vorzugsweise dem ersten, dann einen weiteren RXPDO (5) einfügen mit COB-ID 0. Dann die Werte auf Variablen mappen, die benötigt werden. Wichtig: Es kann auf SDO-Kommunikation komplett verzichtet werden, wenn vorher mit der Faulhaber-Software entsprechende Parameter in PDOs gemappt werden (COD-Modell der Motoren). Alle PDOs können ereignisgesteuert bleiben (kommt natürlich drauf an, was man machen will)

Dann sendet man ne 1 mit RXPDO5 (COB-ID 0) den NMT-Befehl zum Node aktivieren.
Danach die Einschaltreihenfolge zum Senden für jeden Motor über die jeweiligen gemappten Variablen:

6 - Shutdown
7 - Switch On
F- Operation enabled

Tja, dann über die Variable seine TargetPosition eintragen und über Variable mit 7F verfahren.
Wenn man jetzt statt Positionen immer nur Geschwindigkeiten angeben will, dann bietet es sich an, mit der Faulhabersoftware die Motoren auf Velocity Profile vorzuparametrieren.
Ansonsten die selbe Prozedur.

Gut, ich verzichte auf den Heartbeat, aber Statusabfragen als Lebenszeichen o.ä. funktioniert ja auch selbstgeschrieben. Wenn ich mal keinen Zeitdruck habe, versuche ich mich noch mal an der CANOpen-Variante.

Übrigens hat Faulhaber auch Applikationsbeispiele auf Anfrage inkl. Twincat 2 Beispiel und FBs. Ansprechpartner ist Herr Dr. Wagener. ;)
 
Hallo

Ich muss auch über einen CX9020 mit CANOpen-Master Faulhaber Motoren ansteuern und habe leider keine Erfahrung als Programmierer. Bis jetzt habe ich eine physikalische Verbindung zwischen dem CX9020 und dem Motor herstellen können. Die Komponenten werden anerkannt und durch einige Testsignale über den PLC-Control kann ich den Motor ansprechen. Jetzt muss ich die Steuerung mit einem SPS-Programm schreiben. Hätte jemanden vielleicht ein Beispielprogramm als Starthilfe damit ich vorankommen kann?

Danke im Voraus

Dipoko
 
Hi, Beispielprogramm gibt es von Faulhaber. Bei Bedarf schick mir eine PN, kann dir das auch schicken. Habe mich aufgrund fehlender HW noch nicht damit beschäftigt. Gruß, Mwe
 
Zurück
Oben