Wo CAN ist - und auf Baumaschinen ist das Bussystem niemals weit - da ist meist auch CANOpen. Jahrelang hat es uns begleitet, doch niemals hat es eine Implementierung ins ViViVerse geschafft. Aber man soll niemals nie sagen, und so ist es nun soweit.

16. September 2020 von Hansjoerg Petschko

FAMILIEnanschluss für CANOPEN

Vor beinahe zwanzig Jahren habe ich das erste Mal eine CAN-Nachricht mit meiner Software eingelesen und interpretiert. Und nicht lange danach durfte ich an einer Schulung über CANOpen teilnehmen, geleitet höchstpersönlich von Holger Zeltwanger.

Trotzdem hatte ich bis vor kurzem immer nur am Rande mit CANOpen zu tun. Nie genug jedenfalls, um die Einbindung oder gar Implementierung eines CANOpen-Stacks ins Auge zu fassen. Es hat sich einfach immer jemand anderer darum gekümmert, mit den Geräten zu kommunizieren, und für die Anwendungen, mit denen ich hauptsächlich zu tun hatte, gab es kein allgemeines Profil, das die Verwendung von CANOpen motiviert hätte.

Vor einiger Zeit gab es nun aber die erste Anforderung eines Kunden, einen CANOpen-Stack als ViViVerse-Organelle verfügbar zu machen. In so einem Fall - wenn neue Funktionalität ins VVV Einzug hält - machen wir uns zuerst einmal über ein möglichst allgemeines Interface Gedanken. Wir erstellen eine Familien-Beschreibung mit den Kommandos, den abonnierbaren Werten und den einstellbaren Eigenschaften, die Mitglieder der Familie zur Verfügung stellen müssen. Für CANOpen wären das zum Beispiel das Setzen und Lesen von SDOs, das Publizieren von PDOs als Metabolics und das Übertragen von Domänen. Diese Familienbeschreibung liegt nun in ihrer ersten Version vor. Mit ihrer Hilfe ist die Verwendung von CANOpen von der eigentlichen Implementierung des Stacks entkoppelt.

Implementierungen

Als erstes Mitglied der neuen Familie durften wir eine Implementierung begrüssen, die den CANOpen-Stack der Firma PORT einbindet und unter Linux auf ARM verfügbar ist.

Das als nächstes geplante Familienmitglied wird den Stack von Embedded Office einbinden. Wir freuen uns schon darauf.