Extend a Controller#
Overview#
From MES 11.2 onwards, when creating a new Automation Controller you can associate it with an existing Parent Automation Controller. This enables the Extendable Controller functionality that allows you to create controllers that inherit functionality from existing controllers without duplicating code or configurations.
This inheritance-based approach enables you to build upon existing controller definitions while adding new capabilities or customizations.
Key Concepts#
Controller Inheritance#
The following concepts define how controllers can build upon each other:
| Concept | Description |
|---|---|
| Parent Controller | The base controller that provides inherited functionality |
| Child Controller | The new controller that extends a parent controller |
| Virtual Elements | Drivers and workflows from parent controllers that appear in child controllers but are not duplicated |
| Inheritance Chain | Controllers can inherit from other controllers that already have parents, creating a multi-level hierarchy |
Inheritance Rules#
When working with extendable controllers, certain rules govern how inheritance works:
- Child controllers inherit all drivers and workflows from their parent(s) as virtual elements
- Task versions must match between parent and child controllers
- Parent elements cannot be modified or removed from child controllers
- Runtime behavior treats the entire inheritance chain as a single controller
Related Topics#
- Creating Extendable Controllers - Learn how to create new extendable controllers
- Managing Inherited Elements - Work with inherited workflows and elements
- Export and Import Operations - Handle controller distribution and deployment
- Best Practices - Guidelines for effective extendable controller design
- Troubleshooting - Resolve common issues and problems