Lab 12 Introduction To Simulink Objective
Lab 12 Introduction To Simulink Objective
Introduction to Simulink
SIMULINK is a program for simulating dynamic systems. As an extension to MATLAB, SIMULINK adds many
features specific to dynamic systems while retaining all of MATLAB’s general-purpose functionality.
SIMULINK has two phases of use: model definition and model analysis. A typical session starts by either
defining a model or retrieving a previously defined model, and then proceeds to analysis of that model.
These two steps are often performed iteratively until the model achieves the desired behaviour. To
facilitate model definition, SIMULINK adds a new class of windows called block diagram windows. In these
windows, models are created and edited principally by mouse driven commands. Part of mastering
SIMULINK is to become familiar with the manipulation of model components within these windows. After
you define a model, you can analyze it either by choosing options from the SIMULINK menus or by entering
commands in MATLAB’s command window.
There are two major classes of items in Simulink: blocks and lines. Blocks are used to generate, modify,
combine, output, and display signals. Lines are used to transfer signals from one block to another.
(i) Blocks
(ii) Lines
Blocks:
Blocks have zero to several input terminals and zero to several output terminals. Unused input
terminals are indicated by a small open triangle. Unused output terminals are indicated by a small
triangular point. The block shown below has an unused input terminal on the left and an unused output
terminal on the right.
1
1
Signals and Systems Systems Lab DEE
> — >
s+1
Transfer Fcn
Lines:
Lines transmit signals in the direction indicated by the arrow. Lines must always transmit signals from
the output terminal of one block to the input terminal of another block. On exception to this is a line can
tap off of another line, splitting the signal to each of two destination blocks, as shown below.
Lines can never inject a signal into another line; lines must be combined through the use of a block such as
a summing junction.
A signal can be either a scalar signal or a vector signal. For Single-Input, Single-Output systems, scalar
signals are generally used. For Multi-Input, Multi-Output systems, vector signals are often used, consisting
of two or more scalar signals. The lines used to transmit scalar and vector signals are identical. The type of
signal carried by a line is determined by the blocks on either end of the line.
Model File:
Example:
2
Signals and Systems Systems Lab DEE
The simple model consists of three blocks: Step, Transfer Fcn, and Scope. The Step is a source block from
which a step input signal originates. This signal is transferred through the line in the direction indicated by
the arrow to the Transfer Function linear block. The Transfer Function modifies its input signal and
outputs a new signal on a line to the Scope. The Scope is a sink block used to display a signal much like an
oscilloscope.
There are many more types of blocks available in Simulink, some of which will be discussed later. Right
now, we will examine just the three we have used in the simple model.
Modifying Blocks
A block can be modified by double-clicking on it. For example, if you double-click on the "Transfer Fcn"
block in the simple model, you will see the following dialog box.
This dialog box contains fields for the numerator and the denominator of the block's transfer function. By
entering a vector containing the coefficients of the desired numerator or denominator polynomial, the
desired transfer function can be entered. For example, to change the denominator to s ^2+2s+1, enter the
following into the denominator field:
[1 2 1]
and hit the close button, the model window will change to the following,
3
Signals and Systems Systems Lab DEE
The default parameters in this dialog box generate a step function occurring at time=1 sec, from an initial
level of zero to a level of 1. (in other words, a unit step at t=1). Each of these parameters can be changed.
Close this dialog before continuing.
Building Systems:
In this section, you will learn how to build systems in Simulink using the building blocks in Simulink's Block
Libraries. You will build the following system.
4
Signals and Systems Systems Lab DEE
First you will gather all the necessary blocks from the block libraries. Then you will modify the blocks so
they correspond to the blocks in the desired model. Finally, you will connect the blocks with lines to form
the complete system. After this, you will simulate the complete system to verify that it works.
Gathering Blocks:
This opens the Sources window which contains the Sources Block Library. Sources are used to
generate signals.
5
Signals
and
System
s
System
s Lab
DEE
Double-click on the linear icon in the main Simulink window to open the Linear Block Library
window.
Drag the Sum, Gain, and two instances of the Transfer Fcn (drag it two times) into your model
window arranged approximately as shown below. The exact alignment is not important since
it can be changed later. Just try to get the correct relative positions. Notice that the second
Transfer Function block has a 1 after its name. Since no two blocks may have the same name,
Simulink automatically appends numbers following the names of blocks to differentiate
between them.
Drag the Step block from the sources window into the left side of your model window.
Double-click on the Sinks icon in the main Simulink window to open the Sinks window. Drag
the Scope block into the right side of your model window.
Modify Blocks:
Follow these steps to properly modify the blocks in your model.
Double-click your Sum block. Since you will want the second input to be subtracted, enter +-
into the list of signs field. Close the dialog box.
Double-click your Gain block. Change the gain to 2.5 and close the dialog box.
Double-click the leftmost Transfer Function block. Change the numerator to
7
Signals and Systems Systems Lab DEE
Change the name of the first Transfer Function block by clicking on the words "Transfer Fcn".
A box and an editing cursor will appear on the block's name as shown below. Use the
keyboard (the mouse is also useful) to delete the existing name and type in the new name, "PI
Controller". Click anywhere outside the name box to finish editing.
Similarly, change the name of the second Transfer Function block from "Transfer Fcn1" to
"Plant". Now, all the blocks are entered properly. Your model should appear as:
8
Signals and Systems Systems Lab DEE
Now that the blocks are properly laid out, you will now connect them together. Follow these steps.
Drag the mouse from the output terminal of the Step block to the upper (positive) input of
the Sum block. Let go of the mouse button only when the mouse is right on the input
terminal. Do not worry about the path you follow while dragging, the line will route itself. You
should see the following.
The resulting line should have a filled arrowhead. If the arrowhead is open, as shown below, it
means it is not connected to anything.
You can continue the partial line you just drew by treating the open arrowhead as an output
terminal and drawing just as before. Alternatively, if you want to redraw the line, or if the line
connected to the wrong terminal, you should delete the line and redraw it. To delete a line (or
any other object), simply click on it to select it, and hit the delete key.
9
Signals and Systems Systems Lab DEE
Draw a line connecting the Sum block output to the Gain input. Also draw a line from the
Gain to the PI Controller, a line from the PI Controller to the Plant, and a line from the Plant
to the Scope. You should now have the following.
10
Signals and Systems Lab DEE, FURC
The line remaining to be drawn is the feedback signal connecting the output of the Plant
to the negative input of the Sum block. This line is different in two ways. First, since this
line loops around and does not simply follow the shortest (right-angled) route so it needs
to be drawn in several stages. Second, there is no output terminal to start from, so the line
has to tap off of an existing line.
To tap off the output line, hold the Ctrl key while dragging the mouse from the point on
the existing line where you want to tap off. In this case, start just to the right of the Plant.
Drag until you get to the lower left corner of the desired feedback signal line as shown
below.
Now, the open arrowhead of this partial line can be treated as an output terminal. Draw a
line from it to the negative terminal of the Sum block in the usual manner.
11
Signals and Systems Lab DEE, FURC
Now, you will align the blocks with each other for a neater appearance. Once connected,
the actual position of the blocks does not matter, but it is easier to read if they are aligned.
To move each block, drag it with the mouse. The lines will stay connected and re-route
themselves. The middles and corners of lines can also be dragged to different locations.
Starting at the left, drag each block so that the lines connecting them are purely
horizontal. Also, adjust the spacing between blocks to leave room for signal labels. You
should have something like:
Finally, you will place labels in your model to identify the signals. To place a label
anywhere in your model, double click at the point you want the label to be. Start by
double clicking above the line leading from the Step block. You will get a blank text box
with an editing cursor as shown below:
12
Signals and Systems Lab DEE, FURC
Type an r in this box, labelling the reference signal and click outside it to end editing. Label
the error (e) signal, the control (u) signal, and the output (y) signal in the same manner.
Your final model should appear as:
• To save your model, select Save As in the File menu and type in any desired model
name. Simulation
Now that the model is complete, you can simulate the model. Select Start from the
Simulation menu to run the simulation. Double-click on the Scope block to view its output.
Hit the autoscale button (binoculars) and you should see the following.
13
Signals and Systems Lab DEE, FURC
In some cases, parameters, such as gain, may be calculated in MATLAB to be used in a Simulink
model. If this is the case, it is not necessary to enter the result of the MATLAB calculation directly
into Simulink. For example, suppose we calculated the gain in MATLAB in the variable K. Emulate
this by entering the following command at the MATLAB command prompt.
K=2.5
This variable can now be used in the Simulink Gain block. In your Simulink model, double-click on
the Gain block and enter the following in the Gain field. K
Close this dialog box. Notice now that the Gain block in the Simulink model shows the variable K
rather than a number.
14
Signals and Systems Lab DEE, FURC
Now, you can re-run the simulation and view the output on the Scope. The result should be the
same as before.
Now, if any calculations are done in MATLAB to change any of the variable used in the Simulink
model, the simulation will use the new values the next time it is run. To try this, in MATLAB,
change the gain, K, by entering the following at the command prompt.
K=5
Start the Simulink simulation again, bring up the Scope window, and hit the autoscale button. You
will see the following output which reflects the new, higher gain.
15
Signals and Systems Lab DEE, FURC
Besides variable, signals, and even entire systems can be exchanged between MATLAB and
Simulink.
Questions:
Q1. Create a model to display a sine wave with unity amplitude clipped at points +0.5
and -0.5.
Q2. Create a model to simulate the Boolean expression D=A (B’+C) +A’B. Display the
value of the output variable for all combinations of the variables A, B and C.
Q3. Create a model to display a three-phase power system on a single Scope block
where the waveforms of three phases are three sine waves 120 ° degrees apart.
16