canopen

Kithara Echtzeit CAN

CAN-Kommunikation in Echtzeit unter Windows

Bei der CAN-Kommunikation werden zumeist ein sicherer, zeitäquidistanter Datenaustausch sowie eine schnelle Reaktion auf externe Ereignisse gefordert. Hier versagen die mit den CAN-Karten normalerweise mitgelieferten Standard-Windows-Treiber, die nur aus dem Anwendungskontext heraus benutzbar und daher nicht echtzeitfähig sind. Das CAN Module schließt diese Lücke und ermöglicht CAN-Kommunikation auch in Echtzeit.

Das CAN Module aus der Collection »RealTime Suite« ergänzt die Windows-Erweiterung und ermöglicht so viele Automatisierungslösungen, bei denen eine echtzeitfähige CAN-Ankopplung gefordert wird. Die Funktionsbibliothek richtet sich vor allem an Anwender, die eine zeitkritische Bearbeitung von CAN-Messages benötigen, z.B. Maschinenbau-Unternehmen und Steuerungshersteller.

IXXAT PCIZwischenspeicher puffern die CAN-Messages beim Senden und Empfangen über ein einfach anwendbares und intuitives API. Anwenderspezifische Echtzeit-Message-Filter lassen sich ebenso installieren wie Fehlerbehandlungsroutinen für bestimmte Bus-Situationen. Auch ein Listen-Only-Mode ist möglich. Zur einfachen Diagnose wurde der Kithara »Kernel Tracer« erweitert, mit dem der gesamte CAN-Datenverkehr in Mikrosekunden-Auflösung mitgeschnitten wird. Als Programmiersprachen sind beispielsweise C/C++ oder Delphi verwendbar. Auch die .NET-Umgebung wird z.B. mit C# unterstützt, wobei hier für den Echtzeit-Betrieb eine in C++ programmierte DLL einzubetten ist.

Für größtmögliche Flexibilität bei der Auswahl der verwendbaren CAN-Karten stehen Echtzeit-Treiber für gängige CAN-Karten-Familien verschiedener Hersteller zur Verfügung, die eine Hardware-neutrale Programmierung erlauben.

CAN (Controller Area Network)

CAN (Controller Area Network) ist ein serielles Bussystem, welches ursprünglich speziell für die Steuerung im Automobil entworfen wurde, sich jedoch auch sehr gut für die Vernetzung intelligenter Geräte sowie Sensoren und Aktoren in einer Maschine oder Fabrik eignet. CAN ist ein serielles Multi-Master-Bussystem, was heißt, dass mehrere CAN Knoten gleichzeitig Buszugriff anfordern können, der tatsächliche singuläre Zugriff eines Knotens wird also während des Zugriffsvorgangs entschieden. Das in der ISO 11898 behandelte Bussystem besitzt Echtzeitfähigkeit und benutzt dabei die untersten zwei Schichten des ISO/OSI-Schichtmodells.

Die Hauptkriterien für den Einsatz von CAN sind:

  • Geringe Kosten
  • Zuverlässige Funktion auch unter schweren Umgebungsbedingungen
  • Sehr gute Echtzeitfähigkeit und eine einfache Benutzbarkeit

Pressemeldungen zu Kithara Echtzeit-CAN finden Sie hier.

CAN Module

CAN Kommunikation in Echtzeit

  • Allgemein
  • Features
  • Hardware-Unterstützung

Durch das Can Module kann auf Basis des Feldbus CAN (CAN 2.0B Protokoll kompatibel) Echtzeit erreicht werden. Das API ist herstellerunabhängig und benötigt daher nur eine einmalige Einarbeitung, um jegliche CAN Hardware zu programmieren.

Die unmittelbare Reaktion auf eintreffenden Nachrichten ermöglicht u.a., dass durch eine CallBack Funktion sofort auf Fehlersituationen reagiert werden kann. Selbst bei schnellen Baudraten und hohen Buslasten gehen keine Nachrichten verloren, da der Sende- und Empfangsbuffer ausreichend groß genug ist. Ebenso ist es möglich eigene Filterroutinen zu erstellen, die direkt zur Empfangszeit ausgeführt werden können.

Für Analyseaufgaben bei denen sich das CAN-Interface völlig passiv verhalten muss, wird ein "Listen-Only" Modus unterstützt. Desweiteren kann bei Hardware mit SJA1000 CAN-Controllern das "Error Code Capture"-Register ausgelesen werden, sodass weitere Informationen zur Fehleranalyse bereitgestellt werden.

  • CAN-Nachrichtenaustausch in Echtzeit
  • Verzögerungsfreies Senden & sofortige Reaktion beim Empfang
  • Senden und Empfangen auf der Kernel-Ebene möglich
  • Benutzerdefinierte Filterroutinen durch CallBack-Funktionen
  • Empfangen von Nachrichten per Callback im Interrupt-Kontext, auf Kernel-Ebene oder auf Anwendungs-Ebene ist genauso möglich wie das Pollen nach Nachrichten.
  • Sende- und Empfangsroutinen direkt aus dem Echtzeitkontext aufrufbar
  • Nutzung der Kernel-Ebene unterstützt C/C++ oder Delphi (Win32 native)
  • Betriebssysteme: Windows 7, Vista, Server 2003, XP, 2000 und NT
  • keine Dongle-Anbindung, keine Netzfreischaltung, ect.

Das CAN Module unterstützt derzeit PCI-basierten Karten mit 1, 2 oder 4 Kanälen von Peak, IXXAT, Kvaser, EMS Dr. Wünsche und esd (siehe Hardware-Kompatibilitätsliste). Gerne unterstützen wir auch die von Ihnen verwendete Karte.

Peak System

Peak System

 

IXXAT

IXXAT

 

EMS

EMS Dr. Thomas Wünsche

  • CPC-PCI, CPC-PCIe (Ein-,Zweikanal und Vierkanal) und CPC-104P

    mit einem SJA1000

 

Kvaser

Kvaser Advanced CAN Solutions

 

ESD

esd - electronic system design CAN-PCI

  • CAN-PCI /200/266 optoentkoppelt (Ein- und Zweikanal)
  • CAN-PCIe /200 optoentkoppelt (Ein- und Zweikanal)
  • CAN-PCI-104 /200 optoentkoppelt (Ein- und Zweikanal)
  • CPCI-CAN /200 optoentkoppelt (Ein- und Zweikanal)
  • PMC-CAN /266 optoentkoppelt (Ein- und Zweikanal)