A red PC card with a black netX SoC is clipped into an IPC. The picture has a colorful fade and an icon of a desktop PC display.
empowering communication

Über die Hilscher-Gerätetreiber

Produkte, die auf den netX Kommunikationscontrollern basieren, wie z.B. die cifX-PC-Karten und Embedded-Module von Hilscher, benötigen Gerätetreiber, um auf verschiedenen Betriebssystemen voll funktionsfähig zu sein. Als One-Stop-Shop für industrielle Kommunikation bietet Hilscher solche Treiber für alle gängigen industriellen Betriebssysteme an, wie z.B.:

  • Windows
  • Linux
  • VxWorks
  • INtime
  • IntervalZero
  • QNX
  • WinAC

Alle Hilscher-Treiber besitzen eine einheitliche Anwenderschnittstelle (CIFX-API) und basieren auf einem C-Toolkit, das auch für die Entwicklung von eigenen Gerätetreibern verwendet werden kann.
Die Treiber übernehmen die komplette Verwaltung der Kommunikationsbaugruppen, zu der auch das Laden von Firmware- und Konfigurationsdateien gehört. Die Anwenderschnittstelle beinhaltet alle erforderlichen Funktionen, die zum Initialisieren, Parametrieren, Austauschen von Daten und Auslesen von
Statusinformationen erforderlich sind.

Je nach Betriebssystem ist die Anwenderschnittstelle in einer DLL oder Library untergebracht, und soweit möglich werden von den Treibern vorhandene Busanschaltungen (PCI-/PCIe- und Dual-Port-Memory-Ankopplungen) unterstützt.

  • Einheitliche Applikationsschnittstelle
  • Einheitliche Code-Basis (C-Toolkit)
  • Unabhängig vom Feldbussystem
  • Anzahl unterstützender Geräte nur durch Betriebssystem beschränkt

Dadurch reduzieren sich der Entwicklungsaufwand sowie die Time-to-Market und damit die Risiken für Anwender von netX-Kommunikationscontrollern und darauf basierenden Produkten, wie cifX-PC-Karten und Embedded-Modulen.

The logos of the OS Windows, Linux, VxWorks, INtime, IntervalZero, QNX, WinAC on a angular shape in light grey. Below that is aslightly darker angular shape with icons for PC cards, embedded modules and network controller in it. The background is colorful in red and blue.

Linux

Der cifX Device Driver für Linux ist in ein Kernel-Modul (kostenlos) und eine User-Space-Bibliothek (kostenpflichtig) aufgeteilt. Das Kernel-Modul basiert auf dem generischen uio-Modul und ist für die Erkennung der cifX-Hardware und die Vorbereitung der Zuordnung des Gerätespeichers (DPM) zum Userspace zuständig.

Der User-Space-Treiber libcifX ist ein User-Mode-Treiber, der die gesamte gerätespezifische Funktionalität bereitstellt. Die Userspace-Bibliothek bietet die gleiche API wie die cifX-Treiber-API für Windows.

A diagram schematically showing the function of the Linux device driver for cifX PC cards, embedded modules and netX network controller.

QNX

The cifX Device Driver for QNX is available as a static library or a shared object, which is built around the cifX Toolkit.

Any application which needs to access a cifX device can use the device specific functions provided by this driver library.

A diagram schematically showing the function of the QNX device driver for cifX PC cards, embedded modules and netX network controller.

VxWorks

Der cifX Device Driver für QNX ist als statische Bibliothek oder als Shared Object verfügbar, das um das cifX Toolkit herum aufgebaut ist.

Jede Anwendung, die auf ein cifX-Gerät zugreifen muss, kann die gerätespezifischen Funktionen nutzen, die von dieser Treiberbibliothek bereitgestellt werden.

A diagram schematically showing the function of the VxWorks device driver for cifX PC cards, embedded modules and netX network controller.

Windows

Der cifX Device Driver für Windows ist ein Kernel-Mode-Treiber, der im Ring 0 des Betriebssystems läuft und die Windows Plug-and-Play-Mechanismen unterstützt. PCI- und PCIe-Komponenten werden unterstützt und können beliebig mit einer unbegrenzten Anzahl von Komponenten kombiniert werden.

Der cifX Device Driver für Windows CE ist ein Stream-Treiber, der im Kernel des Betriebssystems läuft. Der Zugriff auf die Treiberfunktionen wird über eine Treiber-API-DLL (cifXCEDLL) angeboten.

Die DLL deckt die Geräte-IO-Steuerungsaufrufe ab, die zur Kommunikation mit dem Treiber verwendet werden, und bietet die gleiche CIFX-API wie auf den Windows-Desktop-Betriebssystemen.

Die Funktionsschnittstelle des Treibers ist feldbussystemunabhängig und umfasst Funktionen zur Erkennung der installierten Hardware, zum Auslesen von Systeminformationen, zur Initialisierung und Parametrierung von Feldbussystemen, zum Austausch von zyklischen und azyklischen Daten und zum Auslesen von Statusinformationen sowie eine Zeitüberwachungs- und Watchdog-Funktion.

The logo of Windwos in dark blue on top. Under it is the logo of Windwos Embedded Compact in light blue.

INtime

The cifX Device Driver for INtime offers access to the Hilscher netX based hardware (e.g. CIFX 50) with the same functional API as the cifX device driver for Windows. It is also possible to use the cifX INtime driver from normal Windows environment or from inside the INtime real-time kernel.

The cifX INtime driver runs inside the Real-Time extension in a separate address space. A special version of the cifX Application Interface DLL (cifX32DLL.dll) is provided with the INtime driver to allow Windows applications the accesses to the INtime driver from the Windows User Space.

A diagram schematically showing the function of the INtime device driver for cifX PC cards, embedded modules and netX network controller.

Zugriff auf den cifX-INtime-Treiber von Windows aus (keine Echtzeit)

A diagram schematically showing the function of the INtime device driver for cifX PC cards, embedded modules and netX network controller.

Zugriff auf den cifX INtime-Treiber von INtime aus (in Echtzeit)

IntervalZero

Der cifX Device Driver für IntervalZero RTX® ist als dynamische Bibliothek verfügbar, die auf dem cifX Toolkit aufbaut. Jede Anwendung, die auf ein cifX-Gerät zugreifen muss, kann die gerätespezifischen Funktionen nutzen, die von dieser Treiberbibliothek bereitgestellt werden.

Der Treiber bietet Zugriff auf die Hilscher netX-basierte Hardware mit der gleichen funktionalen API wie der cifX-Gerätetreiber für Windows® und bietet transparenten Zugriff auf die verschiedenen Geräte.
Benutzerprozesse auf RTX bis Version 2012 erhalten Zugriff auf die cifX-Treiberfunktionen über die Aufrufe LoadLibrary() und GetProcAddress() (explizites Laden der Bibliothek). Da RTX64 einen eigenen Image-Loader bereitstellt, kann die Treiberbibliothek auch hier implizit geladen werden.

A diagram schematically showing the function of the IntervalZero device driver for cifX PC cards, embedded modules and netX network controller.

WinAC

Der cifX Device Driver für WinAC ist eine Erweiterungs-DLL (CCX) für das Siemens SIMATIC WinAC RTX 2010 SP1 System und ermöglicht dem Siemens SIMATIC WinAC System den Zugriff auf Hilscher CIFX basierte Kommunikationshardware aus dem SPS Zyklus.

Der Zugriff auf die Treiberfunktionen erfolgt aus STEP7 / TIA über FBs / Cs. Für den Austausch von E/A-Daten im Programmzyklus werden mindestens zwei Funktionen benötigt, wobei die E/A-Daten in Datenbausteine des STEP7-Programms abgebildet werden (ein DB für Eingangs- und ein DB für Ausgangsdaten).

C-Toolkit für die Entwicklung eigener Treiber

Das cifX-Toolkit besteht aus C-Source- und Header-Dateien, die einen abstrakten Zugriff auf das Dual-Port-Memory (DPM) ermöglichen, das von Hilscher definiert und von cifX-, comX- und netX-Geräten angeboten wird. Es enthält alle Funktionen der Benutzerschnittstelle sowie die generischen Zugriffsfunktionen, die für die Verwendung des Hilscher-DPM erforderlich sind.

  • ANSI-C Quellcode
  • Betriebsystemabhängige Funktionen in einem separaten C-Modul
  • Unterstützung von Little-Endian/Big-Endian
  • In den Quelltext integrierte Trace-Ausgabe

Das C-Toolkit und damit die Code-Basis der Treiber ist so ausgelegt, dass die Anzahl der gleichzeitig verwendbaren Kommunikationsbaugruppen nicht begrenzt ist. Hierbei sind aber die betriebssystemspezifischen Eigenschaften zu berücksichtigen.

A technical graphic divided in two major sections. The left section is titled "Implementation" and shows user functions, OS specific functions and interrupt handling. The right section is titled cifX/netX C-toolkit and contains buttons for toolkit API, cifX API, device handling, API implementation and cifX/netX hardware access functions. There are several red arrows pointing to different parts of the graphic.
Weiterführende Links
Four different embedded modules from Hilscher on a colorful background. The devices are slightly mirrored on the bottom.

Embedded-Module von Hilscher sind die ideale Lösung, um eine Feldbus- bzw. Real-Time-Ethernet-Schnittstelle in ein kompaktes Automatisierungsgerät einzubinden. So lassen sich beispielsweise Feldgeräte wie Antriebe oder Steuerungen einfach und schnell in automatisierte Systeme integrieren.

Die netX-Multiprotokollprozessoren bringen industrielle Kommunikation in Ihre Maschinen und Geräte. Egal ob Master oder Slave-Anwendungen, Legacy-Feldbusse, schnelles Industrial Ethernet oder IIoT-Datenverkehr – mit hochintegrierten netX-SoCs setzen Sie auf Lösungen des Marktführers.

[Translate to Deutschland:] A photo of the male and female customer support phone operator with different internationality
Customer Center / Sales: Hilscher Austria GmbH

Sie haben Fragen? Wir haben die Antworten!