Originally Posted by
pturmel
Ladder logic is rather easy for just about anyone to follow. So too with function block programs. Well-documented AOIs in ladder or FBD fit this paradigm well.
FWIW, I've been that young buck, deploying code that could not be maintained by techs and electricians. I have 40 years of paid conventional and OOP programming under my belt. I make my industrial customers happier with my 30 years experience with ladder logic.
...Ladder logic is easy to follow in simple applications throw in calculations or recipe management as some brands start to do in order to reduce complexity and reliance on Windows and Ladder is definitely not simple to understand. ...
Generally, calculations will not be understood by techs and electricians, so that does not make the case for or against any language. Also, calculations are not where the techs and electricians get involved in the first place, so again it doesn't matter.
@pturmel's post makes a point that should be obvious: whatever their specific skills, all must be business-people first. Business choices will be situation-dependent: sometimes OO will be the best choice, sometimes ladder; when someone promotes one shiny-shiny solution for all situations I call nonsense by its name.
Choosing OO over ladder for calculations or recipe management may save money in project development, but any such benefit at the front end is amortized over the life of the project, which life is measured in decades as noted earlier. So that benefit, in a business context, is minimal to non-existent.
Using ladder for the boolean logic sections, which techs and electricians
can understand, can and will reduce downtime throughout the life of a project; that is a hard, operational, and ongoing benefit. Using a procedural language increases downtime by leaving the techs and electricians twiddling their thumbs during an outage while they wait for the high priest (programmer) to arrive*.
* Yes, well-made HMI screens can and should be created to aid diagnosis, but 1) that will only work for situations anticipated by the HMI designers, and 2) that should always be done and is independent of the language. One unanticipated outage without ladder, where none of the HMI screens help, and they are back to twiddling thumbs.
Caveat: I don't have a dog in this fight, but even with decades writing code in procedural and OO languages, I can see the business benefits of ladder when it fits.