# ​Course Highlight

This five-day comprehensive hands-on training is a bundle of ‘Comprehensive SIMULINK’ and ‘Stateflow for Logic Driven System Modeling' course modules.  It is especially designed for beginners new to SIMULINK who wish to learn how to optimize Simulink and Stateflow under an umbrella scheme.

# Course Objectives

• Provide participants with the fundamentals and hands-on experience in using SIMULINK & Stateflow

• Help participants improve their ability to model using SIMULINK & Stateflow and discover which tools are most appropriate for certain applications.

# Who Must Attend

This hands-on course is designed for engineers who are new to the SIMULINK environment. Engineers, researchers, scientists, and managers working with systems level design will be shown an easy-to-use approach in using SIMULINK & Stateflow.

# Prerequisite

Attended "Comprehensive MATLAB " or equivalent experience in using MATLAB.

# Day 1 of 5

Creating and Simulating a Model
Objective: Create a simple Simulink model, simulate it, and analyze the results.

• Introduction to the SIMULINK interface

• Potentiometer system

• System inputs and outputs

• Simulation and analysis

Modeling Programming Constructs
Objective: Model and simulate basic programming constructs in SIMULINK

• Comparisions and decision statements

• Vector signals

• PWM conversion system

• Zero crossings

• Matlab Function block

Modeling Discrete Systems
Objective: Model and simulate discrete systems in Simulink

• Discrete signals and states

• PI controller system

• Discrete transfer functions and state-space systems

• Multirate discrete systems

Modeling Continuous Systems
Objective: Model and simulate continuous systems in Simulink

• Continuous states

• Throttle system

• Continuous transfer functions and state-space systems

• Physical boundaries

# Day 2 of 5

Solver Selection
Objective: Select a solver that is appropriate for a given Simulink model.

•  Solver behavior

•  System dynamics

•  Discontinuities

•  Algebraic loops

Developing Model Hierarcy
Objective: Use subsystems to combine smaller systems into larger systems.

•  Subsystems

•  Bus signals

Modeling Conditionally Executed Algorithms
Objective:Create subsystems that are executed based on a control signal input.

• Conditionally executed subsystems

• Enabled subsystems

• Triggered subsystems

• Input validation model

Combining Models into Diagrams

Objective: Use model referencing to combine models.

• Subsystems and model referencing

• Model referencing workflow

• Model reference simulation modes

• Model workspaces

• Model dependencies

Creating Libraries
Objective:Use libraries to create and distribute custom blocks

• Creating and populating libraries

# Day 3 of 5

Objective:Understand how timing works in Simulink and what tools you can use to analyze and control the scheduling a Simulink model

• Execution process

• Block update

• Rate transitions

Objective: Learn ways to automatically test and run the Simulink model

•  Simulating the model

•  Accessing simulation output data

•  Automating test runs

•  Checking and modifying settings

Speed and Memory Management
Objective: Learn methods for increasing the speed of simulation by changing Simulink parameter settings, optimizing model structure and managing memory.

• Performance Improvement

• Vectorization

• Optimization setting

• Signal specification

• Eliminating integration.

Combining Models into Diagrams
Objective:Use model referencing to combine models

• Subsystems and model referencing

• Model referencing workflow

• Model reference simulation modes

• Model workspaces

• Model dependencies

Objective: Integrate MATLAB code into Simulink models

• Writing a MATLAB function in a MATLAB function block

• Converting a MATLAB function to a MATLAB Function block

• MATLAB Function block coding standard

# Day 4 of 5

Modeling Flows Graphs
Objective: Implement decision flows with flow graphs

• Junctions and transitions

• Flow graph behaviour

• Stateflow interface

• Conditions and condition actions

• Chart data

• Common patterns

Modeling State Machines
Objective:Implement state machines with state diagrams

• State machine behaviour

• State and transition actions

• Chart initialization

• Action execution order

• Flow graphs within states

Hierarchical State Machines
Objective:Implement Hierarchical disgrams to improve clarity of state machine designs

• Superstates and substates

• State data

• History Junction

• Transition priority

• Action execution order

Parallel State Charts
Objective:Implement parallel states to model multiprocessing designs

• Benefits of parallel states

• Chart/state decomposition

• Parallel state data

• Parallel state behaviour

# Day 5 of 5

Using Events in State Charts

Objective: Use events within a Stateflow chart to affect chart execution.

• Using events in state charts

• Behavior of state charts that contain events

• Implicit events

• Temporal logic operators

Calling Functions from State Charts

Objective: Create functions in a Stateflow chart out of Simulink blocks, MATLAB code, and flow graphs.

• Types of functions available

• MATLAB functions

• Graphical functions

Truth Tables and State Transition Tables

Objective: Create flow graphs and state charts in table form.

• Truth tables

• Conditions, decisions, and actions

• State transition tables

• States, transitions, and actions

Design Considerations in Stateflow

Objective: Reuse Stateflow designs, constrain chart semantics, and interact with structured Simulink data.

• Mealy and Moore charts

• Data types

• Bus signals

• Atomic subcharts

• Data mapping

• Chart reuse