Forum: Mikrocontroller und Digitale Elektronik CANopen transmission error


von MrLoe (Gast)


Lesenswert?

Hallo,
ich habe ein CANopen Anybus Module mit Starterkit, welches beim 
ausführen der SDK in den Status "WAIT_PROCESS" wechselt. Hier wartet es 
wie der Name schon andeutet auf Process Data vom Netzwerk. Soweit so 
gut.
Um ein Netzwerk zu simulieren habe ich ein USB-to-CAN von IXXAT. Ich 
versuche mit dem Tool MiniMon V3 dem Module über den USB-to-CAN Daten zu 
senden. Baudrate ist bei beiden fast gleich eingestellt (56,1 im Tool 
und 56,7 kbit/s im Module).
Aber es kommen immer ERRORS im Tool beim Senden an das Module.

Jemand eine Idee was ich nicht beachtet haben könnte, bzw. auf welche 
Daten das Module genau wartet um von "WAIT_PROCESS" in "PROCESS_ACTIVE" 
zu gehen?

Gruß

von Florian (Gast)


Lesenswert?

Also die unterscheidlichen Baudraten würden mich schon mal stutzig 
machen. Mach die erst mal gleich.

von MrLoe (Gast)


Lesenswert?

Danke für deine Nachricht. Jetzt klappt es soweit.
Jetzt hätte ich noch eine Frage zu CANopen Allgemein.

Und zwar will ich den Parameterwert eines Objektes des Modules ändern.

Der Identifier des Parameterwertes ist 0x1BC
Meine Node Adresse ist 60 (dezimal)

Kann mir jemand den Protkollaufbau des  SDO/PDO welches ich an das 
Module senden muss erklären?

Gruß

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


Lesenswert?

MrLoe schrieb:
> Und zwar will ich den Parameterwert eines Objektes des Modules ändern.
>
> Der Identifier des Parameterwertes ist 0x1BC
> Meine Node Adresse ist 60 (dezimal)
>
> Kann mir jemand den Protkollaufbau des  SDO/PDO welches ich an das
> Module senden muss erklären?

Wenn Du sicher bist, das Parameter mit dem Id 0x1bc gesendet werden, 
dann handelt es sich bei CANopen um ein PDO. Allerdings um ein Transmit 
PDO
PDO1 (tx)  385 (181h) – 511 (1FFh) zumindest für ein unkonfiguriertes 
Gerät mit der Node ID 60 (0x1bc -0x180 = 60), Ich würde erwarten, dass 
das Gerät mit der Node ID 60 mit diesem Identifier sendet.
Was nun in den 0 bis 8 möglichen Datenbyte steckt, kann Dir eigentlich 
nur die Dokumentation verraten. Ein PDO hat in dem Sinne kein Protokoll, 
man muss wissen, was in den Daten steckt.

 Heinz

von Stefan (Gast)


Lesenswert?

Frag die Dokumente zu CANopen an. Ließ sie durch. Danach sollte dir klar 
sein, was du senden musst.

http://www.can-cia.org/index.php?id=canopen

von Jeffrey (Gast)


Lesenswert?

Vlt. noch als kleine Ergänzung:

CANopen hat Prozessdaten und Servicedaten.
Deine 0x1BC ergibt sich auch der CobID für das erste PDO eines Gerätes 
(0x180) und dessen einzigartiger NodeID (0x3C) -> 0x180 + 0x3C = 0x1BC.

Prozessdaten sind Daten mit denn Du arbeitest und (meistens) zyklisch 
ausließt, z.B. eine Messwert.

WAS in diesem PDO drin steht, wird über ServiceDaten konfiguriert und 
Parametriert. SDOs haben die Adresse 0x600 + die NodeID - Bei Dir also 
0x63C.

Was Dir feht ist aber die Info aus der Gerätedokumentation, die 
Servicedaten stehen in vielen unterschiedlichen Registern. mit den 
Registern 0x1800 und 0x1A00 kannst Du z.B. den Inhalt des ersten PDOs 
ändern - dazu musst Du aber wissen was Du ändern möchtest - ein Messwert 
steht z.B. im Register 0x2010.

Du musst also das Register 0x1A00 so konfigurieren, dass Du dort als 
Inhalt für das PDO den Wert von Register 0x2010 nennst.

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


Lesenswert?

Jeffrey schrieb:


> Prozessdaten sind Daten mit denn Du arbeitest und (meistens) zyklisch
> ausließt, z.B. eine Messwert.
bzw besser: sie werden bei Änderung vom Gerät gesendet (und nicht 
ausgelesen)


>
> WAS in diesem PDO drin steht, wird über ServiceDaten konfiguriert und
> Parametriert.

Bei einfachen Geräten ist die PDO Zuordnung (das Mapping) fest, also 
nicht änderbar, und über SDO nur auslesbar.

> SDOs haben die Adresse 0x600 + die NodeID - Bei Dir also
> 0x63C.
Hier ist es etwas komplexer als geschildert. SDOs sind Client/Server 
Verbindungen und benötigen zwei Ids.
Aber richtig, am besten das CiA 301 beim CiA oder im Netz besorgen. Auf 
aktuelle Version achten wenn man nur googeld.
Für Deutschsprachige Leser: "CANopen: Das standardisierte, eingebettete 
Netzwerk" ISBN 978-3800728459

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.