70428352 دورة المحاكاة بإستخدام السميولينك SIMULINK PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 82

SIMULINK

SIMULINK

SIMULINK








Subsystems

simulink Debugger

Simulink Accelerator


S-function

S-function M-files

S-function C++ codes


SIMULINK

: Simulink

Simulink
.
simulink



simulink
.
SIMULINK Model-Based Design

nonlinear
.
Demo
.
simulink graphical user interface
)(GUI


S-function .
simulation
simulation non-real time
real time
Xpc Target Real Time Workshop .
Simulation
Simulation
Toolboxs .

: Building a Model

signal generator

signals
square wave.

Transfer function


Scope
Simulation
Mux block
signal scope

::

simulink

>>simulink

Signal generator

simulink

sources

signal generator




: scope

1 - simulink

2- sinks

3- scope


: transfer function

simulink

continuous
transfer function


:: Mux block
simulink

Signal Routing

Mux



::


::

node


ctrl
.
:


+
+
.

Configuring the Model


:: double click signal generator
::


Transfer function

Simulation

simulation 10


: start simulation :


start simulation double click Scope
Simulation square
wave 10



:
.
.



Block Diagram

(nonvirtual block and virtual blocks) .

.

" "time-based block diagram


1-
)(state variables block diagram time
step .
2- .
3-
.

1- built-in blocks
2-
custom blocks User-defined

States

states : Discrete continuous
.
intervals .
States
continuous states :

Integrator

State-Space

State-Space

Transfer Fcn

transfer function

Zero-Pole

transfer function
zero-pole-gain S .
Continuous States

Discrete States



update functions
.

Modeling Hybrid Systems

Block Parameters

Parameter
Parameters .
.
A tunable parameter
recompiling
parameters .

Block Sample Times



continuous sample time .

implicit sample time

fundamental sample time of the inputs
.
An implicit discrete sample time
.

Systems and Subsystems

subsystem
virtual and nonvirtual
Subsystems
.

Block Methods


:
Outputs

Update

Derivatives

::

BlockType.MethodType

Start Simulation

Model Compilation

executable form
:

1-
block parameter expressions

2-

3-
attribute propagation

4-
optimizations

5-
hierarchy

6-
block sorted order

7-
Sample Time

: Link Phase

: Simulation Loop Phase


1- Loop Initialization phase

2- Loop Iteration phase

1-

2-
3-
zero-crossing detection
( (

4-
.



successive states

solvers

1- Fixed-step solvers
step
size step size .

2- Variable-step solvers

.

Solvers

1- Continuous solvers

.

2- Discrete solvers

Zero-Crossing Detection

.


.

.

Algebraic Loops

direct feedthrough
:
The Math Function block
The Gain block
The Integrator block's initial condition ports
The Product block
The State-Space block when there is a nonzero D matrix
The Sum block
The Transfer Fcn block when the numerator and denominator are of the same
order
The Zero-Pole block when there are as many zeros as poles

algebraic loop
direct feedthrough
:

z = u z z = u/2

Algebraic Constraint
algebraic loop

Modeling and Simulating Discrete


Systems

) (sampled data (multirate
systems) - -
) (hybrid systems ::

1- SampleTime block parameter


block parameter Sample Time explicit implicit
implicit .

2- Sample-time inheritance

.

Determining Step Size for Discrete Systems



step size
sample time hits
fundamental sample time
fundamental sample time sample time:

sample times 0.25 0.5


fundamental sample time 0.25
solver

variable-step discrete

fixed-step

fixed-step simulation step size fundamental sample time

variable-step solver step size sample time


hits.
:

Sample Time Propagation




::

gain
::
1-
2-

Constant Sample Time


::


::

1- parameters nontunable
2- ) (inf
.



Tunable Parameters
Sample Time Propagation




::
.mdl
::
Model Editor

::

1- Menu Bar

2- Toolbar

3- Canvas

block diagram
4- Status Bar

Updating a Block Diagram


signal
data types sample times Updating a
Block Diagram

Edit Update Diagram
Ctrl+D ..

Format
Port/Signal Displays



ode45


ode3

:: M-file
:

function new_model(arab_eng)
% NEW_MODEL Create a new, empty Simulink model
% NEW_MODEL('MODELNAME') creates a new model with
% the name 'MODELNAME'. Without the 'MODELNAME'
% argument, the new model is named 'my_untitled'.
% the model name is arab_eng

if nargin == 0
arab_eng = 'arab_eng';
end

% create and open the model


open_system(new_system(arab_eng));

% set default screen color


set_param(arab_eng, 'ScreenColor', 'blue');

% set default solver


set_param(arab_eng, 'Solver', 'ode3');

% set default toolbar visibility


set_param(arab_eng, 'Toolbar', 'off');

% save the model


save_system(arab_eng);



Format Foreground color
Background color Screen color

set_param


RGB

::

::

;)'set_param(arab_eng, 'ScreenColor', 'blue

)']set_param(arab_eng, 'ScreenColor', '[0.3, 0.9, 0.5



Sample Time

Format Sample Time Colors


Update Diagram Edit .
Annotating


Annotation
Properties ::
M function Annotation

Using TeX Formatting Commands in


Annotations

TeX Formatting

1-
annotation Enable
TeX Commands ::

TeX
::

\alphara\beta-\iteng


Creating Subsystems

simulink & ports
subsystems subsystem ::
::

::

input
outport
::
::



create subsystem
::

Model Navigation Commands



Simulink Model Browser
::

Open Block
edit open block ::

Open Block In New Window



::
Go To Parent

::

Window Reuse


File Preferences Window reuse
type ::
::

Controlling Access to Subsystems




subsystem's parameter
::

Read/Write permissions
ReadOnly
NoReadOrWrite
ReadWrite

Creating Conditionally Executed


Subsystems
control signal


Enabled Subsystems
Triggered Subsystems.
Triggered and Enabled Subsystems
A control flow subsystem

::: Enabled Subsystems



scalar vector




sine wave

Enable block Ports & Subsystems
subsystem :



::

::

:
Output when disabled


Held

Reset
Initial
output .



Enable block ::
States when enabling
Held

Reset


Outputting the Enable Control Signal.
scope

Zero-Crossing Detection

Triggered Subsystems
Trigger
trigger input

Trigger
Rising


Falling


Either

.
:



trigger .

trigger R F
3 trigger


ports & subsystems
trigger
:

trigger
:
:

triggered subsystems
enabled subsystems


Function-Call Subsystems
S-function
.

::
Trigger
) (-1

.

::

trigger


:: Triggered and Enabled


Subsystems

trigger
enabled ::


::

::

sine wave trigger step
input
.

pulse 10
50% duty cycle
enable

trigger

sine trigger
.
Creating Alternately Executing
Subsystems
merge

full-wave rectifier
:

::
Conditional Execution Behavior

Switch Multiport Switch

)conditional execution (CE


behavior.
:
:

simulation format
Block displays
sorted order ::
simulation
:

X:Y
X layer
X=0

Y :

Pulse generator
constant subsystem gain scope X
Y
1- Pulse generator
2- constant
3- subsystem
4- gain
5- scope
subsystem } 0:2{1

::
1:0

subsystem
Subsystem parameters

Propagate execution context across subsystem boundary

gain

:
constant gain

1- constant
2- subsystem
3- gain
Conditional Execution Behavior
CE behavior

Propagating Execution Contexts


execution context
.
execution context .

execution context
:
1-
2-


3-
testpoint
4-
execution context
5- multirate block
6- sample time

execution context

execution context

Switch

execution context

.

:: conditional
execution behavior
Configuration Parameters Optimization
Conditional input branch execution

::
Propagate execution context across subsystem boundary
triggered subsystem


subsystem's execution context

Propagate
execution context

format Block Displays


Execution Context Indicator

Referencing Models
.
model
simulink

Ports & subsystems
instance
.
S-function the referenced
model's simulation target .

simulation target .
Referencing Referencing
root model
- model parent
parent Referencing

Global data
global data
.

Model Referencing Subsystems

Model Referencing Subsystems .


1- Modular development

2- Inclusion by reference

.
3- Incremental loading
.
4- Incremental code generation
Real-Time Workshop
stand-alone applications binaries
binaries .

Subsystems Model Referencing


.

Model Reference

Creating a Model
Reference

set path
::
Inline parameters optimization

simulation
configuration parameters
optimization Inline parameters

model

ref1 :

model
::
ref1
solver
Fixed step

edit model reference parameters
step scope
::


global tunable parameters


global tunable parameters.
.

Using Model Arguments


Model Arguments
reference
Counter reference

:
1- Declare model workspace variables that determine the
model's behavior as model arguments
workspace workspace

global nontunable parameters
global tunable parameters

2- Assign values to the model arguments in each reference to


the parameterized model

Model Arguments
view
model explorer
::
model workspace ::
workspace
workspace add MATLAB
variable
counter
1
::

Model Arguments
::
Model block's parameter
edit
Model Argument ::

::
counter
!

Model Block Sample Times



simulation target

1- ) )
2-
3-
4- fixed-step solver fixed step size
5-
sample time propagation triggered sample
time

6-



Triggered subsystem
Function call
iterator subsystem

Blocks That Preclude Sample-Time Inheritance



simulation target
simulation target
default

Discrete-Time Integrator

)From Workspace (if it has input data that contains time

)Probe (if probing sample time

Rate Limiter

Sine Wave
::
model

Referenced Model I/O

model:
Bus I/O Limitations
bus
1- bus object
2- bus object workspace

3- bus Bus Creator block

Index I/O Limitations

0 - or 1- based indexing

for
:

0- or 1-based indexing

Matching I/O Rates

rate

Building Simulation Targets

Simulation Targets S-function



simulation targets
updating the model's diagram edit slbuild .


.
targets
.

slprj
Simulink Accelerator Real-Time Workshop
Function-Call Models


Function-Call Generator
function-call model.


trigger trigger function
call Model
function call controller
ports & subsystem
model
simulation configure parameters
solver fixed step
Periodic sample time constraint
Ensure sample time independent
scalar
:

Browsing Model Reference Dependencies


Tools Model Reference Graph

view_mdlrefs

Converting Subsystems to Model References


Convert to Model Block atomic subsystem

You might also like