This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Multi-Loop Control System

This example shows how to build an arbitrary block diagram by connecting models using connect. The system is a Smith Predictor, the single-input, single-output (SISO) multi-loop control system shown in the following block diagram.

For more information about the Smith Predictor, see Control of Processes with Long Dead Time: The Smith Predictor.

The connect command lets you construct the overall transfer function from ysp to y. To use connect, specify the input and output channel names of the components of the block diagram. connect automatically joins ports that have the same name, as shown in the following figure.

To build the closed loop model of the Smith Predictor system from ysp to y:

  1. Create the components of the block diagram: the process model P, the predictor model Gp, the delay model Dp, the filter F, and the PI controller C. Specify names for the input and output channels of each model so that connect can automatically join them to build the block diagram.

    s = tf('s');
    
    P = exp(-93.9*s) * 5.6/(40.2*s+1);
    P.InputName = 'u'; P.OutputName = 'y';
    
    Gp = 5.6/(40.2*s+1);
    Gp.InputName = 'u'; Gp.OutputName = 'yp';
    
    Dp = exp(-93.9*s);
    Dp.InputName = 'yp'; Dp.OutputName = 'y1';
    
    F = 1/(20*s+1);
    F.InputName = 'dy'; F.OutputName = 'dp';
    
    C = pidstd(0.574,40.1);
    C.Inputname = 'e'; C.OutputName = 'u';
  2. Create the summing junctions needed to complete the block diagram.

    sum1 = sumblk('e = ysp - ym');
    sum2 = sumblk('ym = yp + dp');
    sum3 = sumblk('dy = y - y1');

    The argument to sumblk is a formula that relates the input and output signals of the summing junction. sumblk creates a summing junction with the input and output signal names specified in the formula. For example, in sum1, the formula 'e = ysp - ym' specifies an output signal named e, which is the difference between input signals named ysp and ym.

  3. Assemble the complete model from ysp to y.

    T = connect(P,Gp,Dp,C,F,sum1,sum2,sum3,'ysp','y');

    You can list the models and summing junctions in any order because connect automatically interconnects them using their input and output channel names.

    The last two arguments specify the input and output signals of the multi-loop control structure. Thus, T is a ss model with input ysp and output y.

See Also

|

Related Examples

More About