Main Content

Control System Designer

Design single-input, single-output (SISO) controllers

Description

The Control System Designer app lets you design single-input, single-output (SISO) controllers for feedback systems modeled in MATLAB® or Simulink® (requires Simulink Control Design™ software).

Using this app, you can:

  • Design controllers using:

    • Interactive Bode, root locus, and Nichols graphical editors for adding, modifying, and removing controller poles, zeros, and gains

    • Automated PID, LQG, or IMC tuning

    • Optimization-based tuning (requires Simulink Design Optimization™ software)

    • Automated loop shaping

  • Tune compensators for single-loop or multiloop control architectures.

  • Analyze control system designs using time-domain and frequency-domain responses, such as step responses and pole-zero maps.

  • Compare response plots for multiple control system designs.

  • Design controllers for multimodel control applications.

Control System Designer app

Open the Control System Designer App

  • MATLAB Toolstrip: On the Apps tab, under Control System Design and Analysis, click the app icon.

  • MATLAB command prompt: Enter controlSystemDesigner.

  • Simulink Toolstrip: On the Apps tab, under Control Systems, click the app icon.

Examples

expand all

After designing your controller in Control System Designer, you can export your design to the MATLAB Workspace for further analysis or design.

In Control System Designer, on the Control System tab, under Export, click Export tuned blocks.

In the Export Model dialog box, in the Select Design drop-down list, choose the design that you want to export. You can select either the Current Design or one of the stored designs from the Data Browser.

In the Export models to MATLAB Workspace table, in the Export column, select the models you want to export.

For all designs, you can export the controller and prefilter models. Also, for the Current Design, you can export the fixed block models and any responses from the Data Browser.

For more information on the prefilter, controller, and fixed blocks in each control architecture, see Feedback Control Architectures in Control System Designer.

In the Export as column, you can specify an alternate name for the exported model. Exporting a model with the same name as an existing variable in the MATLAB Workspace overwrites the variable.

To save the selected models to the MATLAB Workspace, click Export.

After designing your controllers in Control System Designer, to simulate your system, you can automatically generate a Simulink model for your control architecture.

On the Control System tab, under Export, click Create Simulink Model.

The app exports the controllers and fixed blocks for the current design to the MATLAB Workspace and generates a Simulink model that matches the current control architecture. For more information on the controllers and fixed blocks in each control architecture, see Feedback Control Architectures in Control System Designer.

For example, if you design a control system using configuration 1, Control System Designer exports C, F, G, and H to the MATLAB Workspace and generates the following Simulink model.

In the generated model, the Input block is a Signal Generator (Simulink). Using this block, you simulate your model with different input waveforms, such as sine waves or random signals. To generate a step response, replace the Input block with a Step (Simulink) block.

To generate a Simulink model for a stored design, first make that design current. On the Control System tab, under Retrieve, select the design for which you want to generate a model.

Related Examples

Programmatic Use

expand all

controlSystemDesigner opens the Control System Designer app using the following default control architecture:

The architecture consists of the LTI objects:

  • G — Plant model

  • C — Compensator

  • H — Sensor model

  • F — Prefilter

By default, the app configures each of these models as a unit gain.

controlSystemDesigner(plant) initializes the plant, G, to plant. plant can be any SISO LTI model created with ss, tf, zpk or frd, or an array of such models.

controlSystemDesigner(plant,comp) initializes the compensator, C, to the SISO LTI model comp.

controlSystemDesigner(plant,comp,sensor) initializes the sensor model, H, to sensor. sensor can be any SISO LTI model or an array of such models. If you specify both plant and sensor as LTI model arrays, the lengths of the arrays must match.

controlSystemDesigner(plant,comp,sensor,prefilt) initializes the prefilter model, F, to the SISO LTI model prefilt.

controlSystemDesigner(views) opens the app and specifies the initial graphical editor configuration. views can be any of the following character vectors, or a cell array of multiple character vectors.

  • "rlocus" — Root locus editor

  • "bode" — Open-loop Bode Editor

  • "nichols" — Open-loop Nichols Editor

  • "filter" — Bode Editor for the closed-loop response from prefilter input to the plant output

In addition to opening the specified graphical editors, the app plots the closed-loop, input-output step response.

controlSystemDesigner(views,plant,comp,sensor,prefilt) specifies the initial plot configuration and initializes the plant, compensator, sensor, and prefilter using the specified models. If a model is omitted, the app uses the default value.

controlSystemDesigner(initData) opens the app and initializes the system configuration using the initialization data structure initdata. To create initdata, use sisoinit.

controlSystemDesigner(sessionFile) opens the app and loads a previously saved session. sessionFile is the name of a session data file on the MATLAB path. This data includes the current system architecture and plot configuration, and any designs and responses saved in the Data Browser.

To save a session, in the Control System Designer app, on the Control System tab, click Save Session.

Version History

Introduced in R2015a

expand all

See Also

Apps

Functions