Projects / PLCIO


The PLCIO library reads and writes data to a variety of programmable logic controllers (PLC). Now in its 20th year, PLCIO is a stable platform allowing the programmer to address PLC memory by their tag names for different data types, regardless of the computer architecture, with the PLC linked either directly or remotely. PLCIO abstracts the application and communications layers so that the programmer of the business and database logic need not worry about the communication details. Full source code is included, as are samples and a CGI interface for PLC access from a Web browser. It runs under Linux, HP-UX, Solaris, and QNX, and can be used as a replacement for the aging Interchange software by Allen-Bradley. PLCIO supports the Serial DF1 and Ethernet protocols of the Allen-Bradley PLC-5, SLC 500, ControlLogix, CompactLogix, and MicroLogix PLCs (using the CIP protocol), the Modicon Quantum PLC, the Wago 750-842 PLC, the Siemens Step5 PLC (using the AS511 serial protocol or via Ethernet using the INAT Echolink), and the Siemens Step 7 200, 300, and 400-series CPUs. It also supports communicating directly with an I/O bus terminal such as the Beckhoff BK9105 or the Phoenix Contact FL IL 24 BK ETH/IP-PAC.

Operating Systems

RSS Last announcement

20th year anniversary! 07 Jul 2011

We are celebrating our 20th year of PLCIO as a leader in UNIX-to-PLC communications.

We have revamped our website to reflect this achievement. H...

RSS Recent releases

  •  01 Mar 2011 03:21

Release Notes: This release adds support for applications to receive simultaneous multipart PCCC messages from PLC5 and ControlLogix. It also fixes compiling with HP-UX's native C compiler and enhances enipd's reliability over a faulty local Ethernet network.

  •  28 Jan 2011 07:12

Release Notes: This release reintroduces support for the serial DF1 protocol for Allen-Bradley PLC5 and SLC5/00 PLCs. This release also adds support for Siemens S7-200 series PLCs, rack selection for S7-300 and -400 PLCs, and ASCII file types on PLC5 and SLC5/00 PLCs.

  •  14 Jun 2010 21:46

Release Notes: This release adds support for Allen-Bradley ControlLogix PLCs that have been upgraded to firmware version 18.

  •  03 Jan 2010 23:55

Release Notes: This release adds support for communicating directly with I/O Bus Terminals (such as the Beckhoff BK9105 and Phoenix Contact FL IL 24 BK ETH/IP-PAC). It also adds new API functionality to poll for PLC events in unsolicited mode using select().

  •  09 Jan 2008 10:45

Release Notes: This release adds support for Siemens Step 7 400-series CPUs. Also included are bugfixes for addressing timers and counters in the 'abeth' module.


Project Spotlight


A library for manipulating sets and relations of integer points bounded by linear constraints.


Project Spotlight


A C library for sending email with attachments.