Several people have contacted me regarding the “Teensy++ PLC”, either with the idea of extending it, or porting it to other microcontroller architectures, or developing it further as a true “Arduino” solution. Especially the true Arduino PLC solution is very tempting for me. Indeed, that was the idea that followed me from the very start. So, let me put together some thoughts on this topic.
After some joyful time I’ve had playing with GUI concepts and visuals, I threw that initial code away and started doing it the right way. At the time being, I have a simple GUI and dinamically extensible framework at some early stage. Think of it as a tiny, super-light netbeans or eclipse-like platform. There’s more to follow here. Take care!
That’s my new project I’ve been working on for some past weekends and afternoons. Yes, there are some similar projects that have already been started. And yes, there are some plugins for Arduino development beeing developed for NetBeans and Eclipse (and these solutions tend to be more powerful in the start and – perhaps – also in the future, because of the feature-rich platforms they extend). However, there is no really specialized IDE for Arduino development that would satisfy me out of the box. And – most of all – I need another challenge! I work with IBM RAD most…
Finally, here are the sources I was talking about for so long! This project page wouldn’t be complete without it, would it? The zip file below contains complete sources of AVR firmware in Arduino language (C++ with a couple of libraries, basically), the graphical development environment, a sample control program with corresponding configuration, a simple PC SCADA application and a simple communication library in Java. plc-project-061010.zip Schematics and other info can be found here (just search in the document, you’ll find it at the end). It looks like that: Do read more about it here.
If you’ve ever played with WinAVR, you have probably noticed the pretty resource usage info printed after each compile. You may miss that candy if you compile with GCC on Linux. In that case, grab a simple script avr-mem.sh. While the script should work with common AVR chips, you must modify it in order to use it with AT90USB646.
Here it is! The AT90USB646-based homebrew programmable logic controller. It’s not quite a Simatic S7 (and it’s not even completed in most parts), but it’s a nice start. A more complete and IEC-ish environment on the development software part (among many other things) would be nicer, but… the code is (will be) here, so extend it to whatever you want. But, whatever you may want to do with it, keep in mind it’s more of a “proof-of-concept” thing than a production-ready device.
Ubuntu Server (and others) If you play a lot with servers or networked PCs with multiple NICs and change and switch network cards often, you sooner or later end up with two computers having network cards named in a different order by the operating system (eg. the NIC in the first slot is eth0 on one computer while being eth1 on the other). But usually you want to have all computers in a group configured the same way
After looking at the Beremiz iec2c compiler source, I decided that modifying it to fit into this project is probably not the way to go. At this time, I’m deep into experimenting with the Coco/R framework on Java to produce my own IEC compiler. To make things simpler, I decided to support