CANopen mit (Plain)-CAN-Adapter steuern?

Gast #2934538
Lesenswert?

Ich muss mehrere Schrittmotoren mit CANopen-Steuerungen ansteuern. Die 
Steuerungen haben alle CANopen-Support und unterstützen die 
entsprechenden Profile (Homing, Position, Velocity).

Ich muss diese Steuerungen nun per Windows-PC-Programm steuern. Die API 
des Adapters (PEAK) gibt allerdings nur "normale" CAN-Nachrichten her. 
Wie groß wäre nun der Aufwand CANopen-kompatible Telegramme für die 
Steuerung selbst zu erstellen? (Und natürlich auch auf Fehler etc. zu 
reagieren? Die Konfiguration kann vorher manuell erfolgen.)

Oder würde es sich anbieten einen anderen PC-CAN-Adapter zu kaufen der 
mehr (also die gewünschte) Funktionalität hätte? Wenn ja, welche und 
wieso?
Gast #2934556
Lesenswert?

Hallo,

wenn du keine harte Echtzeit brauchts gehts recht einfach. Du sendest 
deine Parameter als SDOs und wertest die Antworten aus deiner Geräte 
aus. Am Anfang am besten mit dem Pcan-View ein paar Nachrichten basteln 
und auswerten. Hier zwei Links zu Literatur, die mir geholfen haben:

http://www.microcontrol.net/download/appnotes/canopen_intro.pdf

Das hier ist ne Anleitung von einem Gerät die aber auch sehr praktisch 
ist:

http://www.microcontrol.net/download/manual/hb_mcan4ci_snap_v1r00_de.pdf

Grüße!

Jens
Gast #2934561
Lesenswert?

Was verstehst du unter "normales CAN"?

CAN ist erstmal die physikalische Schnittstelle, CANopen das Protokoll!

"normal" ist, dass eine PC-Karte entsprechende mit einer 
Entwicklungsumgebung Programmiert wird, z.B. mit CoDeSys, CoDeSys hat 
dann z.B. auch schon einen CANopen-Stack implementiert.

Im Endeffekt musst du das selbe machen wie wenn Du eine SPS hättest, 
dann wäre S7 Dein Werkzeug...
Gast #2934581
Lesenswert?

Ahh, danke für Antworten. Die helfen mir jetzt schonmal sehr weiter! Mal 
sehen was die freien CANopen-APIs so können.

Ich habe mal noch etwas rumgegooglet: Die Softing-CAN-Adapter bieten 
wohl auch eine (kostenfreie!) CANopen-API an [1]. Hat jemand damit 
Erfahrung? Damit kann ich doch jetzt genau das machen, was ich will: 
Also einfach den Motoren Befehle geben?

[1]: ftp://ftp.softing.com/pub/outgoing/can/CMA_Manual_V121.zip
Gast #2934582
Lesenswert?

Jens schrieb:
> Du sendest
> deine Parameter als SDOs und wertest die Antworten aus deiner Geräte
> aus. Am Anfang am besten mit dem Pcan-View ein paar Nachrichten basteln
> und auswerten. Hier zwei Links zu Literatur, die mir geholfen haben:

Nun - das mag vielleicht gehen. Vielleicht auch nicht.
Z.B.
Wenn die CanOpen Steuerung der Schrittmotorsteuerung aber ein 
NodeGuarding
sehen will - was eigentlich normal ist - dann wirst Du das Teil wohl 
nicht mit ein paar einfach geschickten SDO's in Operational bekommen.
......
(Firma: emtas) #2937728
Lesenswert?

BärBel schrieb:
> Was verstehst du unter "normales CAN"?
>
> CAN ist erstmal die physikalische Schnittstelle, CANopen das Protokoll!
>
Nach OSI ist CAN natülich mehr als nur die 'physikalische Schnittstelle'
und das ist natürlich gut so.

CAN nach ISO 11898 umfasst:

  Data Link layer  (die richtig gute Sache an CAN)
  Physical Signaling (PLS)
   • Bit Enoding / Decoding
   • Bit Timing
   • Synchronization

Und darunter noch
  Physical Medium Attachment (PMA)
   • Transceiver Characteristics
  Medium Dependent Interface (MDI)
   • Cable Connector

Und darüber, auf der DLL Schicht, da sitzt CANopen. Es wird auch als
'higher layer' Protokoll bezeichnet.

Auf
http://www.port.de/pages/shop/canopendm.php?lang=de
gibt es eine kostenlose Demo, mit der sich erste Schritte mit CANopen 
komfortabel erledigen lassen. Es werden einige CAN Interfaces 
unterstützt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren