[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