[ISA-88] When to derive an equipment class?

When defining equipment classes for use in master recipes in a batch controlled plant conforming to ISA-88 (IEC 61512) I am faced with a dilemma regarding setting up the plant model for use in master recipes.
Suppose I have an equipment class "Vessel".

Would I create derived classes for the various differences of the vessels or should I use a class property?
For example there may be heated vessels and unheated vessels, different volumes, different design pressures and/or different construction materials.
It seems that if vessels are all a bit dissimilar then creating a large bunch of derived classes feels like overkill and would make creating master recipes - with a high level of flexibility regarding unit selection - more challenging.

I'm trying to find the balance between using a single class or derived classes. What considerations are there, pros and cons from a maintainability point-of-view. Your thoughts?
 
A single class with derivatives in a tree like structure is always better on the long run.
Over the years the changes will come. And when you have changes you want them for all the vessels to be implemented.
I remember that updating software was very easy in this way (I used ObjectAutomation PLC back then).
You first had to be sure the plant, or the plant with the used classes are not running (the rest can go on).
You stop the units using the classes.
You uncheck the master (mother?) class and updated it to the new version with extra features.
You check it in again and automatically all derived classes are updated with the new functionality. So you don't have to redo this again and again.
This is very nice for plants that can only shut down for a very short time.
And when you made these changes to the master-class, also your other customers can immediately benefit from it using the updated class that can be upgraded in just a few minutes.
Now your customers feel you are in good control of their system. No shutting down for weeks with PLC programmers busy for days on each separate part of the plant.

Making standardized software is more work in the beginning.
But it often the case, that you can only make money with software, when you can re-use it in other projects.

Great benefit is also that you are using well tested code. This eliminates possible problems.
 
Top