Specify Control Architecture in Control System Tuner
About Control Architecture
Control System Tuner lets you tune a control system having any architecture. Control system architecture defines how your controllers interact with the system under control. The architecture comprises the tunable control elements of your system, additional filter and sensor components, the system under control, and the interconnections among all these elements. For example, a common control system architecture is the single-loop feedback configuration of the following illustration:
G is the plant model, and H the sensor dynamics. These are usually the fixed components of the control system. The prefilter F and feedback controller C are the tunable elements. Because control systems are so conveniently expressed in this block diagram form, these elements are referred to as fixed blocks and tunable blocks.
Control System Tuner gives you several ways to define your control system architecture:
Use the predefined feedback structure of the illustration.
Model any control system architecture in MATLAB® by building a generalized state-space (
genss
) model from fixed LTI components and tunable control design blocks.Model your control system in Simulink® and specify the blocks to tune in Control System Tuner (requires Simulink Control Design™ software).
Predefined Feedback Architecture
If your control system has the single-loop feedback configuration of the following illustration, use the predefined feedback structure built into Control System Tuner.
For example, suppose you have a DC motor for which you want to tune a PID controller. The response of the motor is modeled as G(s) = 1/(s + 1)2. Create a fixed LTI model representing the plant, and a tunable PID controller model.
Gmot = zpk([],[-1,-1],1); Cmot = tunablePID('Cmot','PID');
Open Control System Tuner.
controlSystemTuner
Control System Tuner opens, set to tune this default architecture. Next, specify the values of the blocks in the architecture. Click to open the Standard feedback configuration dialog box.
Enter the values for C and G that you created. Control System Tuner reads these values from the MATLAB workspace. Click OK.
The default value for the sensor dynamics is a fixed unity-gain transfer function. The default value for the filter F is a tunable gain block.
You can now select blocks to tune, create tuning goals, and tune the control system.
Arbitrary Feedback Control Architecture
If your control architecture does not match the predefined control architecture of
Control System Tuner, you can create a generalized state-space
(genss
) model with tunable components representing your controller
elements. For example, suppose you want to tune the cascaded control system of the following
illustration, that includes two tunable PID controllers.
.
Create tunable control design blocks for the controllers, and fixed LTI models for the plant components, G1 and G2. Also include optional loop-opening locations x1 and x2. These locations indicate where you can open loops or inject signals for the purpose of specifying requirements for tuning the system.
G2 = zpk([],-2,3); G1 = zpk([],[-1 -1 -1],10); C20 = tunablePID('C2','pi'); C10 = tunablePID('C1','pid'); X1 = AnalysisPoint('X1'); X2 = AnalysisPoint('X2');
Connect these components to build a model of the entire closed-loop control system.
InnerLoop = feedback(X2*G2*C20,1); CL0 = feedback(G1*InnerLoop*C10,X1); CL0.InputName = 'r'; CL0.OutputName = 'y';
CL0
is a tunable genss
model. Specifying names for
the input and output channels allows you to identify them when you specify tuning
requirements for the system.
Open Control System Tuner to tune this model.
controlSystemTuner(CL0)
You can now select blocks to tune, create tuning goals, and tune the control system.
Control System Architecture in Simulink
If you have Simulink Control Design software, you can model an arbitrary control system architecture in a Simulink model and tune the model in Control System Tuner.