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.

tl_files/kithara_software_gmbh/img/ixxat_pc-i_04_pci.jpgZwischenspeicher 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.

Beschreibung zum CAN Module

  • Realisierung von Echtzeit auf Basis des Feldbus CAN (CAN 2.0B Protokoll kompatibel)
  • Herstellerunabhängiges API zu CAN-Hardware
  • Sofortiges Senden und unmittelbares Reagieren auf eintreffende Nachrichten möglich
  • Auf Fehler-Situationen kann durch CallBack-Funktionen sofort reagiert werden
  • Durch Sende- und Empfangspuffer gehen keine Nachrichten verloren, selbst bei schnellen Baudraten und hohen Buslasten
  • Erstellen Sie Ihre eigenen Filterroutinen, die direkt zur Empfangszeit ausgeführt werden
  • Es wird ein "Listen-Only" Modus unterstützt, somit steht Analyseaufgaben nichts im Wege, bei denen sich das CAN-Interface völlig passiv verhalten muss.
  • Bei Hardware mit SJA1000 CAN-Controllern kann das "Error Code Capture"-Register ausgelesen werden – weitere Informationen zur Fehleranalyse werden bereitgestellt.

Eigenschaften

  • 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.

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.

Unterstützte Controller

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

  • PCAN-PCI Einkanal
  • PCAN-PCI Zweikanal
  • PCAN-PCI Einkanal optoentkoppelt
  • PCAN-PCI Zweikanal optoentkoppelt

PCAN-PCI Express

  • PCAN-PCI Express Einkanal
  • PCAN-PCI Express Zweikanal
  • PCAN-PCI Express Einkanal optoentkoppelt
  • PCAN-PCI Express Zweikanal optoentkoppelt

PCAN-miniPCI

  • PCAN-miniPCI Einkanal
  • PCAN-miniPCI Zweikanal
  • PCAN-miniPCI Einkanal optoentkoppelt
  • PCAN-miniPCI Zweikanal optoentkoppelt

PCAN-cPCI

  • PCAN-cPCI Zweikanal optoentkoppelt
  • PCAN-cPCI Vierkanal optoentkoppelt
  • PCAN-USB
  • PCAN-USB optoentkoppelt
  • PCAN-USB Hub

 

IXXAT

IXXAT

  • PC-I 04/PCI (Zweikanal)

 

EMS

EMS Dr. Thomas Wünsche

CPC-PCI, CPC-PCIe und CPC-104P

  • CAN-Einsteckkarte CPC-PCIe (Ein- und Zweikanal)
  • CAN-Einsteckkarte CPC-PCIe (Ein-, Zwei- und Vierkanal)
    mit einem SJA1000

 

Kvaser

Kvaser Advanced CAN Solutions

PCIcan HS

PCIcanx HS

PCIEcan HS

 

ESD

esd - electronic system design CAN-PCI

CAN-PCI

  • CAN-PCI/200 optoentkoppelt (Ein- und Zweikanal)
  • CAN-PCI/266 optoentkoppelt (Ein- und Zweikanal)

CAN-PCIe

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