I've always wanted to fiddle with PLCs, but don't want to spend much (read as: any) money on commercial kit. I wonder if there's a "hobby grade" PLC? I doubt it but thought I'd ask.
What do you want the hobby PLC to do?
Even if there is a hobby grade PLC, would learning it help in some way, would it map to the Allen Bradley grade perhaps. The hobby PLC outfit will surely say learning it will help, but would you believe them. Hope springs eternal.
Personally, I think PLC's BASIC-like language is very confining, I would rather toy with Micropython (than BASIC or ladder logic) or tinker with C and a Makefile (for AVR's mind you) on a Raspibary Pi.
There was a time I wanted to learn about Modbus until I did and realized it was a waste of time. The only thing I really like is a console or command line interface. Standard Commands for Programable Instruments (SCPI) is almost the stuff but is not interactive. Connecting to an SQL server is it, that is the stuff. It is both a command based system and interactive, which means I can manually connect and debug it, or I can write a self-documenting program and control it. I guess that is why I like Python and at least the idea of Micropython (yet to try it), I can just connect to the console and type in the commands and see what happens.
(deleted)
There is a company called COMFILE that makes several different types of PLC devices in addition to their other products. A couple of years back, I bought one of their starter kits based on their CUBLOC CB-290 device. The nice thing about the product line is that you can program in BASIC or LADDER LOGIC. Right out of the box, it took about 20 minutes to be up and running. This of course is just a personal observation, but I was very pleased with it and I was able to learn what I needed to learn. Their website can give you more details.
Siemens LOGO range are pretty good. Programming is visual in functional blocks not in code. But I would agree that an Arduino can do pretty much anything you can do with a PLC. It depends why you want to use one.
I've always wanted to fiddle with PLCs,
Maybe time to look at a different instrument.
.
PLC-grade device based on Arduino Mega 256 is very interesting !
If anybody interested in making this as official Arduino project (Arduino variant), I'd like to commit.
So we have two problems:
-
hardware:
1a) need DIN case, typical industrial on-board screw connectors, and tiny 4 line LCD for status/interface display
1b) lot of armored protection circuits, 600V isolation is minimum
1c) separate power source for DIN rail with mandatory lead-acid accumulator buffer (compatible with industrial analogs) -
software
2.1) adhere to the IEC 61131/3 control systems programming standard that defines 5 languages: Ladder Diagram (LD), Structured Text (ST), Function Block Diagram (FBD), Instruction List (IL) and Sequential Flow Chart (SFC), free development tools
2.2) but for hobby use std. Arduino API can be acceptable for first time -
interconnection with industrial modules
3.1) MODBUS, Industrial Ethernet for control bus, + i/o ethernet for service and level-up integratoin into SCADA network, so require
3.2) two eth interfaces, for hobby use secondary i/o eth must be replacable by wifi module
3.3) 2xCAN -- not widely used in industrial PLC, but will be good to have
My think about HobbyPLC is:
- tiny Cortex (STM32) STM32F103 something, with service firmware, with hardware blocked reprogramming ability -- it must be secured remote control/reprogramming unit, maximal stable, unable to be broken remotely
- user unit: large STM32F4xx with large flash/ram for user firmware, free to play with
- fast control unit based on non-volatile CPLD -- required to be ready to work just from power up, especially for safe-critical control lines processing