Hallo zusammen,
Mein Projet ist gerade eine SEW Eurodrivemotor via CanOpen mit Labview zu steuern. Dafür habe ich sowohl eine Canbus Karte von Peak, also auch von NI im PC zur Verfügung. Sowie das Erweiterungspaket für CanBus von Labview.
Ziel ist es den Frequenzumrichter anzusprechen und verschiedene Drehzahlen, Drehrichtung als Befehl via Labview zusenden.
Mein Problem ist jetzt, dass ich keine Verbindung zum Frequenzumrichter via LabView hinbekomme.
Weil mir Daten fehlen. Bautrate ist bekannt, was ich nicht weiß sind die NodeID, PDO Channel, CobID, Interface Name, preoperationel.
Kann mir da jmd. weiter helfen? Bei SEW direkt habe ich bislang noch nicht soviel erreichen können.
Dann, wenn die Verbindung steht, muss ja auch ein Befehl gesendet werden. Soweit ich es Verstanden habe, wird dieser in HEX gesendet. Weiß jmd. wie ich die Befehle rausfinde, die zum Beispiel sagen, drehe jetzt im Uhrzeigersinn mit 300U/min.
Bei den ganzen Unterlagen von SEW habe ich nichts finden können.
Grüße Bix
Hallo Bix,
Zitat:Weil mir Daten fehlen. Bautrate ist bekannt, was ich nicht weiß sind die NodeID, PDO Channel, CobID, Interface Name, preoperationel.
- Auf alle Fälle musst du die NodeID wissen. Wenn du Glück hast, steht sie noch auf dem Standardwert (Auslieferungszustand), ansonsten musst du deine Prüfstandstechniker nach dem aktuellen Wert fragen.
- InterfaceName bezieht sich wohl auf den CAN-Port: hier solltest du selbst wissen, wo du das CAN-Kabel angeschlossen hast…
- Der Rest sind CANopen-Begriffe, die das SEW-Handbuch erläutert. (PDO = process data object, COB = communication object id, PreOperational = Betriebszustand des CANopen-Teilnehmers)
Zitat:Soweit ich es Verstanden habe, wird dieser in HEX gesendet.
Es wird eine CANopen-Botschaft gesendet. Welche es gibt und wie diese aufgebaut sind, steht im SEW-Handbuch.
Zitat:Weiß jmd. wie ich die Befehle rausfinde, die zum Beispiel sagen, drehe jetzt im Uhrzeigersinn mit 300U/min.
Das steht im SEW-Handbuch!
Auf der SEW-Homepage findest du u.a. Anleitungen mit dem Wort "Parameterliste" im Namen, die beschreiben alle CANopen-Parameter…
Hallo Bix,
zu deiner per PN gestellten Frage:
[
attachment=50882]
Einzelwerte kann man auch per SDO setzen. Im Bild wird das Setzen eines SEW-Parameters gezeigt…
Danke für den Hinweis. Wir arbeiten mit dem standart CANopentool von Labview und erkennen daher nicht, was in der Case Strukture oben rechts für ein VI eingebaut ist. Ist das ein SDO Write? Und wie hast du ein SDO Object in bzw out erzeugt ohne vorheriges VI. Wenn es ein SDO write ist, verlangt dieses bei uns ein Array als Eingang jedoch ist der Verglewich ja ein reines U32 Element.
Mit Freundlichen Grüßen
Bix
Hallo Bix,
die grünen VIs sind aus der Standard-NI-CANopen-Bibliothek (
CANopen LabVIEW Library 1.1.4)!
Rechts oben ein WriteSDO, davor ein ConvertData-Block, welcher den U32-Wert in das benötigte U8-Array einträgt.
Das SDO-Object wird natürlich vorher angefordert, im Bild wird nur der Schreibzugriff gezeigt…
Herzliches Dankeschön, wir werden versuchen ob es damit geht.
Gegenfrage: Welche CANopen-Bibliothek nutzt ihr denn?
Wir arbeiten sowohl mit der von NI direkt also die Industrial communication und mit einer speziellen von PEAK
CAN-Telegramm erstellen und versenden
Moin,
Wir würden gern ein CAN-Telegramm erstellen und versenden um einen Motor zu steuern. Nun ist die Frage wie dieses Telegramm aussehen muss. Wir verwenden einen 11bit Identifier und würden gerne über einen RPDO oder SDO (was ist besser geeignet?) ein Telegramm mit dem Datenfeld 8000 hex bis 7FFF hex versenden, die 8 bzw 7 gibt an dieser Stelle nur die Drehrichtung als Vorzeichen an (links oder rechts drehend). Nun würden wir gerne wissen, wie das Telegramm sich zusammensetzt, also wo ich letztlich was eintragen müsste. Vorallem ist uns nicht klar, wie man das Sicherungsfeld, Kontrollfeld und Endfeld belegen muss. Und was genau der Identifier aussagt und wie dieser auszusehen hat.
Die Umrechnung der Hex-Werte in binärcode gestaltet sich ja relativ einfach, jedoch müssten wir halt wissen wie der Rest vor und hinter dem Datenfeld aussehen muss.
Für eure Hilfe schonmal danke im vorraus.
Beste Grüße
BIX
Hallo Bix,
habe die Themen zusammengefügt, dabei scheinen deine Bilder verloren gegangen zu sein…
Deine Fragen verstehe ich nicht ganz. Das sind alles Dinge, um die sich der CAN-Treiber selbst kümmert.
Du musst nur die passende Funktion aufrufen und die CAN-ID und die zu versendenden Daten bereitstellen.
Wenn ihr VIs von PEAK verwendet, dann sollten dort doch auch Beispiele bei sein, die den Umgang mit PDOs und SDOs erläutern…
Edit: Warum löscht du deine Frage jetzt wieder? Und jetzt wieder doch nicht?