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ß
Also die unterscheidlichen Baudraten würden mich schon mal stutzig machen. Mach die erst mal gleich.
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ß
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.