Main News (May 6, 2011) Documentation Downloads Mailing List Other Commercial Support




Looking for an intership? Check out the LAD Tools 2011 Summer of Code Offer

LAD Tools

Connect Koyo / Automatomation Directâ„¢ PLCs to GNU Linux & other Posix style environments via DirectNET


What is this?

PLCs (programmable logic controllers) are hard realtime, ruggedized, embedded, special purpose computers, with general purpose analog and digital IO. Typically they have counters, timers, conditional logic, and data communication facilities. They are specifically targeted for the end user to wire devices directly to them for control and monitoring purposes. PLCs can be found in use from industrial automation, to academic research, to home automation, and are widely considered, the approach to take for interfacing computer systems to other devices.

Koyo Direct Logic PLCs are one manufactures product line, with key attributes of particular interest to those in free and open source software industries. That is, these devices are readily available at low cost directly to the end user from various distributors, maintain long product life cycles, and have a openly documented serial interface protocol.

Years ago, this documentation allowed me to create some linux programs to interface with these PLCs. Later this was refined and incorporated into some client projects where it has seen many years of 24/7 use at almost a hundred installations. Several times I started to make a presentable project for download, and despite many people contacting me regarding the effort, my time for it simply was not there. However, more recently, I have had to revisit the project to make improvements that I needed in other work - chiefly, deprecating a dependency on a home brew event abstraction library of mine from long ago when I liked to learn everything the hard way, and replacing it with glib. The name also needed to be changed to avoid any possible misrepresentation of AD. This page represent this further refined (and somewhat resigned) variation intended to share with the world.

What Can One Do With This?

While a great deal can be accomplished with out a PLC program at all, ultimately you will want to program the PLCs themselves which requires software from Automation Direct. There is a free download version, and it does "work" under wine and virtualization. This is only required at development time. At runtime, your software created by you will run on your machine completely free of all proprietary dependencies. The combination of LAD Tools, and Direct Logic PLC hardware is a gateway between your Linux development environment, and the physical environment you live and work in.

Preliminary Goals

  • A LGPL licensed C library for programs to connect to PLCs directly from serial ports
  • A GPL licensed command line reference utility suitable for shell scripting and debuging
  • A GPL licensed dataserver allowing datagram unix domain socket based read and write requests to be proxied to other processes via the client library
  • A LGPL licensed Python wrapper for the client library
  • Solid documentation for all of the above

thomas at wsinnovations.com