[chbot] Simple robot programming

Charles Manning manningc2 at actrix.gen.nz
Wed Jul 1 20:41:48 BST 2009


On Wednesday 01 July 2009 18:05:33 Morris wrote:
> Thanks for the summary and links!
>
> classicladder is interesting! Looks to be active and a lot more than a
> simple ladder logic editor/executor.
>
> > 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.
>
> "It can run on little embedded platforms (no GTK interface dependance,
> and number objects to allocate for less memory usage)." strongly implies
> that the execution engine can be used stand-alone. However I suspect it
> would not be a trivial amount of work to get it to the point I could use
> it for my own uses!

Hi Morris

As I have suggested before, there are really two simple ways ways to do this:
AVR + C (where the C has been macrod to hide the frightening stuff) is pretty 
simple. AVRs are really easy to work with if you build everything from 
scratch and all the tools are open source and are multi-host (Windows, Linux, 
Mac, BSD...) they don't need regulators (1.8-6V) and don't need crystals 
etc . 

Richard pointed the discussion to a simple page and it can be even simpler 
than that if you use Ubuntu etc to pull the tools or use winavr (prepackaged 
toolset for WIndows). Trivial setup, almost trivial programming with good 
macros.

FOREVER {
  if(BUTTON_PRESSED) {
    LED_ON;
  }
  else {
   LED_OFF;
  }	
}

The ladder logic approach is pretty simple.In the one I'm looking at, the GUI 
(Windows/Wine) generates an easy to parse text file (Or you can just write 
the text directly). Crank that through a simple parser and then run on a 
simple ladder exec engine. Non trivial setup, trivial usage.

RUNG
    CONTACTS XButton 1
    COIL YLED 1
END


Both these are way simpler to use than just about anything else although I 
daresay you could do some sort of simple and limited CGI scripting, but that 
would be quite limiting for the user.

-- Charles


>
> Cheers
>
> On Wed, 2009-07-01 at 17:18 +1200, Stephen Irons wrote:
> > 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.
> > =======================================================================
> >
> >
> > _______________________________________________
> > Chchrobotics mailing list Chchrobotics at lists.linuxnut.co.nz
> > http://lists.ourshack.com/mailman/listinfo/chchrobotics
> > web site: http://kiwibots.org
> > When replying, please edit your Subject line to reflect new content.





More information about the Chchrobotics mailing list