Forum: Mikrocontroller und Digitale Elektronik CANopen mit (Plain)-CAN-Adapter steuern?


von canQuestioner (Gast)


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?

von NurEinGast (Gast)


Lesenswert?

Der Peak Adapter selbst kennt nur "normale" CAN-Nachrichten.
Das darüberliegende CANopen kannst Du z.B. mit

http://www.canfestival.org/

machen. Unterstützt den Peak Adapter.

von Jens (Gast)


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

von BärBel (Gast)


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...

von Lothar (Gast)


Lesenswert?

Es gibt Mikrocontroller die CANopen Treiber im ROM haben. Einfach ein 
Eval-Board besorgen und dieses über USB an den PC anschliessen. Hier ein 
günstiges Eval-Board mit Demo-Software:

https://www.olimex.com/Products/ARM/NXP/LPC-P11C24

Das "LPC-P11C24 CAN communication example" ist CANopen.

von canQuestioner (Gast)


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

von NurEinGast (Gast)


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.
......

von Heinz-Jürgen O. (Firma: emtas) (hjo)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.