OOP in Yokogawa's CENTUM DCS is not traditional object-oriented programming with C++ or Java classes, but an implementation of object-oriented principles using a modular, function-block-based engineering approach.
This design philosophy allows for the creation of reusable, encapsulated, and standardized control components that simplify engineering, improve project consistency, and facilitate long-term maintenance of process control systems.
Here's an in-depth discussion of how OOP is implemented in the Yokogawa DCS, primarily focusing on its flagship CENTUM VP system.
Core concepts of OOP in the Yokogawa DCS
1. Encapsulation: The function block
The fundamental "object" in a Yokogawa DCS is the function block. A function block encapsulates all the essential components of a specific control function:
- Data items: These are the block's attributes, such as process values (PV), set points (SV), outputs (MV), and tuning parameters.
- Processing functions: The block contains the internal logic to perform its task, including input processing, calculation, output processing, and alarm handling.
- Terminals: These are the block's public interfaces (input/output) that allow it to connect and exchange data with other blocks.
For an engineer, the internal complexity of a PID controller or a motor control block is hidden. They only need to concern themselves with the inputs and outputs, which promotes modularity and reduces the risk of programming errors.
2. Inheritance and reusability: Modular engineering
Yokogawa's engineering environment uses a modular approach that directly leverages the benefits of inheritance.
- Design patterns and standards: Engineers can develop and store standard "design patterns" for common process loops, alarm designs, and graphics. These patterns act as "parent classes."
- Module-based engineering: When designing a new part of the plant, engineers can instantiate these standardized design patterns as "Application Modules". A standardized motor control module, for example, can be reused for every motor in the plant.
- Reduced engineering effort: This modular, reusable approach drastically reduces engineering time and ensures consistency across a large-scale project. The initial effort of creating a robust, tested design pattern is leveraged repeatedly.
3. Polymorphism: The unit instrument
Polymorphism, or the ability to take on different forms, is reflected in the "Unit Instrument" feature of Yokogawa's batch control (VP Batch) and unit supervision functions.
- Standardized interface for diverse equipment: A "unit instrument" provides a standardized operational interface for a piece of equipment, such as a reactor or a mixing tank, regardless of the different underlying control logic (function blocks).
- State transition matrix: The unit instrument uses a state transition matrix to manage the different operational states of the equipment (e.g., mixing, heating, emptying). This allows the same operator commands to trigger different underlying control sequences based on the unit's current state.
- ISA-88 batch control: This functionality is particularly important for batch control, where different recipes and procedures can be executed on the same physical equipment.
4. The object library: Automation Design Suite
Yokogawa's engineering tools, such as the Automation Design Suite, function as an object library.
- Centralized management: The suite provides a centralized environment for managing and versioning the reusable engineering modules, design patterns, and application modules.
- Configuration management: It retains a complete engineering history, auditing changes and ensuring the "as-built" documentation remains accurate throughout the plant's lifecycle.
- Consistency and quality: By using a pre-configured, tested, and version-controlled library of objects, engineers can significantly reduce errors and improve the quality of the control system application.
The benefits of this OOP approach in DCS
This application of OOP principles delivers several critical benefits for process control engineering and operations:
- Improved project efficiency: By reusing standardized modules from a library, engineers can build a complete control system application faster and with less effort, accelerating project delivery.
- Enhanced consistency and quality: The use of standardized and pre-tested control objects ensures a consistent control philosophy across the plant, reducing potential errors and improving overall system quality.
- Simplified maintenance and modifications: Changes and expansions are easier to manage because they are built upon a well-documented, modular foundation. Since modules can be developed and tested independently, the risks of modifying a live system are reduced.
- Simplified operator interface: The object-oriented design extends to the human-machine interface (HMI), where standardized faceplates provide a consistent view and operational method for different pieces of equipment, regardless of the specific control logic beneath.
- Risk reduction: The modular design of control applications allows for independent testing and verification using tools like the virtual test function, which simulates controller functions without requiring physical hardware.
Example: A pumping station
To illustrate, consider a pumping station with multiple pumps. Instead of programming each pump's start/stop logic, interlocks, and alarms from scratch, a Yokogawa DCS engineer would:
- Define a "Pump Object" template: A standard function block or application module for a motor-driven pump is created and stored in the library. This template includes a motor control block, run feedback, trip status, interlock logic, and associated alarms.
- Instantiate the objects: For each physical pump in the station, the engineer instantiates a copy of the "Pump Object." This creates a complete, functional control loop for each pump with a single action.
- Deploy and bind: The new pump objects are deployed to the controllers. "Software marshalling" features like those with the N-IO can then link the software objects to the physical I/O points for the correct pumps.
- Operator interface: The standard graphical faceplate for the "Pump Object" is automatically linked to each new pump, providing the operator with a familiar and consistent interface.
Summary
In Yokogawa's CENTUM DCS, OOP is not a programming language but a core engineering methodology. It leverages function blocks and modular engineering tools to implement object-oriented principles like encapsulation, inheritance, and polymorphism. This approach enables the creation of a standardized, reusable, and maintainable control system, significantly benefiting engineering efficiency, system reliability, and long-term asset management.