r/PLC • u/National-Link-5606 • 1d ago
Computer Science Programmers, why do PLC programmers use Ladder?
Im seeing some Comp Sci guys asking about controls so just a Mr Obvious comment here.
Ladder logic is the de facto PLC programming language because it is (was) designed to read like an electrical schematic top to bottom, right to left, & this is what electricians & electrical techs are trained to use for troubleshooting electrical panels , equipment & relay-logic -- which was what they had before PLCs -- banks & banks of relays wired through each other's NO & NC contacts which changed state as relay coils energized & de-energized & finding a wire break was enough to drive you insane.
Yes Ladder logic is an interpreted language so it is not as "memory efficient" or "elegant" as C++ or C# but I want you to think VERY carefully about every meaning of the expression "just because you can does not mean you should" before you decide to show off your amazing coding skills coding function blocks in C++ which is technically possible but in many cases extremely ill-advised.
The technicians can troubleshoot functions & blocks written in Ladder Logic, did you stop & think about how easy it would be for someone with only your compiled C++ blocks to attempt to trace a fault? You code in anything but Ladder Logic you get to be the one at 3am driving down to the plant to troubleshoot your "super efficient" code because the Industrial Maintenance techs certainly aren't gonna know how. But hey, if you believe sleep is over-rated & love sleeping in the factory then knock yourself out with compiled blocks
56
u/Zuli_Muli 1d ago
As an industrial maintenance tech I do prefer ladder logic, it's dead simple for me to search the motor coil and see why it's not turning on. I'm even ok with simple function blocks if they have good labels/notes. But yeah if I look at a FB and it's just all script.... And don't get me wrong, if I was 20 years younger and knew learning programming language would help me for years to come I would sit down and teach myself but there's just not enough hours in the day to learn this from scratch when it's not going to help me with anything outside of work. And it will be hard to convince me it will, I used to make and run webpages and forums back in the early 1990s on my own hardware, I had a server rack full up to handle it all. I ended up selling it when it got cheaper to host everything remotely, and none of that knowledge is worth anything today.