I agree that hardware using MCUs often involve time critical components which is a secondary aspect of the Arduino environment, or even an afterthought. The panacea of a state machine programming style doesn’t answer this, though it is implicitly offered as the solution.I wouldn't call it a disease, it's the natural progression of overlapping turf battles as system complexity increases. Managing total system complexity is the issue. It's more a function of properly indoctrinated (in today's version of the magic software solution) software programmers designing generalized systems using abstract hardware 'blocks' with hardware engineers designing physical interface systems using software 'blocks' to perform a dedicated function that often have non-virtual timing (not simply about speed) constraints on moving parts that obey physical laws. Hardware engineers tend to focus on the physical components of a computer systems while software engineers work with the virtual aspects that are at times boring to most hardware guys IMO. Low-level modular embedded specialized systems have typically been a domain where the academic programming faith of removing direct programming of underlying hardware by means of 'framework' abstractions was seen as not productive to the final product by the EE managers of X hardware projects. Many of these baroque academic software systems crumble under their own weight in this domain eventually leaving the indoctrinated software programmers to understand why simple C based minimal hardware based frameworks are still around for embedded systems running for years or decades in most cases.
Oddly I was contemplating something similar, but on researching it I found I could buy the basic functionality my gardener said I needed at a price that made it a no-brainer to buy rather than build; sometimes just because something can be done doesn't mean it should be!I am right now in the middle of designing and building a drip irrigation timer.
This is a relatively straight forward embedded MCU application that requires an LCD module, 4x4 keypad, water valve, battery operation, low power sleep mode. I am applying an Atmel ATmega8 for this because I have ample quantities in stock. This would be a perfect project for an Arduino board and shields, which I would have to order.
Yes, if I were new to MCU programming and interfacing, Arduino would be a perfect solution. However I am way past the neophyte level and more than comfortable and happy to go DIY.
Yes, that was another option, to go bluetooth and have the user input via a smartphone or tablet.Oddly I was contemplating something similar, but on researching it I found I could buy the basic functionality my gardener said I needed at a price that made it a no-brainer to buy rather than build; sometimes just because something can be done doesn't mean it should be!
However, for my garden I want a steampunk 'sculpture' that shows temperature, pressure and humidity on a 4 - 5ft dia dial. Can't buy one that size so I'm getting it made by a local company that normally makes gates n stuff, but the concentric dials will be driven by big servos and a wireless link from my weather-station (DIY). That will be an ESP32-based solution....
The main principle and intent behind the PLC was to create an electronic version of the electrical schematic ladder (boolean) diagram and control in order for shop floor personnel to very quickly and efficiently solve failures in assembly line equipment, at least this was GM's intention when it spawned the idea in '68 and Dick Morley took up the challenge.for 'marketing' purpose at least, 'arduino' is kind of 'popular' and more people 'heard' it these days compared to some propietary PLC.
it become a 'marketing' term to capitalize on the idea of a customizable PLC where the PLC is up to one's design and need not conform to anything.
Actually you can putThe difference between a 'traditional' c/c++ implementation is that it mostly start in main(), the "*duino" or wiring api based implementation simply extends that further down to setup() run initially and loop(), which is nothing more than while(1) loop();
while(1)
{
.
.
}
#define main() setup()
I think the main value of a PLC over an arduino or similar is the easy-to-understand graphical representation, but was it always? Honest question, I wasn't around when the party started so I don't know. One opinion that I feel entitled to is that Statement List/Instruction List programming (as is so popular with European Siemens enthusiasts) completely defeats what I think you and I would agree to be the main reason for using a PLC. So I sought to find the origin story of Statement List and this is all I found. It seems to indicate that Statement List was the very first PLC programming language. Is that true? If so, when/how did the easy-to-understand graphical representation part come on the scene?The main principle and intent behind the PLC was to create an electronic version of the electrical schematic ladder (boolean) diagram and control in order for shop floor personnel to very quickly and efficiently solve failures in assembly line equipment, at least this was GM's intention when it spawned the idea in '68 and Dick Morley took up the challenge.
As long as the system fulfills this main premise, then any means of control can be behind it.
Are you aware of the OpenPLC project?I think the main value of a PLC over an arduino or similar is the easy-to-understand graphical representation, but was it always? Honest question, I wasn't around when the party started so I don't know. One opinion that I feel entitled to is that Statement List/Instruction List programming (as is so popular with European Siemens enthusiasts) completely defeats what I think you and I would agree to be the main reason for using a PLC. So I sought to find the origin story of Statement List and this is all I found. It seems to indicate that Statement List was the very first PLC programming language. Is that true? If so, when/how did the easy-to-understand graphical representation part come on the scene?
I wasn't able to find much on the early use of Statement List so I googled about Dick Morley and the internet had little to say other than he is the father of the PLC.