Unified IO – C++ interface for industrial IO cards

During our professional experience we have had many problems in finding drivers for industrial control cards for not much proliferated platforms like Linux, OS/2 and other platforms. We believe that many industrial control system developers have the same problems.

Another problem is that hardware vendors provide different interfaces for their drivers. Many industrial IO products are shipped with C (sometimes Visual Basic or Pascal) interface. However, very few manufacturers provide true object oriented C++ interfaces, despite the fact that most of professional software products nowadays are written in C++ not in C.

Therefore we came up with an idea of open source library for interfacing with industrial I/O hardware – Unified IO.

The idea behind Unified IO design is to have small part of OS specific code that provides physical memory access and port IO (through device driver or directly) and implement drivers for various industrial IO cards as platform independent C++ code. As a result support for n cards under m platforms would require only n+m code modules. Traditional approach would require n*m device drivers. Main part of Unified IO is operating system independent. Written in standard C++, it can be used with any modern compiler.

Drawing of Unified IO Logical structure…

Operating systems supported by Unified IO:

  • Linux (x86 platform only);
  • Microsoft Windows NT 4.0;
  • Microsoft Windows NT 4.0 with VenturCom RTX (WIN32 processes only);
  • Microsoft Windows 95;
  • Microsoft Windows 98.
  • IO cards supported by version 1.3.1.0 of Unified IO:
  • SS Technologies 5136-PFB-PCI;
  • OPTO22 AC28 and PCI-AC28;
  • OPTO22 AC5;
  • Arbor Technologies PCI-7248 and PCI-7296;
  • Allen Bradley 1784-KTS, 1784-KTX, 1784-PKTX and 1784-PKTS (only digital IO supported);
  • US Digital PC7166;

GE Fanuc PC Interface Module (PCIM) with µGENI (microGENI) Board.

Later we will be adding support for other operating systems and more IO cards.

If you are an industrial IO card manufacturer and would like to have platform independent C++ interface to your products please contact BBDSoft ( developers@bbdsoft.com ). We can add support for you IO product.

Your opinion about this product is very welcome. Therefore we invite everyone to participate in Unified IO Discussion Forum.

Leave a Comment