"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 -- http://mail.python.org/mailman/listinfo/python-list