Introduction to Simulink & Stateflow
Coorous Mohtadi
Key Message
Simulink and Stateflow provide:
A powerful environment for modelling real processes...
and are fully integrated with the MATLAB environment.
Instrument Control and Data Acquisition enable
verification and validation of models
Agenda
What is Simulink?
What is Stateflow?
How to connect to outside world?
Why Build Models?
Verify Designs
Validate Requirements
Process Analysis
Speed up Design
Performance Optimization
Speed up Testing
Training
Dealing with Growing Complexity
Past
to
Present
5
Overview of MATLAB
The leading environment
for technical computing
Interactive
development
environment
Technical computing
language
Data analysis and
visualization
Algorithm development
6
Introduction to Simulink
Block-diagram environment
Model, simulate, and analyze
multidomain systems
Accurately design, implement,
and test:
Control systems
Signal processing systems
Communications systems
Other dynamic systems
Simulink Product Key Features
Extensive and expandable
libraries of predefined blocks
Hierarchical,
component-based modelling
Open Application Program
Interface (API)
Hybrid (mixed-signal),
multirate and multitasking
system simulation
Full MATLAB integration
Types of Models
Continuous-Time
Discrete-Time / Multi-Rate
Sampled-Data
Finite State Machines / Mode
Logic
Discrete Event Systems
Physical Domains
Products Used in this example
MATLAB
Simulink
Simulink Control Design (only for PID Tuning)
Simulink Design Optimization (only for PID Tuning)
10
PID Control of a DC Motor
di
V K
i R L
dt
d
T K i b
J
dt
1
(V K
i R)dt
L
1
(T K i b )dt
J
V
K
J,b
i
11
What Have You Seen?
Modelling equations in Simulink
Building a system with hierarchy
Parameterisation and integration with MATLAB
Continuous control example
Design with simulation
12
Agenda
What is Simulink?
What is Stateflow?
How to connect to outside world?
13
What is a finite state machine?
A representation of a reactive system that contains a finite
number of states
System changes states based on defined conditions
Examples:
Automatic transmission:
First, second, third, and fourth gears
Actuator in a fault detection, isolation, and recovery system:
Active, standby, off, isolated
Robot arm
Initialization, normal mode, or shutdown
14
Stateflow Overview
Extend Simulink with a design environment for developing
state machines and flow charts
Design systems containing control, supervisory, and
mode logic
Describe logic in a natural and understandable form with
deterministic execution semantics
15
How does Stateflow work with Simulink?
Simulink is used to respond to
continuous changes in
dynamic systems.
Stateflow is used to respond
to instantaneous changes in
dynamic systems.
Real-world systems have to respond to both continuous and
instantaneous changes.
suspension dynamics
gear changes
propulsion system
liftoff stages
robot kinematics
operation modes
Use both Simulink and Stateflow so that you
can use the right tool for the right job.
16
Products used in this example
MATLAB
Simulink
Stateflow
17
Key Features
Defines functions
Procedurally, using Embedded
MATLABTM
Graphically, using flow diagrams
In tabular form, with truth tables
Provides language elements, hierarchy,
and parallelism
Animates Stateflow charts
Incorporates custom and legacy C code
Performs static and run-time checks
18
Working with Stateflow
Create Stateflow charts
Drag and drop states,
junctions, and functions
from a graphical palette
into the drawing window
Create transitions and
flow by connecting states
and junctions together
Reduce a complex chart
to a set of simpler,
hierarchically organized
diagrams using
subcharts
19
Working with Stateflow
Execute Stateflow charts
After modeling your logic in Stateflow,
you can simulate and view its
behaviour live to test and validate your
design by:
Highlighting the active states and
the transition paths taken
Viewing states and data with the
displays and scopes provided in
Simulink
Building your own custom displays
using MATLAB visualization tools
20
Agenda
What is Simulink?
What is Stateflow?
How to connect to outside world?
21
Connect to the Real World
Instrument Control Toolbox
Data Acquisition Toolbox
22
Instrument Control Toolbox
Control and communicate with scientific instruments
Integrate instruments into
MATLAB applications and
Simulink models
Interactive tool for detecting and
controlling instruments
Automatic code generation for
faster and easier implementation
Support for IVI, VXIplug&play,
and MATLAB instrument drivers
Support for common
communication protocols
23
Instrument Control Toolbox:
Supported Instrument Manufacturers, Standards, and Protocols
Agilent
Anritsu
LeCroy
Rohde & Schwarz
Tektronix
Others
Standards such as IVI, VXIplug&play, LXI
Protocols such as GPIB, VISA, TCP/IP, UDP
Serial devices Any device with a RS-232, RS-422, or
RS-485 interface (EEGs, mass spectrometers, etc.)
For a full support listing, visit: [Link]/products/instrument
24
Instrument Control Toolbox:
Instrument Drivers
Industry-standard instrument drivers
Interchangeable Virtual Instrument (IVI) drivers
VXIplug&play drivers
Several hundred supported instruments
Drivers available through the instrument vendor
Instrument drivers do not require knowledge of low-level
commands
fwrite(obj, TRIG:MAI:EDGE:SLO RIS);
set(obj, TriggerSlope, Rising);
25
Instrument Control Toolbox:
Instrument Drivers
MATLAB Instrument
Driver
Vendor Instrument
Driver
(IVI or VXIplug&play)
Automatically create MATLAB instrument driver for vendors
driver
Customize MATLAB driver to extend or enhance vendors driver
Create custom MATLAB driver for any instrument
MATLAB instrument drivers available at:
[Link]/products/instrument/drivers
26
Benefits of using MATLAB with
Instrument Control Toolbox
1.
Use MATLAB as your single software environment for data
acquisition, data analysis, and application development
Saves time transferring data
Only maintain one software tool (product upgrades, training,
maintenance costs, etc.)
2.
MATLAB and Instrument Control Toolbox are hardware neutral
You are not tied to one hardware manufacturer
Mix hardware from multiple manufacturers today
Easily switch hardware tomorrow
3.
MATLAB is widely used
Over 1,000,000 users
Technical personnel available with MATLAB experience
27
Using Instrument Control Toolbox
with Simulink
Control and acquire data from
instruments and serial devices
such as RS-232 directly into
Simulink
Also supports communication
with remote applications using
TCP/IP and UDP
28
Data Acquisition Toolbox
Acquire and output data from data acquisition boards
Immediately analyze live or
acquired data in MATLAB and
Simulink
Configure hardware without
leaving MATLAB
Incorporate custom analysis into
PC-based digital oscilloscope
Ability to do one-shot or
continuous acquisition
Support multiple data acquisition
devices and vendors
29
Data Acquisition Toolbox:
Supported Hardware
Agilent (Acqiris)
ADLINK
Advantech
CONTEC
Data Translation
[Link]
IOTech
Keithley
Measurement Computing (MCC)
National Instruments
Ono Sokki
United Electronic Industries
VXI Technology
Any PC compatible sound card
Parallel Port
For a full support listing, visit: [Link]/products/daq
30
Benefits of using MATLAB with
Data Acquisition Toolbox
1.
Use MATLAB as your single software environment for data
acquisition, data analysis, and application development
Saves time transferring data
Only maintain one software tool (product upgrades, training,
maintenance costs, etc.)
2.
MATLAB and Data Acquisition Toolbox are hardware neutral
You are not tied to one hardware manufacturer
Mix hardware from multiple manufacturers today
Easily switch hardware tomorrow
3.
MATLAB is widely used
Over 1,000,000 users
Technical personnel available with MATLAB experience
31
Using Data Acquisition Toolbox
with Simulink
Acquire live or measured data
directly into Simulink models from
data acquisition devices
Directly evaluate your Simulink
algorithms against real-world data
32
Conclusion
Simulink and Stateflow provide:
A powerful environment for modelling real processes...
and are fully integrated with the MATLAB environment.
Instrument Control and Data Acquisition enable
verification and validation of models
33
Overview of The MathWorks
Bernard McKeown
[Link]@[Link]