0% found this document useful (0 votes)
178 views36 pages

Simulink

This document provides an overview of how to use Simulink to model and simulate systems. It describes some of the key features of Matlab and Simulink, how to open and navigate Simulink, and how to build system models by adding blocks. An example is provided to demonstrate modeling a circuit using different approaches in Matlab and Simulink, including using an S-function block. The document aims to help users get started with modeling and simulating systems in Simulink.

Uploaded by

loreggjuc3m
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
178 views36 pages

Simulink

This document provides an overview of how to use Simulink to model and simulate systems. It describes some of the key features of Matlab and Simulink, how to open and navigate Simulink, and how to build system models by adding blocks. An example is provided to demonstrate modeling a circuit using different approaches in Matlab and Simulink, including using an S-function block. The document aims to help users get started with modeling and simulating systems in Simulink.

Uploaded by

loreggjuc3m
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 36

How to Use Simulink

ECE743

Jin-Woo Jung,
Ph. D. Student and GTA

Advisor: Prof. Ali Keyhani

January 21, 2005

Department of Electrical and Computer Engineering


The Ohio State University

1 /36 ECE743
Features of Matlab and Simulink

¾ Matlab (*.m):
ƒ Only text code (Not easy to model complicated systems)
ƒ Easy to edit figures

¾ Simulink (*.mdl):
ƒ Schematic (Easy to model complicated systems)
ƒ Not easy to change parameters
ƒ Can not edit figures

¾ Matlab (*.m) + Simulink (*.mdl): Best choice


ƒ Schematic: Simulink
ƒ Easy to change parameters: Matlab (m file for parameter initialization)
ƒ Edit figures: Simulink (“To Workspace”) ⇒ Matlab (m file for plot)
2 /36 ECE743
Available Simulink Toolboxes (version. 6.5)
¾ Simulink ¾ Neural Network Blockset
¾ Aerospace Blockset ¾ Real-Time Windows Target
¾ CDMA Reference Blockset ¾ Real-Time Workshop
¾ Communications Blockset ¾ Report Generator
¾ Control System Toolbox ¾ S-function demos

¾ DSP Blockset ¾ SimMechanics

¾ Gauges Blockset ¾ SimPowerSystems

¾ Embedded Target for Motorola MCP555 ¾ Simulink Extras


¾ Stateflow
¾ Embedded Target for TI C6000 DSP
¾ System ID Toolbox
¾ Fixed-Point Blockset
¾ Virtual Reality Toolbox
¾ Fuzzy Logic Toolbox
¾ xPC Target
¾ MPC Blocks
♦ : Available toolboxes at ECE Computer Lab.
¾ NCD Blockset ECE743
3 /36
1. Current Directory

1). Change “Current directory” Click “Browser for folder”

4 /36 ECE743
2. Starting “Simulink”

1). Click “Simulink” Then, Simulink Library Browser

5 /36 ECE743
3. Open “A new file”

1). Click “Create a new model”


Then, a new Simulink file

6 /36 ECE743
4. Building “System” (1)
™ Find ‘’Block‘’ when you know “block’s name”
1). Type block’s name and then drag it to a new file
“Press a right button on a mouse” “Double click your model”

7 /36 Click “Help” to set up parameters ECE743


4. Building “System” (2)
™ Find ‘’Block‘’ when you don’t know “block’s name”
1). Click “Simulink Help” Then, type the text for model search
This is model name

8 /36 ECE743
5. Set up “Model properties”
™ Set up m files for parameter initialization and plot (later)
1). Click “Model properties” Then, type file names: Initialization.m and Plot.m

9 /36 ECE743
6. Start “Simulation” (1)
™ Set up “Simulation parameters”
1). Click “Simulation parameters” Then, change “Stop time”

10/36 ECE743
6. Start “Simulation” (2)
™ Start Simulation
1). Click “Start simulation”

11/36 ECE743
7. Example for Matlab/Simulink

™ Example 1:

where: Lp = 0.1 H, Ls = 0.2 H, Rp = 1 Ω, Rs = 2 Ω, R1 = 1 Ω, Mi = 0.1 H,


C = 1 µF, and V = 10 V (Step Input)

ƒ Simulate the dynamic response of i1, i2, and Vc and


plot the results on the same page.

12/36 ECE743
7. Example 1
™ Four different Methods
ƒ Case 1: Only Matlab
ƒ Case 2: Matlab + Simulink: S-Function
1. S-function: “asglpr3b.m”
2. Simulink: “Example_1.mdl”
3. Plot: Plot_1.m
ƒ Case 3: Matlab + Simulink: Not S-Function
1. Parameter initialization: “Initialization.m”
2. Simulink: “Case_3.mdl”
3. Plot: Plot_1.m
ƒ Case 4: Matlab + Simulink: “SimPowerSystems”
1. Parameter initialization: “Para_Initial.m”
2. Simulink: “Case_4.mdl”
3. Plot: Plot_1.m

♦ “Note that all files should be under current directory”


13/36 ECE743
7. Example 1 − Case 1 – (1)
ƒ Case 1: Only Matlab – (1)
% Only Matlab code - Example 1 - Case 1

clear all
Lp = 0.1;
Ls = 0.2;
Mi = 0.1;
Rp = 1;
Rs = 2;
R1 = 1;
C = 1e-6;
V = 10;
alpha = 0.1;

R = [-Rp 0 0; 0 -(Rs+R1) -1; 0 1 0]


D = [1;0;0]
L = [(Lp+Mi) -Mi 0; -Mi (Ls+Mi) 0; 0 0 C]
Linv = inv(L);

A = Linv*R;
B = Linv*D;

X = [0;0;0];
U = V;
14/36 ECE743
7. Example 1 − Case 1 – (2)
ƒ Case 1: Only Matlab – Matlab code continued - (2)
T = 0.0001; % time step

for n = 1:10000
% Trapezoidal Integration
n1(n) = n;
Xest = X + T*(A*X + B*U);
Xdotest = A*Xest + B*U;
alpha1 = 1 + alpha;
alpha2 = 1 - alpha;
term1 = alpha1*Xdotest;
termint = A*X + B*U;
term2 = alpha2 + termint;

X = X + (T/2)*(term1 + term2);

i1(n) = X(1);
i2(n) = X(2);
Vc(n) = X(3);

end

15/36 ECE743
7. Example 1 − Case 1 – (3)
ƒ Case 1: Only Matlab – Matlab code continued - (3)
figure (1)
subplot(3,1,1)
plot(n1*T,i1)
grid
ylabel('i_1 [A]')
title('i_1 vs time')

subplot(3,1,2)
plot(n1*T,i2)
grid
axis([0 1 -0.01 0.01])
ylabel('i_2 [A]')
title('i_2 vs time')

subplot(3,1,3)
plot(n1*T,Vc)
grid
axis([0 1 -5 10])
xlabel('Time')
ylabel('V_c [V]')
title('V_c vs time')

16/36 ECE743
7. Example 1 − Case 1 – (4)
™ Results
i1 vs time
10

i1 [A] 5

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
i2 vs time
0.01

0.005
i2 [A]

-0.005

-0.01
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vc vs time
10

5
Vc [V]

-5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time

17/36 ECE743
7. Example 1 − Case 2 – (1)
™ Case 2: Matlab + Simulink: S-function
ƒ S-function code: “asglpr3b.m” --- (1)

function [sys, x0]=prob1(t,x,u,flag)

Lp = 0.1;
Ls = 0.2;
Mi = 0.1;
Rp = 1;
Rs = 2;
Rl = 1;
C = 1e-6;
V = 10;
alpha = 0.1;
R = [-Rp 0 0; 0 -(Rs+Rl) -1; 0 1 0]
D = [1;0;0]
L = [(Lp+Mi) -Mi 0; -Mi (Ls+Mi) 0; 0 0 C]
Linv = inv(L);
A = Linv*R;
B = Linv*D;
18/36 ECE743
7. Example 1 − Case 2 – (2)
™ S-function code: “asglpr3b.m” --- Matlab code continued - (2)

if abs(flag)==1
sys(1:3)=A*x(1:3)+B*u;
elseif abs(flag)==3
sys(1:3)= x(1:3);

elseif flag==0
sys(1)=3;
sys(2)=0;
sys(3)=3;
sys(4)=1;
sys(5)=0;
sys(6)=0;

x0= [0; 0; 0];


else
sys=[];
end;

19/36 ECE743
7. Example 1 − Case 2 – (3)
™ Simulink code: “Example_1.mdl” --- (1)

20/36 ECE743
7. Example 1 − Case 2 – (4)
™ Simulink code: “Example_1.mdl” --- (2)
1. “To Workspace”

“Type a variable name”


Click “Array”

21/36 ECE743
7. Example 1 − Case 2 – (5)
™ Simulink code: “Example_1.mdl” --- (3)
2. “S-Function”

“Type S-function name”

“Blank”

22/36 ECE743
7. Example 1 − Case 2 – (6)
™ Simulink code: “Example_1.mdl” --- (4)
3. “Scope”
“Type the number of axes”

“Click Parameters”

Release “Limit data points to last”

23/36 ECE743
7. Example 1 − Case 2 – (7)
™ Plot Matlab code: “Plot_1.m” --- (Method1 for plot)

“Select the texts” and then


“Press a right button on a mouse”

Click “Evaluate Selection”

24/36 ECE743
7. Example 1 − Case 2 – (8)
™ Plot Matlab code: “Plot_1.m” --- (Method 2 for plot)

Type “a file name for plot”

25/36 ECE743
7. Example 1 − Case 2 – (9)
™ Results
i1 vs time
10

i1 [A]
5

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
i2 vs time
0.01

0.005
i2 [A]

-0.005

-0.01
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vc vs time
10

5
Vc [V]

-5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time

26/36 ECE743
7. Example 1 − Case 3 – (1)
™ Case 3: Matlab + Simulink: Not S-Function
ƒ Parameter Initialization: “Initialization.m” - (1)
% Parameters Initialization - Example 1 - Case 3
clear all
Lp = 0.1;
Ls = 0.2;
Mi = 0.1;
Rp = 1;
Rs = 2;
R1 = 1;
C = 1e-6;
V = 10;
alpha = 0.1;

R = [-Rp 0 0; 0 -(Rs+R1) -1; 0 1 0]


D = [1;0;0]
L = [(Lp+Mi) -Mi 0; -Mi (Ls+Mi) 0; 0 0 C]
Linv = inv(L);

A = Linv*R;
B = Linv*D;
C = eye(3);
D = zeros(3,1);
27/36 ECE743
7. Example 1 − Case 3 – (2)
™ Simulink code: “Case_3.mdl” --- (1)

28/36 ECE743
7. Example 1 − Case 3 – (3)
™ Simulink code: “Case_3.mdl” --- (2)
1. “State-space”

29/36 ECE743
7. Example 1 − Case 3 – (4)
™ Set up m files for parameter initialization and plot
1). Click “Model properties” Then, type file names: Initialization.m and Plot_1.m

30/36 ECE743
7. Example 1 − Case 3 – (5)
™ Results
i1 vs time
10

i1 5

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
i2 vs time
0.01

0.005

0
i2

-0.005

-0.01
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vc vs time
10

5
Vc

-5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

31/36 ECE743
7. Example 1 − Case 4 – (1)
™ Case 4: Matlab + Simulink (SimPower Systems)
ƒ Parameter Initialization: “Para_Initial.m”

% Parameters Initialization - Example 1 - Case 4

clear all
V = 10;
Lp = 0.1;
Ls = 0.2;
Mi = 0.1;
Rp = 1;
Rs = 2;
R1 = 1;
C = 1e-6;

32/36 ECE743
7. Example 1 − Case 4 – (2)
™ Simulink code: “Case_4.mdl”

33/36 ECE743
7. Example 1 − Case 4 – (3)
™ Set up m files for parameter initialization and plot
1). Click “Model properties” Then, type file names: Para_Initial.m and Plot_1.m

34/36 ECE743
7. Example 1 − Case 4 – (4)
™ Set up “Simulation parameters”
1). Click “Simulation parameters” Then, change “Stop time” and “Solver options”

Then, reduce “Max step size”


35/36 ECE743
7. Example 1 − Case 4 – (5)
™ Results
i1 vs time
10

5
i1

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
i2 vs time
0.01

0.005

0
i2

-0.005

-0.01
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vc vs time
10

5
Vc

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

36/36 ECE743

You might also like