Hello everybody,

I have started to work on a port of OpenPLC runtime onto XMOS processors. The nice thing with these processors is that they embed an hardware based multitasking scheduler, able to run up to 16 tasks in parallel with a 10ns switching accuracy (For more tasks, ucOS II has been ported on these processors, but I never tried this solution)

These processors does not have a lot of memory (the one I use is 2 x 256KB, with a true dual core architecture runnning at 500MHz), but they are extremely fast and deterministic, which make them well suited for OpenPLC. last but not least, the whole development chain is totally free, and it supports JTAG debugging probes (the probe costs around 30 euros, which is peanuts) !!!

There is still a lot of work to do, but I have been able to import directly the C code from a simple OpenPLC project (I used the Editor to generate the target files), compile it and make it run on my XMOS target.
I still need to copy files manually, change the makefile manually too, etc... but at least, the first step is done and shows it is feasible 😊

My goal is to design a XMOS based CPU card dedicated to OpenPLC, with a dedicated I/O system to add physical I/O cards, then write a configuration tool to generate all files automatically (including cross-compilation process, as the XMOS is unable to compile for itself) and load them in the CPU board.

Quote 0 0
Very nice!

I have used the XMOS processors before with audio projects as they have very good determinism and a large set of protocol libraries available at no cost (just ask them).
Quote 0 0