Driver
empowering communication

About Hilscher's device drivers

Products based on the netX communication controllers such as Hilscher's PC cards and embedded modules require device drivers to fully function on different operating systems. As a one-stop-shop for industrial communciation, Hilscher offers such drivers for all common industrial operating sytems, such as:

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

All Hilscher drivers have a standard user interface (CIFX-API) and are based on a C toolkit also usable for independent device driver development. The drivers are responsible for administering the communication components, including loading firmware and configuration files. The user interface contains all of the functions needed to initialize, parametrize, exchange I/0 data and aquire status information.

Depending on the operating system, the user interface is contained in a DLL or library. As far as possible, the drivers are supporting existing bus connections like PCI, PCle and dual-port memory (DPM) connections.

  • Standard application interface
  • Standard code base (C toolkit)
  • Independent of fieldbus or Industrial Ethernet system
  • Number of supported devices limited only by operating system

This reduces development efforts as well as time-to-market and thereby risks for users of netX communciation controllers and products based on it, such as cifX PC cards and embedded modules.

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.

The device driver for linux, is splitted in a kernel module (free of charge) and a user space library (chargeable). The kernel module is based on the generic uio module and is responsible for cifX hardware detection and preparation to allow mapping the device memory (DPM) to user space.

The User space driver libcifX is a user mode driver providing the whole device specific functionality. The user space library offers the same API as the cifX driver API for Windows.

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

The device driver for QNX is available as a static library or a shared object, which is built around Hilscher's driver C-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.

The cifX Device Driver for VxWorks offers access to the Hilscher netX based hardware (e.g. CIFX 50, comX) with the same functional API as the cifX device driver for Windows and offers transparent access to the different devices.

It is available as a library 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 VxWorks device driver for cifX PC cards, embedded modules and netX network controller.

The cifX Device Driver for Windows is a kernel-mode driver that runs in Ring 0 of the operating system and supports the Windows plug-and play mechanisms. PCI and PCIe components are supported and can be combined arbitrarily using an unlimited number of components.

The cifX Device Driver for Windows Embedded Compact is a stream driver, running in the kernel of the operating system. Access to the driver functions is offered by a driver API DLL (cifXCEDLL).

The DLL covers the device IO control calls used to communicate with the driver and offers the same CIFX API like on the Windows desktop operating systems.

The driver’s function interface is fieldbus system independent and includes functions for the recognition of installed hardware, reading system information, initializing and parametrizing field bus systems, exchanging cyclical and acyclical data and reading status information, as well as time-monitoring and watchdog function.

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

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.

Accessing the cifX INtime Driver from Windows (none real-time)

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

Accessing the cifX INtime Driver from INtime (real-time)

The cifX Device Driver for IntervalZero RTX® is available as a dynamic library 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.

The driver offers access to the Hilscher netX based hardware with the same functional API as the cifX device driver for Windows® and offers transparent access to the different devices.
User processes on RTX till version 2012 gain access to the cifX driver functions by using the LoadLibrary() and GetProcAddress() calls (explicit library load). As RTX64 provides its own image loader, the driver library can also be loaded implicitly here.

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

The cifX Device Driver for WinAC is an extension DLL (CCX) for the Siemens SIMATIC WinAC RTX 2010 SP1 system and allows the Siemens SIMATIC WinAC system to access Hilscher cifX based communication hardware form the SPS cycle.

Driver functions are accessed from STEP7 / TIA via FBs / Cs. At least two functions are needed to exchange I/O data during the program cycle and the I/O data are mapped into data blocks of the STEP7 program (one DB for input and one DB for output data).

C-Toolkit for own driver development

The cifX toolkit consists of C-source and header files allowing abstract access to the dual-port memory (DPM) defined by Hilscher and offered by cifX, comX and netX devices. It contains all of the user interface functions as well as the generic access functions needed to use the Hilscher DPM.

  • ANSI-C source code
  • Operating-system-dependent functions in a separate C module
  • Support of little-endian/big-endian
  • Trace output integrated in the source

The C toolkit, and therefore the basis of the drivers code, is designed in such a way that an unlimited number of communication components can be used simultaneously. However, the specific characteristics of each operating system must be taken into account.

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.
Related links
Three PC cards on a colorful background. One has a red PCB while the other two are green. One has an AIFX detached network interface connected to it.

cifX PC 板卡是将基于 PC 的设备集成到自动化环境中的最简单、最快捷的方法。基于我们的 netX 通讯控件,您可以使用所有协议--适用于任何应用的任何外形尺寸。

Four different embedded modules from Hilscher on a colorful background. The devices are slightly mirrored on the bottom.

赫优讯的嵌入式模块是将现场总线或实时以太网接口集成到紧凑型自动化设备中的理想解决方案。它们允许将驱动器或控件等现场设备快速、轻松地集成到自动化系统中。

NETX多协议处理器为您的机器和设备带来工业通讯。无论是主应用还是从应用,传统现场总线,快速工业以太网或 IIoT 数据流量 - 借助高度集成的NETX SoC,您可以信赖来自市场领导者的解决方案。

A photo of the male and female customer support phone operator with different internationality
Customer Center / Sales: Hilscher Systemautomation (Shanghai) Co. Ltd.

You've got questions? We've got the answers!