Classic Ladder

Monday, 9 February 2009
Posted by Joe

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.

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.htmlIf 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.

    Related Post:

    Label:

    0 komentar: