Table of Contents
The Cogent CIF Driver for Hilscher Fieldbus CIF Cards (often called the CIF Driver) is a device driver program that communicates with Hilscher CIF cards. The driver is available for Linux, QNX 6, and QNX 4, and it works with ISA, PCI and PC104 cards. The same driver talks to all Hilscher CIF cards, providing support for DeviceNet, Profibus, ModbusPlus, ControlNet, CANopen, ASi, SDS, and InterBus.
In addition to handling card input and output, with the CIF Driver you can:
Configure the driver without writing a lot of code. By using a configuration file, the driver configures itself. Or if you'd like, you can write an application that configures the driver dynamically.
Query the driver interactively or programmatically for metadata on cards, data buffers, and point attibutes, as well as for the current configuration.
Interactively debug the fieldbus I/O via the driver.
Join the driver to the Cascade DataHub to immediately provide field data to applications, with no programming.
Linux users: This driver runs as a separate process (out-of-process) from your client library. It is decoupled from both the Linux kernel and the client. It is thus capable of handling multiple clients.
The CIF Driver compares favorably to the Hilscher driver in the following areas:
Cogent CIF Driver | Hilscher driver |
---|---|
Comes with a commercial license that does not require you to ship any source code when you sell the system. | The driver and API are licensed under the GNU General Public License (GPL). This means you have to ship the source code for your application to the customer if you sell a system that includes the GPL driver. |
Auto-detects all CIF cards, including ISA, PC/104, PCI and PC/104+. | Requires you to tell it where the cards are, and which cards are installed, except for PCI. |
Automatically handles all of the card handshaking. | Exposes the raw card interface. You still need to handle all of the handshaking and interaction with the card at the register level. |
Handles all bus activity by interrupt and can deliver immediate notification to the user application. Latency is minimized and the user application remains as responsive as possible. | Forces you to poll the card. There is no mechanism for delivering data change notifications to your application's message loop. This causes high latency in both the data acquisition and the rest of the user application. |
Runs only three calculations at interrupt time. | Performs a substantial amount of processing at interrupt time, causing increased interrupt latency and reduced responsiveness in the entire system. |
Handles all of the messaging for you, and gives the user an easily understood interface. | Requires you to understand the mechanism of the card itself, including all of the raw message contents. |
Offers an easy mechanism to map the raw memory in the card to named tags and points. This abstraction is vital for any control system to be maintainable. | Offers no abstraction of raw data to IO tags or points. |
Automatically detects and recovers from bus errors. | Does not handle bus errors. The user has to specifically program for them. |
Allows any number of clients to simultaneously access the card without interfering with one another. | Makes it very difficult for more than one application to access the card. It assumes that the application using the data has full control over the card, and is free to reset it at any time. |
Seamlessly interacts with the Cascade DataHub to make it possible to access your data via the Internet or in Windows as OPC or DDE messages without any programming at all. | Offers no additional software integration. |
QNX 6.1.0 or later.
QNX 4.23A or later.
Linux 2.4 or later.
The SRR IPC kernel module, which includes a synchronous message passing library modeled on the QNX 4 send/receive/reply message-passing API. This module installs automatically, but requires a C compiler for the installation. You can get more information and/or download this module at the Cogent Web Site.
Copyright © 1995-2010 by Cogent Real-Time Systems, Inc. All rights reserved.