Forum: Mikrocontroller und Digitale Elektronik CAN-DP Gateway und CANOpen


von hausierer^^ (Gast)


Lesenswert?

leider zuerst im falschen Forum gepostet:


Moin, ich habe eine Frage zu einem CAN-DP-Gateway.

Es wird die CANopen- und Layer2-Funktionalität unterstützt.

Wenn man die ganz normale Layer2-Funtionalität nutzt (also nix mit
CANopen) kann die Profibus-SPS ja beliebige Telegramme senden.
Also z.B. ID = 412
         len = 8
         data[n] = n

Wird aber die CANOpen-Funktionalität benutzt, stehen nur jeweils 4 RX-
und TX-PDO's zur verfügung. Was heißt das genau? Können vom Gateway dann
nur Telegramme mit vier verschiedenen ID's gesendet werden oder wie muss
man das verstehen?

von Halbwissender (Gast)


Lesenswert?

Es können auch mehr als 4 Nachrichten-IDs gesendet/empfangen werden.
Dazu müssen die jeweils 4 vorhandenen PDOs aber dynamisch umgemappt 
werden.

Näheres kann ich dir aber gerade nicht dazu sagen. Musst du mal in die 
CANOpen-Spezifikation schauen.

von hausierer^^ (Gast)


Lesenswert?

danke, aber mich würde interessieren, was es bedeutet 4 PDO's benutzen 
zu können. Heit dies, dass ich 4 Identifier (etwa 100+ID, 200+ID, 
300+ID, 400+ID) bei verschiedenen ID's benutzen kann, oder ist mit "es 
stehen 4 PDO's zur verfügung" gemeint, dass Telegramme gesendet werden, 
die zwar in ihren 8 Bytes frei sind, aber es nur 4 Möglichkeiten für 
genau eine Adresse gibt?

von Matthias L. (Gast)


Lesenswert?

Nicht ganz. Ein PDO ist ein ProzessDatenObjekt. Das bedeutet, du kannst 
pro CANopen-TEilnehmer (Node) maximal vier PDOs (a)zyklisch mit der SPS 
austauschen. (mit je max. acht Byte)
Diese PDOs haben folgende IDs:
PDO    SPS => Node n         Node n => SPS     (n:Teilnehmer 1..127)
 1        0x200 + n            0x180 + n
 2        0x300 + n            0x280 + n
 3        0x400 + n            0x380 + n
 4        0x500 + n            0x480 + n

Andere IDs haben andere Bedeutungen!

Reichen diese 8x4=32Bytes an Prozessdaten nicht, können weitere Daten 
per SDO, ServiceDatenObjekt, azyklisch angefordert werden:
        SPS => Node n        Node n => SPS     (n:Teilnehmer 1..127)
          0x600 + n            0x580 + n


(Die IDs haben bei CANopen festgelegte Bedeutungen!)

von hausierer^^ (Gast)


Lesenswert?

okay, aber beim Gateway ist festgelegt, das es 4 PDO's in jede Richtung 
gibt, also so wie Du es dargestellt hast.

Dies schließt dann ber nicht aus, dass die SPS mir Nachrichten mit den 
IDS 201, 202, 301, 310, 599 etc senden kann? Das bedeutet dann, dass n 
NICHT die Node-ID des CAN-Gateways ist?

Klar, bei CANopen gibt es festgelegte bedeutungen, ich nutze das Gateway 
aber nur zum Datenaustausch zwischen SPS und PC (CAN-Karte). Es soll 
also nicht direkt ein CANopen-Node über das Gateway gesteuert werden. 
Ich will eichfach nur in jede Richtung Telegramme senden, was dann 
scheinbar mit jeder ID möglich ist, aber am Ende dann kein CANopen mehr 
ist, richtig?

von W.D.Robon (Gast)


Lesenswert?

Auch dein CAN-DP-Gateway hat eine Node-ID!!!!!!!!

von Matthias L. (Gast)


Lesenswert?

>Ich will eichfach nur in jede Richtung Telegramme senden, was dann
>scheinbar mit jeder ID möglich ist, aber am Ende dann kein CANopen mehr
>ist, richtig?

Richig. Dann muss du mit CAN (Layer2) und darfst nicht mit CANopen 
(Laxer8) arbeiten.

Also alle Geräte  (Gateways..) die nur CANopen können, sind somit 
ungeeignet.

von hausierer^^ (Gast)


Lesenswert?

Angenommen, das Gateway hat die NodeID = 0x05,

dann kann das Gateway im Layer2-Modus Telegramme NUR auf 0x205, 0x305, 
0x405 und 0x505 senden und verarbeitet nur Daten mit der ID 0x185, 
0x285, 0x385 und 0x485.

Ist das damit gemeint, wenn es heißt, dass es 4 PDO's gibt?

von Stefan Kunz (Gast)


Lesenswert?

So ähnlich.

Ließ dir die CAN-Open Spezifikationen der CiA durch.
Im Grunde könnte das Modul, wenn es den vollen Umfang von CAN-Open 
unterstützt 127*4 PDOs haben.
Jeder Node-Id sind genau 4 Rx und 4 Tx PDOs zugeordnet. 
Can-Open-Teilnehmer können aber auch mehrere Node-Ids haben, um somit 
mehr PDOs zu benutzen.
Der Inhalt dieser PDOs ist frei wählbar bzw besitzt kein 
Protokoll-Over-Head.

Zu dem Modul, das du sicher vor dir liegen hast, kann ich nun nicht 
sagen, was es alles beherrscht, aber dafür gibt es Manuels, wo das alles 
gut beschrieben ist. Ansonsten bei der CiA die Spezifikationen anfragen 
und durchlesen(gute Englischkenntnisse sollte man schon mit bringen).

von Matthias L. (Gast)


Lesenswert?

>Angenommen, das Gateway hat die NodeID = 0x05,
>dann kann das Gateway im Layer2-Modus

Nein. Im Layer2 gibt es keine NodeIDs !


>Telegramme NUR auf 0x205, 0x305,
>0x405 und 0x505 senden und verarbeitet nur Daten mit der ID 0x185,
>0x285, 0x385 und 0x485.

Für CANopen ist das fast richtig: Du hast Sende und Empfangsrichtung 
vertauscht. Sonst passt das für CANopen.
Also es kann empfangen: 0x185, 0x285, 0x385, 0x485 und empfangen die 
anderen...

von hausierer^^ (Gast)


Lesenswert?

>Für CANopen ist das fast richtig: Du hast Sende und Empfangsrichtung
>vertauscht. Sonst passt das für CANopen.
>Also es kann empfangen: 0x185, 0x285, 0x385, 0x485 und empfangen die
>anderen...

gut, dann habe ich das jetzt hoffentlich begriffen ;-) Danke für Eure 
hilfe!

Warum es im Layer2 aber keine NodeID gibt, bleibt mir schleierhaft..... 
Irgendwie muss man doch ein bestimmtes Modul ansprechen können.....

von Heinz (Gast)


Lesenswert?

>Warum es im Layer2 aber keine NodeID gibt, bleibt mir schleierhaft.....
>Irgendwie muss man doch ein bestimmtes Modul ansprechen können.....

Kann man nicht. Es ist umgekehrt, jeder Sender, jedes Datum hat eine 
Absenderadresse welche das Datum eindeutig identifiziert. Jeder 
Teilnehmer kann mithören. Multicast, 1 Producer - 1-n Consumer.

von Matthias L. (Gast)


Lesenswert?

>Warum es im Layer2 aber keine NodeID gibt, bleibt mir schleierhaft.....
>Irgendwie muss man doch ein bestimmtes Modul ansprechen können.....

Der Layer2, also das "normale" CAN selbst adressiert keine 
Teilnehmeradressierung. Dort hat jede Nachricht eine "Nummerierung", die 
COB-ID. Jeder Teilnehmer kann jede Nachricht erstmal empfangen und 
anhand der COB-ID enscheiden, ob sie für ihn interessant ist oder nicht.

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.