Chapter 1. Introduction

Table of Contents

1.1. System Requirements
1.2. Hardware Installation
1.3. Driver Installation
1.3.1. QNX 4
1.3.2. QNX 6
1.3.3. Linux
1.3.4. Installed file locations
1.4. Fieldbus-Related Card Configuration
1.4.1. Default Configuration
1.4.2. Downloading Configuration to the Card
1.5. Driver Configuration
1.5.1. Common Configuration Commands
1.5.2. Sample Configuration File
1.6. Initial Startup
1.6.1. Licensing the CIF Driver
1.6.2. Running the CIF Driver
1.6.3. Testing communication to I/O
1.7. Cogent Product Integration
1.8. Where can I get help?

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:

The CIF Driver compares favorably to the Hilscher driver in the following areas:

Cogent CIF DriverHilscher 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.

1.1. System Requirements

QNX 6

    QNX 6.1.0 or later.

QNX 4

    QNX 4.23A or later.

Linux

    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.