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.
Zwischenspeicher 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
|
|
IXXAT
|
|
EMS Dr. Thomas Wünsche |
|
Kvaser Advanced CAN Solutions
|
|
esd - electronic system design CAN-PCI
|