Arduino PLC Software

October 28, 2011

The Ardunio PLC design I designed is nothing without software to drive it.

My initially thoughts was to hardcod the process logic using C programming code. This would involve reading from the AVR’s I/O pins with digitalRead() and writing back using digitalWrite(). Process Logic in-between the “in” and “out” instructions would be written using if’s, else’s and switch C statements to perform the desired logic task. After spending some time in the Raspberry-Pi forums, I realised this approach while fine for myself and other C programmers but it would not be suitable for beginners.

So, I’ve begun looking at ways to make a full PLC programming environment for the Arduino PLC.

A developer will write their PLC statements using a PC based environment such as free automation tools from and Beremiz and CoDeSys. Once the plc program is complete, it can download the control program to a IEC-61131 run time such as LDmicro, executing on the Arduino PLC hardware.

Some useful sites:

http://www.plctutor.com
http://www.plcmanual.com
http://www.beremiz.org
http://www.cq.cx/ladder.pl
http://www.3s-software.com/


Arduino PLC v0.20

June 27, 2010

The design for the Arduino PLC shield is coming together now.

I’ve removed the “flywheel” diodes from the relays as the ULN2803 already has them. I’ve added a simple +5V power supply and changed the Arduino footprint to the Seeedstudio clone so we get an extra two analog inputs. The standard Adrunio Duemilanove will work as well but you won’t get the extra two analog inputs. I don’t think the TLP521 can sink sufficient current to illuminate the input LED’s so I might added some transistors to do that or just remove the input LED’s completely.

The updated schematic is here:

arduino_plc 0v20


Arduino PLC Shield Schematic v0.10

May 24, 2010

I’ve managed to find some time this week to put together a draft schematic for the PLC shield.

I’ve only included 4x opto isolated inputs as I happened to have some TLP521 Quad Opto’s handy. I’ve added a couple of extra analog inputs as I may used a Seeedstudio v2.12 Arduino clone and that has an extra two analog pins so it makes sense to have them available and I’m still need to find a spare control signal to control the RX/TX enables for the RS485.

arduino_plc 0v10

An update can be found here:
Arduino PLC v0.20


Arduino PLC shield

April 28, 2010

I recently had a need for a simple digital controller something similar to a simple PLC (Programmable Logic Controller). I wanted to use the Arduino board I had but I couldn’t find any I/O shields that had the right mix of relay outputs (6) and opto-isolated inputs (6).

I know I could stack shields but the enclosure I had wouldn’t allow it. So I’ve put together a oversized (its a lot wider than your normal shield) Arduino PLC shield schematic which has 8x Relay channels and 6x Opto-Isolated channels and some analog inputs as well. The final number of relays and opto’s channels may change but I’ll post it and a PCB once it’s finished.

An update can be found here:
Arduino PLC v0.20