# CoDeSys CANopen



## jcsedglach (5 März 2007)

Servus!!

Ich arbeite jetzt in die Programmierung mit CoDeSys. Da muss ich auch mit dem CANOpen Library arbeiten. Wo kann ich betreffende Information über die Datenübertragung erhalten? Das CodeSys-Handbuch habe ich schon, aber ich finde es nicht so deutlich. Hat jemand vielleicht schon ein Beispiel(Codesegment), das ich als Referenz nützen kann?

Viele Grüße


----------



## zotos (5 März 2007)

Welche Daten soll den über den CANopen? Willst Du Dezentrale I/Os einbinden oder einen Servo ansprechen? Eine Waage auslesen?

geh mal zu 3s ins Forum uns such dort mal nach CANopen da findest Du schon ein paar Hinweise.


----------



## jcsedglach (6 März 2007)

Hi Zotos!!

Ich muss 2 SEW MCV4 Frequenzumrichtern ansprechen...

Grüße


----------



## Kurt (6 März 2007)

Wenn du über den S-Bus kommunizierst, dann kannst du CANopen nicht einsetzen -> benutze das CAN Layer2 Zeug.

kurt


----------



## jcsedglach (6 März 2007)

Kurt schrieb:


> Wenn du über den S-Bus kommunizierst, dann kannst du CANopen nicht einsetzen -> benutze das CAN Layer2 Zeug.
> 
> kurt



Hi Kurt!! 

Ich hab ein SmartPanel(von der Firma Rafi), das nur CANopen schnittstelle hat, und die SEW Frequenzumrichtern werden Slaves sein  

Das heisst, dass der einzige Ausweg ist beim CAN Layer2 Zeug


----------



## Kurt (6 März 2007)

Der MCx4 ist ein movidrive Compact, dafür gibt es zwar ein
Profibus Optionsmodule aber kein CANopen (vielleicht mittlerweilen schon?).

Annahme: 
deine Steuerung verwendet den original 3S Canopen Stack und nicht einen "Eigenbau" des Herstellers.

Prinzipieller Lösungsansatz:
Du kannst einen CanMaster in die Steuerungskonfiguration setzen
um den Bus zu initialisieren.

Aus der LIB 3S_CANopenManager, kannst du nun mit CanOpenWriteMSG
deine "S-Bus" Telegramme versenden.

Die Empfangstelegramme ...
muss man prüfen ob das mit CanOpenPDO_RX geht oder man legt einen
Knoten an (irgendeinen mit einem ereignisgesteuerten PDO ) und 
setzt den Knoten auf nicht initialisieren, legt den Identifier
passend auf den SendeIdentifier des Movidrives und holt sich so die 
Daten in das Programm.

Aber du kannst keine Funktionen verwenden die irgendwas mit SDO 
im Namen haben.

Die Beschreibung zum SEW S-Bus ist gut, was man vom 3S-Bus nicht 
behaupten kann.
Ich habe das SEW Zeug nicht mehr so im Kopf.

---------------------------------------------------
Aber wie man sieht, bei den Drives gespart, dafür haut man dann
ein Mehrfaches der Ersparnis in Forschung und Softwareentwicklung
und ...

Viel Spass beim forschen!

kurt


----------

