PLC Connect

Project to provide interchangable drivers to SCADA and PLC programming software

The intention of this project is to provide a common PLC API so that other projects can interface to a range of PLCs by interfacing to this project. By means of a compiler flag, this project will also provide the option of a small interface with no network connectivity, or a larger interface where multiple programs can talk to the same PLC, including over a network.

The biggest problem with this project is going to be how to define a "common" interface, that can access all the different features of various PLC's, while at the same time conforming to a "standard" interface.
The approch I am taking for the moment is to encapuslate each PLC communications "Packet" in its own instance of a class derived from "PacketTemplate".
In this way I hope to provide a common interface for common funtions such as to read / change PLC network node addresses, do checksum calculations and so forth, while funtions unique to specific PLCs can still be used by customising each packet on a byte by byte basis.
It is also my intention to provide an interface to perl and Java programs so that these programming languages also have access to each "packet".
The biggest problem I can see with this approch is that there is a lot of overhead for each "packet" instance.
I intend to arrange things so that there is only one set of "packet" program code that goes with each class type, rather than each class instance, and that x "packets" will only have 1 lot of interface program code that is shared, with x copies of the packet data itself.

UML diagram

As this is a one person project and I do not need to keep other members of the project up to date, and it is not being used in any other projects yet, I am not keeping the sourceforge website up to date very often.
If you would like a currant copy of the project, please email me at laughton.andrew at gmail.com.

Links to other projects

Last updated 20 Jan 2008
Supervisory Control And Data Acquisition. (SCADA)
Machine Automation Tools This is a project to create and distribute a PLC-like program for Linux (PLC = Programmable Logic Controller), licensed under the GNU GPL.
A broader scope than this project, and lots of time and effort has gone into it.
Unfortuneatly the project only compiles with earlier versions of gcc, and I am not clever enough to work out how to update it. Last release 19 Nov 2002
Visual Visual is a set of programs to control,operate and monitor industrial machinery from a computer screen, either on a local computer or over intra-/internet.
Latest release August 26 2005
SEA
(Simple Expandable Automation)
Windows based SCADA system. Latest release 26 Sep 2002
RTiC-Lab The Real Time Controls Laboratory, (RTiC-Lab), is a layer that sits on the Comedi interface and provides a selection of tools. It is designed as an easy to use controls prototyping tool.
Latest update April 23, 2001.
STANTOR Stantor is SCADA for the computer interface board K8000 (I2C bus) , X10 modules and also Webcam. It uses Browser WEB, I-mode and Wap, Apache,mySQL, PHP, javascript. It runs with Linux-Mandrake. The version 06 uses SOAP
Latest release January 17, 2008
Stage Light Basic StageLight Basic is a simple automated stage lighting sequencer idea for Schools, traveling performers, shops and small theatres.
Latest update V0.0.20Alpha July 10, 2002
Process View Browser SCADA software that is similar to an internet browser. It is intended for the use in industrial process visualization. It is based on Qt http://www.trolltech.com which is a platform independent GUI toolkit. ProcessViewBrowser is platform independent, because only posix calls and Qt are used.
Latest update Version 4.2.5 20 Jan 2008
FreeSCADA No releases at 20/Jan/2008
A general purpose open source SCADA (Supervisory Control and Data Acquisition) system.
SCADA honeynet The SCADA honeynet project aims to extend the concept of Honeynet to SCADA networks. The project aims to simulate a SCADA network, includeing the devices and the network itself running a bunch of scripts on a single box. Latest release 15 July 2005.



For general information, the following PLC types have drivers, but not on this site.

FeedBack

Feel free to e-mail Andrew Laughton if you have any ideas on how to make this project better.
SourceForge Logo