You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The controllers chaining described in Cascade Control Proposal is not support only chaining of command interface between controllers.
The functionality is based on the same principles for communication between controllers and hardware, where hardware offers Command Interfaces and controllers as loaning them based on the name matching using Loaned Command Interfaces.
Since such controllers need additional fields and methods, a new type of base controller class is introduced called ChainableControllerInterface.
This interface can be used for both classical controllers and chainable controllers. So if you are uncertain if your controller should be chainable in the future, you can implement this base class and simply export an empty list of reference interfaces and disable switching to chained mode.
Those interfaces are called Reference Interfaces in the controllers (still have the same type of CommandInterfaces).
Reference Interfaces are exported when a Chainable Controller is configured and stored in the resource manager. When a controller is to be activated, controller manager check if requested command interfaces are from another chainable controllers and if so, it confirms that the following controller is active.
NOTE currently the controllers have to be loaded in order from the beginning toward the end of the chain
For chaining state interfaces, the same logic can be used:
Extend existing ChainableControllerInterface with method for exporting Estimated Interfaces (type StateInterface)
Get those exported interfaces when configuring controllers in controller manager (somewhere here
Dr. Denis recommends to actually write first the tests with the controller chain setup (a figure is also helpful) – because then it will be clear which situations should be covered. Check the tests here.
The text was updated successfully, but these errors were encountered:
The controllers chaining described in Cascade Control Proposal is not support only chaining of command interface between controllers.
The functionality is based on the same principles for communication between controllers and hardware, where hardware offers
Command Interfaces
and controllers as loaning them based on the name matching usingLoaned Command Interfaces
.Since such controllers need additional fields and methods, a new type of base controller class is introduced called
ChainableControllerInterface
.This interface can be used for both classical controllers and chainable controllers. So if you are uncertain if your controller should be chainable in the future, you can implement this base class and simply export an empty list of reference interfaces and disable switching to chained mode.
Those interfaces are called
Reference Interfaces
in the controllers (still have the same type ofCommandInterfaces
).Reference Interfaces
are exported when aChainable Controller
is configured and stored in the resource manager. When a controller is to be activated, controller manager check if requested command interfaces are from another chainable controllers and if so, it confirms that the following controller is active.NOTE currently the controllers have to be loaded in order from the beginning toward the end of the chain
For chaining state interfaces, the same logic can be used:
ChainableControllerInterface
with method for exportingEstimated Interfaces
(typeStateInterface
)The text was updated successfully, but these errors were encountered: