[chbot] Simple robot programming

Stephen Irons stephen.irons at tait.co.nz
Wed Jul 1 06:18:34 BST 2009


A PLC is just a robot used to control industrial machinery, and PLCs can 
do a wide variety of tasks. IEC 61131-3 specifies five languages for 
programming PLCs: Ladder Diagram (LD), Instruction List (IL), Structured 
Text (ST), Function Block Diagram (FB) and Sequential Function Chart 
(SFC). IL is exactly the same as LD, except using text notation rather 
than diagrams. ST is a Pascal-like programming language and adds nothing 
that any other imperative language can provide, and is probably not as 
well-defined as modern languages.. FB adds the ability to incorporates 
nested blocks of the other languages, and is very useful. SFC adds 
state-machine like behaviour.

The combination of LD, FB and SFC is very powerful.

As Charles mentioned, there are at least three parts to the system: the 
drawing tool, the compiler and the execution engine. An almost-essential 
additional part is a debugger.

In a previous job, I ported a (commercial) PLC execution engine to run 
on a 2 MHz 68HC11, so a WRT-style router will certainly have the oomph 
to do it.

The drawing tool, compiler and debugger were Windows-hosted.

The drawing tool included support for all five IEC 61131-3 languages. 
The drawing tool also included software-engineering utilities such as 
version control, documentation generation, etc.

The compiler generated byte-codes that were loaded into the target and run.

The debugger connected via any available channel (of course, you had to 
port the communication code), and you monitor the states of inputs, 
outputs and variables, could set breakpoints and watchpoints in all 
sorts of ways.

The execution engine was very standard ANSI C, so could be ported to 
just about anything.

The name of the system was IsaGraf, and they are still around. The whole 
system cost a lot, but was far cheaper to buy than to develop ourselves.

As far as I know, there are no Linux-hosted tools that do all of this. 
However, there are a number of places to look:

http://membres.lycos.fr/mavati/classicladder/ includes LD and SFC. I 
don't know whether the execution engine is separated from the drawing 
tool. The web-page was last updated in 2009, so it might still be 
maintained.

http://mat.sourceforge.net/ looks interesting, but they don't seem to be 
very active: last updated 2006.

Stephen Irons


=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
 altered or corrupted during transmission.
=======================================================================




More information about the Chchrobotics mailing list