Effiziente CANopen-Implementierung

CMX-CANopen ermöglicht optimierte Implementierungen von CANopen-konformen Geräten. CMX-CANopen wurde entwickelt, um eine maximale Task-Optimierung zu ermöglichen, insbesondere bei der Verwendung mit einem RTOS wie CMX-RTX. Auch ohne RTOS ermöglicht CMX-CANopen die Anpassung der Ausführungsprioritäten kritischer Tasks, was CMX-CANopen zu einem der leistungsfähigsten verfügbaren CANopen-Stacks macht.

Visualization CANopen

Zentrale Steuerung und flexible Ausführung von Aufgaben in CMX-CANopen

Die CANopen-Prozessdatenobjekte (PDO) ermöglichen eine sehr flexible Konfiguration, die es erlaubt, eine einzelne CANbus-Nachricht mit einer Kombination von Variablen zu füllen, die im Objektverzeichnis (OD) eines Knotens verfügbar sind. Dieses PDO-Mapping ist in CMX-CANopen so effizient implementiert, dass ein ankommendes Empfangs-PDO (RPDO) in den meisten Fällen direkt in der CANbus-Interrupt-Serviceroutine verarbeitet werden kann.

Alle wichtigen Tasks von CMX-CANopen werden von einem einzigen Modul aus gesteuert. Wird CMX-CANopen nicht zusammen mit einem RTOS eingesetzt, kann die Ausführung der Tasks dennoch anwendungsspezifisch optimiert werden. Generell können Tasks innerhalb der CAN-Interrupt-Serviceroutine, einer Timer-Interrupt-Serviceroutine oder im Hintergrund ausgeführt werden. Dies ermöglicht sogar die Bearbeitung verschiedener PDOs mit unterschiedlichen Prioritäten.

Effiziente Entwicklung und Konfiguration mehrerer CANopen-Geräte mit CMX-CANopen

Beim Entwerfen mehrerer CANopen-Geräte, die sich nur geringfügig unterscheiden (z. B. in einigen Objektverzeichniseinträgen (OD) und/oder in der PDO-Konfiguration), ist es wünschenswert, nur eine Version des Codes zu entwickeln und zu pflegen. Mit CMX-CANopen kann die gesamte OD- und PDO-Konfiguration im nichtflüchtigen Speicher abgelegt werden. Dadurch kann die Konfiguration eines Knotens drastisch geändert werden, indem einfach eine Konfigurationsdatei heruntergeladen wird (Download über CANopen wird unterstützt).

Vielseitige und konforme CANopen-Geräteprofil-Implementierungen in CMX-CANopen

CMX-CANopen wird mit zwei Beispielen für Implementierungen des CANopen Device Profile DS401 - Generic I/O ausgeliefert. Zusätzliche und angepasste Beispiele sind auf Anfrage erhältlich und können Geräteprofil-Implementierungen wie Joysticks, Encoder (DS406), Batterien (DSP418), Ladegeräte (DSP419) oder Aufzüge (DSP417) beinhalten. Alle Beispiele haben den offiziellen CANopen Konformitätstest bestanden!