LabVIEW Control Design and Simulation Module

Designing Controllers Interactively (Control Design and Simulation Module)

  • Updated2023-03-14
  • 6 minute(s) read

Interactively designing a controller for a dynamic system allows you to iteratively create and validate the controller in a single interface. Programmatically designing a controller typically requires you to construct a LabVIEW block diagram with multiple VIs that model the system, analyze the system model, and create and implement a controller.

Use the SISO Controller function or CD Interactive Control Design VI to interactively design and analyze controllers for continuous, single-input single-output (SISO) dynamic systems. These nodes provide access to the Interactive Control Design dialog box, which helps you perform the control design process.

Supported Models and Systems

The Interactive Control Design dialog box supports continuous, SISO system models in transfer function, zero-pole-gain, or state-space form. In addition to a controller and plant, the system can contain a feedforward component, a sensor, and an actuator.

When you use this dialog box, you must design and implement the resulting controller only on a direct path with the plant within the system. You can design and implement a single controller or multiple controllers of different types that you connect in series.

Implementing Control Design on the Block Diagram

Use the considerations in the following table to choose a process for integrating interactive control design with a simulation program.

Supply the system model and design the controller at run time. Design the system model and controller at edit time.
Nodes to Use
  • On the block diagram, the CD Interactive Control Design VI accepts models of system components and provides the control design interface at run time.
  • In a simulation diagram, the SISO Controller function implements the controller.
The SISO Controller function provides the control design interface at edit time, and then implements the controller at run time. The function stores the system model between runs.
Example

Access to Interface The Interactive Control Design dialog box displays when the CD Interactive Control Design VI executes. At edit time, double-click the function to display its configuration dialog box, and then select the Interactive Design parameter to display the Interactive Control Design dialog box.

The control design interface appears as follows.

Control Design Process

The following sections describe a typical workflow for designing a controller in the Interactive Control Design dialog box, whether you access it with the SISO Controller function or the CD Interactive Control Design VI. You often perform these steps iteratively until you achieve an acceptable design that is physically realizable and meets specific performance criteria.

Note  The following sections refer to callout numbers in the illustration located in the previous section.

Determining System Specifications

On the Specifications page (1), define specifications, or constraints, for the system, such as the maximum allowable overshoot and rise time. Switch between the tabs at the bottom of this page (5) to define different types of specifications.

The In Spec indicator (4) at the top of the dialog box indicates the compliance of the system with specifications. Place checkmarks in the checkboxes next to specifications (6) you want LabVIEW to monitor.

Configuring the System Model

On the Configuration page, define the models you want to represent in the system. LabVIEW requires you to include a controller and plant, and you can choose to include a feedforward component, a sensor, and an actuator.

Choose from the following options for loading or defining models on the Configuration page:

Note  If you specify a model that is discrete or SIMO, MISO, or MIMO, LabVIEW displays a pop-up dialog that asks you to specify a continuous, SISO model.

Analyzing the System

On the Specifications page (1), observe dynamic characteristics of the system in root locus, step response, and Bode magnitude and phase graphs. These graphs show the specific locations and shapes of key points. Examine these locations to guide you in choosing controller parameters that meet the specifications. You then can fine-tune the specifications you set previously, if necessary.

On the Analysis page, configure custom graphs that expand on the information available on the Specifications page. This page provides additional types of graphs and several predefined conditions you can plot, such as the complete closed-loop system or the loop transfer function.

Tips for Analyzing Controllers

The Interactive Control Design dialog box provides the following features you can use to analyze the system:

  • Place a checkmark in the Show Analysis checkbox (3) at the top of the dialog box to view the custom graphs on the Analysis page while you configure the controller and specifications on the Synthesis and Specifications pages.
  • Observe the In Spec indicator (4) at the top of the dialog box to monitor the compliance of the system with each specification you enable on the Specifications page.
  • Observe the Stable indicator (4) at the top of the dialog box, which is TRUE if the resulting closed-loop system with the controller is stable.
  • On the Synthesis and Specifications pages, click the maximize button (2) next to the root locus, step response, and Bode magnitude graphs to enlarge the graphs.

Synthesizing the Controller

On the Synthesis page, select the type of controller you want to create. You can choose from the following options:

  • PID—Implements a PID controller in academic, parallel, or series form.
  • Lead/Lag—Implements a phase lead or phase lag controller.
  • Filter—Implements a Butterworth filter.
  • Interconnected—Implements and connects different types of controllers in series.
  • Custom—Provides an interface for manually specifying all poles and zeros.

You can start by designing a PID or lead/lag controller or a filter, and then change the controller type to interconnected or custom and continue the process. When you change the controller type to interconnected or custom, LabVIEW transfers the design from the previous controller type to the design for the new controller type.

Defining Poles and Zeros Automatically or Manually

When you choose to design a PID, lead/lag, filter, or interconnected controller, LabVIEW automatically adds appropriate poles and zeros as you configure parameters specific to those controllers. However, when you design a custom controller, you manually specify all poles and zeros. You might start by designing, for example, a PID controller, and then change the controller type to custom and continue the process with manual control over poles and zeros. You also can start by creating a custom controller.

If you choose to design a custom controller, the following buttons appear above the graphs at the top of the Synthesis and Specifications pages. Click one of these buttons, and then click the controller poles and zeros on the root locus or Bode magnitude graphs to add, move, or remove controller poles and zeros.

Iterating on the Design

Continue analyzing the system after you synthesize the controller. Adjust controller parameters on the Synthesis page until the controller meets the design specifications the system requires.

Implementing a Controller in a Dynamic System

After you complete the control design process, implement the controller in a dynamic system.

Log in to get a better experience