ECEN/MAE 3723 – Systems I MATLAB Lecture 2 Lecture Overview What is Simulink? How to use Simulink Getting Start with Simulink Building a model Example 1 (Differential Equations ) Example 2 (Transfer Function) Creating Subsystems Useful Information What is Simulink? (1) A software package for modeling, simulating, and analyzing dynamic systems. Supports linear and nonlinear systems, modeled in continuous time, sample time, or a hybrid of the two. Systems can also be multirate (i.e. different parts that are sampled or updated at different rates) What is Simulink? (2) For modeling, it provides a graphical user interface (GUI) for building models as block diagrams (using click-and-drag mouse operations) Can build models in hierarchical fashion (using both top-down and bottom-up approaches) You can simulate, analyze the output results, explore, revise your models and have FUN! Lecture Overview What is Simulink? How to use Simulink Getting Start with Simulink Building a model Example 1 (Differential Equations ) Example 2 (Transfer Function) Creating Subsystems Useful Information Start a Simulink Session Click on the SIMULINK icon on toolbar Type simulink on Matlab command window Simulink Library Browser CREAT NEW MODEL icon SEARCH window BLOCK set for model construction LIBRARY Create a New Model CREAT NEW MODEL icon Workspace where you construct your model Lecture Overview What is Simulink? How to use Simulink Getting Start with Simulink Building a model Example 1 (Differential Equations ) Example 2 (Transfer Function) Creating Subsystems Useful Information Building a Model Simulink Block Diagram – pictorial model of a dynamic system Each block represents an elementary dynamic system that produces an output (either continuous or discrete output) Lines represent connections of block inputs to block outputs u (Input) x (states) y (Output) Building a Model (2) The following steps will guide you to construct a system/model: STEP 1: Creating Blocks STEP 2: Making connections STEP 3: Set Parameters STEP 4: Running Simulation Building a Model (3) Step 1: Creating Blocks Save this model This is the Sine Wave block is from the Sources library Sources library Click-Drag-Drop the Sine Wave block to Workspace Window Building a Model (4) Step 1: Creating Blocks The Gain block is from the Math library The Mux block is from the Signals &Systems library These are from the Sinks library Building a Model (5) Step 2: Making connections To make connection: left-click while holding down control key (on keyboard) and drag from source port to a destination port A connected Model Building a Model (6) Step 3: Set Parameters Double click the Gain block to set the parameter for the Gain block Name the output parameter as “out1” Gain value = 5 Building a Model (7) Step 4: Running Simulation Click here to run the simulation click “simulation parameters” to set up the desired parameters You can change the “stop time” and then click the “OK button” Building a Model (8) View output via Scope block Output of the scope To fit graph to frame Yellow: Input sine wave Purple: Output (sine wave with gain of 5 Double click on Scope block to display output of the scope Note: Scope block is similar to oscilloscope! Building a Model (9) View output (workspace) You can plot the output using the plot function Three outputs show here Lecture Overview What is Simulink? How to use Simulink Getting Start with Simulink Building a model Example 1 (Differential Equations ) Example 2 (Transfer Function) Creating Subsystems Useful Information Example 1:Differential Equations (1) Example of a dynamic system: A massspring-damper system f t The Mathematical model of the system is describe by: x 1 x Bx Kx f t M M Lets M=2kg; B = 2 Ns/m; K=2 N/m K B 1 x 2 x 2 x f t 2 Example 1:Differential Equations (2) Use Simulink to simulate the step response of the system, i.e. f(t), N Unit Step Input 1 x 2 x 2 x f t 1 2 STEP 1: Creating Blocks 0 Time, s Select BLOCK set Location in Simulink Library Step Sources Sum Math Operation Gain Math Operation Integrator Continuous Scope & To Workspace Sinks Example 1:Differential Equations (2) STEP 2: Making connections x x x Example 1:Differential Equations (3) STEP 3: Set Parameters Set Step time =0 x Note: Assume all initial conditions = 0 x x Example 1:Differential Equations (4) STEP 4: Running Simulation 1 Open “simulation parameters” window 2 Set “Stop time” = 30 RUN Simulation Example 1:Differential Equations (5) Step Response for the mass-spring-damper system example Output from Scope block Plot system response Lecture Overview What is Simulink? How to use Simulink Getting Start with Simulink Building a model Example 1 (Differential Equations ) Example 2 (Transfer Function) Creating Subsystems Useful Information Example 2: Transfer Function (1) Use the same mass-spring-damper system example and simulate the response using transfer function approach 1 x 2 x 2 x f t 2 The transfer function of the equation (assume all initial conditions =0) X ( s) 1 2 F ( s) 2s 2s 2 Example 2: Transfer Function (2) STEP 1: Creating Blocks Select BLOCK set Location in Simulink Library Step Sources Transfer Function Continuous Scope & To Workspace Sinks Example 2: Transfer Function (3) STEP 2: Making connections x Example 2: Transfer Function (4) STEP 3: Set Parameters Set Step time =0 x Example 2: Transfer Function (5) STEP 4: Running Simulation 1 Open “simulation parameters” window 2 Set “Stop time” = 30 RUN Simulation Example 2: Transfer Function (6) Same output as before (Slide 21) Output from Scope block Plot system response Lecture Overview What is Simulink? How to use Simulink Getting Start with Simulink Building a model Example 1 (Differential Equations ) Example 2 (Transfer Function) Creating Subsystems Useful Information Creating Subsystems (1) Subsystem – similar to “Subroutine” Advantage of Subsystems: Reduce the number of blocks display on the main window (i.e. simplify the model) Group related blocks together (i.e. More organized) Can create a hierarchical block diagram (i.e. you can create subsystems within a subsystem ) Easy to check for mistakes and to explore different parameters Creating Subsystems (2) Create Subsystem using model in Example 1 STEP 1: Creating Blocks (Main window) This is the Subsystem block is from the Subsystems library Creating Subsystems (3) STEP 2: Double click Subsystem block and create a model in the Subsystem block Inport (named from “sum” Outport (three outports) Creating Subsystems (4) STEP 3: Making connections (Main window) Creating Subsystems (5) STEP 4: Set Parameter (Main window) STEP 5: Running Simulation Then view output response Output from Scope block Lecture Overview What is Simulink? How to use Simulink Getting Start with Simulink Building a model Example 1 (Differential Equations ) Example 2 (Transfer Function) Creating Subsystems Useful Information Useful Information (1) Ramp Function Set Slope Set Start time for Ramp function Set initial value Useful Information (2) Input(t) Unit Step Function or Impulse 5 0 Start at 0 s Start at 5.01 s 5 t(s) Useful Information (3) To run programs, have to be in the current active directory or in a directory in the path (goto File Set path... ) To copy the SIMULINK Model from Simulink Workspace and add to report (Edit Copy model to clipboard) Need help on SIMULINK (At Simulink Library Browser Click Help)