Percy writes:
Something's sadly lacking in my education...
No, I don't think so.
"Automation programming" is a very small subset of "programming."
I program the computers ("PLCs") that run assembly lines like auto-parts-making-things, pharmaceutical-making-things, food & beverage processes (like dairy), and even amusement park rides.
But it's not "real" or "normal" programming.
Basically - they're computers that get a single program loaded into them, and they run that 1 program. Forever. They're very good at it - never getting windows or operating system updates because
they don't have an operating system and things like that. These computers are meant to be up and running 24/7... forever.
I would say automation programming is to normal programming the way... building a bomb shelter is like building a house.
The bomb shelter is amazing at keeping you safe and takes a specific skill set to build correctly... but most people don't need it, they need a house. Houses are way more flexible and customizable and popular.
ladder logic, AAA programming, Function Block Diagram or Statement Logic
Ladder Logic-Easiest to google that term and look at the images.
-is limited to automation programming, I wouldn't expect anyone outside automation programming to know what this means
-programming is done using a GUI that is reflective of looking at an electrical wiring schematic
-each "rung" is programmed by selecting the input structure (and/or...) and then firing an output like in a wiring schematic
-all the "rungs" together kinda look like a "ladder" -> Ladder Logic
-automation programming became a thing with electricians started making more and more complicated panels using relays, timers and counters
-they got real programmers to make the first "PLC" that could do this using a program... and an industry was born
AAA Programming-I just made this up
-was attempting to identify the difference between a big name brand programming language vs. small name brand programming
-in my world this would be companies like Rockwell or Siemens PLCs vs. say, DirectLogix or Carel PLCs
-in normal programming, I'm not sure if this analogy carries much weight (I don't know enough about the industry of normal programming to know either way)
-idea is similar to video games though... a "Triple A" game ("AAA") would be one made by a big name like Activision/Blizzard or Gearbox with years of experience and billions of $$$ as compared to an Indie game or other start-up company
Function Block Diagram-Easiest to google that term and look at the images
-looks kind of like a flow chart
-again, like Ladder Logic but just using a different GUI to do the same thing
Statement Logic-this is the one that's closest to normal programming
-but it's very basic, like loading values into registers, doing compares on those registers, and then setting outputs using lines of text as opposed to a GUI
the code outline approach where you distribute bare bones functions and data object definitions among code modules then fill in the details.
Sounds like real/normal programming.
I don't do a lot of that.
Although, more and more automation programs are getting away from PLCs and moving towards Industrial PCs (just expensive PCs, really) that run code like that (usually VBScript or C++, but I'm sure that varies as well.)
PLCs were popular for automation because in the days of Win 95 (and even earlier...) you did not want your computer running 24/7. Because it couldn't do that.
Today, Windows 10 actually can run 24/7 quite well (if you protect it from requiring reboots due to automatic updates...). Especially on good hardware (or even a VM) which is why the shift from PLCs to regular programming is gaining popularity.
Think of a bottling line with glass bottles zipping along on a conveyor. It never stops. Ever. If it stops - the company is losing money. 100% uptime isn't just a desired utopian goal... it's a requirement. It's still impossible, even with PLCs... but the efforts to get closer and closer and closer are much higher in automation programming. Shutting down even once a month for a planned reboot would be met with gnashing of teeth and screaming.
I can see the line of demarcation between automation programming and regular programming slowly disappearing. But it's going to be many, many years longer before that happens. Quite easily decades or more.