I don't know which side of the fence you are sitting from your post, there are many ambiguities.
If you read the link, you will see what part of my post was a quote. I assumed the audience had read the material in the link and I was referring to it. However I failed to delineate sufficiently my thoughts from the texts.
I am in favor of flexible code that works reliably, period. I try not to be biased or closed minded to new ideas. However I am very skeptical and I do not accept new ideas just because they are new or because someone tells me it is a great thing.
With this in mind, I read through the S88 explanations and realized that much of what S88 claims is very similar to what I already do. What I have been resisting is a poor implementation of a similar idea using a home made VB6 HMI to control a PLC sequence. Much like your experience, it did not go well.
The idea of S88 is probably being mis applied in situations where people have uncreative PLC programming and lots of PC fans around with databases that need to be filled.
I suppose some of my PLC code would qualify as S88. It is very flexible. Some people think I take too long, but at the end it is nice.
I particularly noted the statement ........ Automation engineers cannot design control software that exceeds the capability and performance of the equipment !
No one claimed that the hardware could be exceeded.
Quote from link "Automation engineers can design control software based on the
full capabilities and performance of the equipment rather than on the requirements of the product." end quote.
No : the code in the PLC, in whatever language, isolates the recipe from the equipment, it doesn't have to be S88 compliant
I think you are missing a detail here. Most people write fixed PLC code to do job A, using constants that are specific to that process to do just that one thing.
They do this for several reasons:
It is quick
It is easy
It doesn't require any advanced programming to think about
It meets the spec
They still get paid
They get paid again to edit the code every time there is even a minor change in the process.
I don;t think you write that way, I certainly don't. Once you realize that a lot of people are writing inflexible specific code , you then understand the issue.
Imagine you are a process guy who has worked with machines written in this inflexible way. It would get old quick and even cause a drag on innovation as new ideas are shot down due to cost of re-programming.
Even worse are these PLC guys who re-write by patching the old code to death. (sometimes you have to be quick, I know) Then after years of patching, the process IS embedded in the PLC code and is inseparable.
Imagine you wrote a bunch of code to do one thing exclusively.
Now add another function, without changing the original. Just add a branch.
Now do that for every new case.
Now do that for 12 cases. And each one brings a new set of conditions to every decision branch all the way through.
That is ugly. At first it seemed quick and easy, years later it is a mess.
That's rubbish - how can a piece of code labelled or commented correctly be misinterpreted as to it's function. How can you look at a piece of code that looks at manufacturing parameters in a recipe, and not distinguish it from a Valve handler...
See above........it all merges together. I have seen it, many times, and I have been asked to add more patches. I was forced to patch it. Re-writing it would have taken months. I had Saturday.
It was painful. I did not enjoy it, and it bugs me still. I still remember all the **** I was forced to do and all the things I was not allowed to fix.
Maybe that explanation will help.