Process Control Help

Hendrik van Rooyen mail at microcorp.co.za
Wed Aug 1 04:37:36 EDT 2007


"Walt Leipold" <lei...e-net.com> wrote:

8<--------------- summary of state of the art -------------

> (Wow, that was a depressing post to write.)

Cheer up! - The end is nigh! 

Warning:
The rest of this post is barely on topic for python,
and contains some shameless self advertising. Its
probably bad for your health too.

I have just spent considerable time developing some stuff.

I call it SDCL - simple distributed control language

Its a simple scripting language, that is interpreted.

The HMI bits are python, the "compiler" is python, 
the simulator is python, the interpreter in the PC is
python.  What is not python is the interpreter in the 
PLC - that is a mix of Assembler and C, for speed.

You can run the code either in the PC, or in the PLC,
or as a mix of both - obviously fast stuff needs to run
in the real hardware, but a lot of the control, checking
and sequencing functions fall naturally into the PC.  
With the PC logging, you get ISO 900x almost 
automatically, as any change to a variable that lives in 
the PC is logged.

The language is still a bit "brain dead" - it implements a
virtual Reverse Polish Notation stack machine and reads 
like assembler, with less than 40 instructions to learn.

A real compiler is planned for some unspecified future time.

The first app is an injection moulding machine, and it has
been working for some months now, with crude animation
of the machine's motions on screen, and everything from
star-delta timing to thermocouple heating inputs and control,
as well as screw position and injection pressure sensing on 
the PLC.

There are just over 3000 instructions in the sequence to 
control this machine, and the "address space" is 64k of
instructions - so it is aimed at fairly serious control.

Unfortunately at this stage the "PLC" is Microcorp proprietary.

But the whole thing is aimed at simplifying the problem of 
putting voltages on wires and reporting the results to a PC.

I intend to open the spec as soon as I am satisfied that there
are no fearsome dragons left lurking in the code or the design.

- Hendrik





More information about the Python-list mailing list