CANopen Tools für Geräteentwickler

Kommerzieller CANopen-Stack unentbehrlich

Wer heutzutage ein neues CANopen-Gerät entwickelt, wird auf einen kommerziellen CANopen Software Stack setzen. Diese Stacks bieten die Sicherheit, dass der CANopen Conformance Test bestanden wird und die Hersteller bieten dazu oft umfangreichen Support. Unterschiede verschiedener Hersteller zeigen sich, wenn man nach MISRA-Konformität fragt oder sich die verfügbaren Features oder Lizenzmodelle im Detail anschaut. Am meisten unterscheiden sich die Hersteller jedoch bei den verfügbaren CANopen Tools für die Entwicklung und Diagnose.
Einfache CAN-Analyzer zur Anzeige der CAN-Telegramme im Rohformat gibt es vielfach im Markt. Ohne langjährige Erfahrung mit CANopen helfen diese Tools jedoch nur bedingt, so dass man unbedingt auf einen CAN-Analyzer mit CANopen-Interpretation setzen sollte. Mit dieser Einschränkungen reduziert sich die Anzahl der Anbieter auf eine Hand voll und weiterhin gibt es Unterschiede wie „vollständig“ CANopen interpretiert wird und eher seltene, aber wichtige Protokollbestandteile wie „Flying Master Negotiation“ oder eine vollständige SRDO-Interpretation unterstützt werden.

CANopen Master Tool

Insbesondere für die Slave-Entwicklung benötigt man eine Gegenstelle mit CANopen-Master-Funktionalität. Eine einfache SPS mit CANopen-Support oder „der Master des Endkunden“ helfen dabei nur bedingt weiter, da diese nur schwer konfigurierbar sind. Besser sind CANopen Tools geeignet, welche die EDS-Datei importieren können und eine wahlfreien Zugriff auf alle Objekte des Objektverzeichnisses bietet und zudem noch alle NMT-Kommandos unterstützen. Idealerweise sollten diese Tools noch alle benötigen Zusatzdienste, welche man für sein Projekt benötigt wie z.B. LSS oder SRDOs, unterstützen und über eine Scriptsprache programmierbar sein. Sinnvoll ist es zudem, wenn die CAN-Analyzer-Funktionalität mit CANopen-Interpretation im Tool integriert ist. Im CANopen Product Guide finden sich einige solcher Tools.

Entwurf des Objektverzeichnisses

Das Objektverzeichnis eines CANopen-Geräts ist die Schnittstelle zwischen dem Stack und der Applikation. Darin sind die tabellarischer Form alle Parameter des Geräts mit ihrem Datentyp, Zugriffsrechten, Wertebereichen und die Verknüpfung zu Applikationsvariablen oder -funktionen hinterlegt. Bei den meisten Stacks sind diese Informationen in einer langen Struktur bzw. einem großen Array hinterlegt. Dabei sind für alle Geräteparameter die oben genannten Informationen nötig. Bei manchen Stacks muss der Entwickler diese Struktur manuell erstellen. Dieser Weg ist sehr fehlerträchtig, insbesondere wenn man bedenkt, dass die gleichen Informationen nochmals in einer Gerätebeschreibungsdatei (EDS … Electronic Datasheet) abgelegt werden müssen. Daher bieten komfortable Stacks Zusatztool an, wo man das Objektverzeichnis ausgehen von Objektdatenbanken und Geräteprofilen mit wenigen Klicks erzeugen kann und daran generiert das Tool dann die C-Strukturen sowie die EDS-Datei und meist auch noch eine HTML-Dokumentation des Objektverzeichnisses. Dieser toolgestützte Weg ist somit die Vorzugsvariante da dabei die Implementation des Objektverzeichnis und seine Dokumentation synchron gehalten werden und Daten aus geprüften Datenbanken beispielsweise für CANopen-Geräteprofile importiert werden können.

Bootloader und Firmwareupdate über CANopen

Soll die Firmware des Geräts im Feld ausgetauscht werden können, so ist ein CANopen-Bootloader nötig. Dieser ist oft eine auf geringe Codegröße optimierte Variante des Stacks. Die Codegröße stellt auch für die meisten Anwender das wichtigste Unterscheidungsmerkmal dar. Darüber hinaus gibt es zwischen den Herstellern unterscheiden hinsichtlich der Verfügbarkeit einer sogenannten Backdoor oder bzgl. der Unterstützung von SDO-Blocktransfer zur schnelleren Übertragung. Als Gegenstelle des Bootloaders kann jeder CANopen-konforme Master genutzt werden, dass das Protokoll zum Firmware-Update bei CANopen normiert ist. Dennoch ist bei der Betrachtung der Tools ist es wichtig, dass vom Hersteller ein CANopen-Update-Tool mitgeliefert wird. Diese Tools sind auf den Firmware-Update spezialisierte PC-Tools, welche oft auch eine Art Paketverwaltung zum Update gesamter Anlagen mitbringen.

Netzwerkentwurf

Der Entwurf kompletter CANopen-Netzwerke stellt eine weitere Herausforderung dar. Oft soll eine gesamte Maschine mit einem CANopen-Netzwerk bestehend aus mehreren CANopen-Geräten erstellt werden. In diesem Fall kann man die Geräte einzeln entwerfen oder man setzt ein Netzwerk-Entwurfstool ein, welches einzelne CANopen-Geräte, Ihre Objektverzeichnisse und insbesondere ihre Signalverknüpfungen verwalten und passende Konfiguration und Objektverzeichnisse erstellt. Idealerweise verfügt solch ein Tool zudem über die Möglichkeit zur Integration bestehender CANopen-Geräte, wenn beispielsweise nur ein Master entwickelt werden soll oder über die Möglichkeit zur Simulation noch nicht realisierte Geräte.

CANopen Tools – emotas bietet vollständige Toolkette

Im anfangs angesprochenen CANopen Product Guide des CAN in Automation e.V. finden sich eine Reihe von Herstellern von CANopen-Stacks und Tools. Unter diesen hat die emotas embedded communication GmbH einen leistungsfähigen CANopen Master-und-Slave-Stack sowie als einzige all die genannte CANopen Software in ihrem Portfolio. Der CANinterpreter ist ein CAN-Analyzer mit CANopen-Interpretation, jedoch ist die gesamte Funktionalität dieses Tools auch im CANopen DeviceExplorer integriert. Der CANopen DeviceExplorer ist ein CANopen-Master-Tool, welches bei der Geräteentwicklung und späteren Diagnose unentbehrliche Dienste leistet. Mit der Möglichkeit der Erstellung eigener Erweiterungen auf Basis von Javascript bietet das Tool vielfältige Einsatzmöglichkeit. Zu können z.B. eigene Test- und Serviceapplikation damit erstellt werden und sich wiederholende Tests automatisiert werden. Für den Entwurf des Objektverzeichnisses ist CANopen DeviceDesigner im Lieferumfang des CANopen Stacks enthalten. Auf der Basis von bestehenden EDS-Dateien oder mitgelieferten Geräteprofilen kann das eigene Objektverzeichnis mit wenigen Klicks erstellt werden. Als Gegenstelle zum Bootloader bietet emotas mit dem CANopen UpdateManager ein Tools für einfache Firmware-Updates für einzelne Geräte oder komplette Netzwerke. Funktionsreduzierte Varianten für Servicetechniker sind ebenfalls verfügbar. Die Produktpalette der Firma aus dem mitteldeutschen Merseburg an der Saale wird vom CANopen NetworkDesigner abgerundet, welcher den Entwurf kompletter CANopen-Netzwerke erlaubt.

emtas CANopen Tools
emtas CANopen Toolchain

CAN-Interface Support

Da heutzutage die meisten Entwickler, welche mit CANopen beginnen bereits CAN-Erfahrungen haben und auch oft bereits CAN-Interface-Hardware besitzen, ist es von Vorteil dass die CANopen Tools von emtas eine Vielzahl verschiedener CAN-Interface unterschiedlicher Hersteller unterstützen, so dass diese Geräte nachgenutzt werden können.