Linux/UNIX to PLC API Library
/* PLCIO Currently Supports PLC Models from the Following : */
Version 4.5.2 released November 14, 2017!
(New version 4.6.0 coming June 2022)
/* Platform Compatibility */
PLCIO version 4.5 includes support for the following PLC types:
AEG Modicon Quantum PLC via Ethernet
Allen-Bradley Logix 5000 family (ControlLogix, CompactLogix, FlexLogix, SoftLogix) via EtherNet/IP
Allen-Bradley MicroLogix via EtherNet/IP
Allen-Bradley PLC-5 via DF1 serial, Ethernet, or EtherNet/IP
Allen-Bradley SLC 500 series via DF1 serial, Ethernet, or EtherNet/IP
Modbus RTU modules over serial
Modbus+ TCP/UDP modules over Ethernet
Omron C/CS/CJ-series CPUs via Host Link over serial
Omron CS/CJ-series CPUs via FINS over TCP, UDP, EtherNet/IP, or serial
Siemens Step5 via AS511 serial protocol
Siemens Step5 via INAT Echolink over Ethernet
Siemens S7-200/300/400/1200/1500-series CPUs via Ethernet
Wago 750-842 PLC via Ethernet with optional unsolicited UDP support
PLCIO communicates to EtherNet/IP Bus Terminals. These terminals have been tested specifically:
Beckhoff BK9105 over EtherNet/IP
Phoenix Contact FL IL 24 BK ETH/IP-PAC over EtherNet/IP
Supported Operating Systems:
GNU/Linux ----------------------
GLIBC 2.0 or later, Linux kernel 2.2 or later
HP-UX 11 -----------------------
HP aCC (cc) or gcc build environment
AIX 7 ------------------------------
IBM XL C (xlc) or gcc build environment
Windows XP and later ------
MSYS/MinGW build environment
FreeBSD 10 --------------------
clang or gcc build environment
                          (And other UNIX systems on request)
/* About CTI PLCIO */

PLCIO – written especially for enterprise and industrial users who need PLC communications for Linux/UNIX platform computers.

Celebrating 25 years of PLCIO - PLCIO was born from the need to provide a simple, but effective communications interface to talk to I/O devices.  Our primary objective was to abstract the application and communications layers so that someone programming the business and database logic would not have to worry about the communication details.
Read Entire History of PLCIO
Very light-weight – does not require any custom hardware or specialized drivers. Ethernet and serial protocols supported.
Easy learning curve - PLC communications protocol experience is not required.
Source code distribution is setup for maximum flexibility, maintainability and integration, now and in the future.
Enterprise applications for PLCIO:
Warehouse management
ASRS (automated storage and retrieval systems)
Embedded control systems.
Or whenever sophisticated data systems need access to PLC automation technology
/* You've got questions, We've got the answers */
The runtime for PLCIO is sold by CPU license. What is a CPU?
For PLCIO, we define a CPU as an active production computer running PLCIO. If this computer is one small Pentium 3 or a huge four CPU Quad Core Xeon processor box, both are defined as One CPU. If there are two computers are running as a cluster, one CPU license is needed for a failover cluster; two (or more) are needed as a “load balanced” cluster. The spirit of our CPU license is “active production” computers.
Regarding the "virtual" module, there are only two tags: RAW1 and RAW2. What if I need more addresses to store data?
You can use the "tagname(offset)" syntax with these tags. As shipped, RAW1 is 200 bytes in size and RAW2 is 2000 bytes in size. Therefore if you were working with 16-bit integers, you can store 100 integers in RAW1 and reference them as RAW1(0), RAW1(2), RAW1(4), and so on. If you need to increase the size of the tags, you can edit the VIRT_RAW1_SIZE and VIRT_RAW2_SIZE #defines in so/virtual.c and recompile the library.
© 2022 Commercial Timesharing, Inc. (CTI) All Rights Reserved      |     PLCIO is product of CTI      |     |     ph: 330.644.3059