ClassicLadder : a project to create a free ladder language in C
A project to have a free ladder language in C.
Generally, you find this type of language on PLC to make the programs of automation process.
It allows to realize little programs or bigger in an electric way.
This project is released under the terms of the LGPL licence.

Fed up with all the advertisings on this page? So am I! There is now a new web site here on Google Sites. Initially done only for the first ClassicLadder hardware I/O module proposed (below), but you can now go directly to this new site and update your bookmark!
Opened a survey (see the news on source forge, in both english & french), to know if people would be interested by an available hardware (PLC or I/O module for PC), ready to be used with ClassicLadder.
Please take a little time to check the answers of the 5 questions. It's important for me to known...
GENESIS...
I decided to program a ladder language only for test purposes at the start, in february 2001. It was planned, that I would have to participate to a new product after leaving the enterprise in which I was working at that time. And I was thinking that to have a ladder language in thoses products could be a nice option to considerate. And so I started to code the first lines for calculating a rung with minimal elements and displaying dynamically it under Gtk, to see if my first idea to realise all this works.
And as quickly I've found that it advanced quite well, I've continued with more complex elements : timer, multiples rungs, etc...
Voilà, here is this work... and more : I've continued to add features since then.
FEATURES...
Classic Ladder is coded 100% in C.
It can be used for educational purposes or anything you want...
The graphical user interface uses GTK+.
The programs are splitted in sections (mains or sub-routines), in which you select a language.
Two languages can be used in them:
- Ladder.
- Sequential (also known as grafcet).
The following elements are available in the ladder :
- Booleans elements
- Rising / falling edges
- Timers
- Monostables
- Counters
- Compare of arithmetic expressions
- Booleans outputs
- Set / Reset coils
- Jumps
- Calls to sub-routines sections
- Operate of arithmetic expressions
There is a full editor for the rungs of ladder and the sequential pages.
When editing, use the pointer of the toolbar if you want only to modify properties, else select the element
you want to place in the rung.
Each variable can be associated to a symbol name that can be then used instead of the
real variable name.
ClassicLadder can run in real-time (optional) with RTLinux v3, with RTAI and recently with Xenomai.
It can run on little embedded platforms (no GTK interface dependance, and number objects to allocate for less memory usage).
HARDWARE SUPPORT / SCADA...
Classic Ladder can be used to drive real physical inputs/outputs:
- Direct port access (parallel port for example)
- Comedi drivers project
- Modbus/RTU distributed modules (Serial) and Modbus/TCP (Ethernet)
A Modbus/tcp server is available that can be used to link with a SCADA software (like Lintouch).
REQUIREMENTS...
For using Classic Ladder as it is, you need :
- Linux and GTK2 librairies
- Windows (but with not all the features for real I/O access)
DOWNLOADS...
You can download here on SourceForge the last sources + executable + projects examples.
DOCUMENTATION...
Actually you should take a look at the only README file available, included too in the archive (and here the TODO list for future works).
But, here you will found a nice little manual for using the sequential editor done by someone using classicladder:
http://users.teledisnet.be/web/rlo05343/umanual/umanual_for_classicladder.html
If you don't know at all how work ladder, you can take a look here:http://www.plcs.net/contents.shtml
You can take a look at the following project using ClassicLadder in an adapted version: EMC2, used to control machine tools. They have written some documents, that some parts could be interesting even if if is not totally the same version.
Some snapshots...
Main section display with a ladder one, the toolbar and properties window.
Snapshot of the sections manager window with 3 sections(2 ladders and 1 grafcet).
Snapshots showing a sequential section display and the toolbar for it.
Version 0.6.5 snapshot featuring the physicals Inputs/Outputs mapping
with direct I/O port access or Comedi connection.
Version 0.7.4 snapshot featuring the modbus I/O distributed configuration window.
Just to see that it also works perfectly under Windows.
Old snapshots here
Go to Home Page
ClassicLadder © 2001-2011 Marc Le Douarain - Last update : 2 January 2011, 20h53