Applying Control Design with
MATLAB, SIMULINK, Stateflow and Simulink Coder


register

Course Highlights

This is a comprehensive course that demonstrates effective techniques for improving efficiency in the use of MATLAB and SIMULINK for modeling and simulation Control Systems with Control System Toolbox and SIMULINK Control Design. It elaborates ways to linearize a model and develop control laws using a variety of design methodologies. It explores Stateflow in implementing complex decision flows and finite-state machines to model and simulate event driven and logic systems. It introduces the automatic code generation with Simulink Coder for real-time application development.

Topics include:

    • Model Formats
    • System Identification
    • System Analysis
    • Linearization
    • Compensator design
    • Controller Implementation
    • Modeling complex logic flows
    • Modeling state machines
    • Real-Time Applications with xPC Target
    • Software Deployment with Embedded Targets

Course Objectives
The aim of the course is to provide general knowledge for participants to use MATLAB and SIMULINK control system design tools to accelerate the design process for closed-loop control system, Stateflow to implement complex decision flows and finite-state machines, and Simulink Coder for real-time application development.

Who Must Attend
Engineer, researchers, scientists, and managers who are involved in control engineering design and problem solving. It is also strongly recommended for those who would like to establish and strengthen their foundation in Control Engineering, MATLAB and SIMULINK.

Course Benefits
Upon the completion of the course, the participants will gain a comprehensive understanding on utilizing the Control System Toolbox and SIMULINK Control Design to design and develop control system using a variety of design methodologies. The participants will be able to implement complex decision flows with Stateflow, and develop real-time application with Simulink Coder.

Prerequisites

Attended "Comprehensive MATLAB" and "Comprehensive SIMULINK" or equivalent experience using MATLAB and SIMULINK, and an understanding of terminology and concepts related to common control systems.

Course Outline

Day 1

Control System Design Overview
Objective: Provide an overview of the control system design process and introduce how The MathWorks tools fit into that process. The details of each step in the design process will be covered in later chapters.

  • The digital motion control system
  • Control design workflow
  • Linearizing a model
  • Finding system characteristics
  • Setting controller requirements
  • Tuning a controller
  • Testing the controller

Model Representations
Objective: Discuss the various formats used for representing system models. Also highlights the pros and cons of each format.

  • Model representations overview
  • LTI objects
  • Simulink models

System Identification
Objective: Illustrate how to estimate system models based on measured data.

  • System identification overview
  • Data importing and preprocessing
  • Model estimation
  • Model validation

Parameter Estimation
Objective: Use measured data to estimate the values of a Simulink model's parameters.

  • Parameter estimation overview
  • Model preparation
  • Estimation process
  • Parameter estimation tips

System Analysis
Objective: Illustrate how to estimate system models based on measured data.

  • System identification overview
  • Data importing and preprocessing
  • Model estimation
  • Model validation

Day 2

Linearization
Objective: Discuss techniques for linearizing a Simulink model and validating the linearization results.

  • Linearization workflow
  • Operating points
  • Linearization functions
  • Frequency response estimation

PID Control in Simulink
Objective: Use Simulink to model and tune PID controllers.

  • PID Workflow
  • Model setup
  • PID Controller block
  • Automatic tuning
  • Additional PID features

Control Design
Objective: Use classical control design techniques to develop system controllers. Common control techniques are covered, such as PID and Lead/Lag controllers.

  • PID control
  • Lead/Lag control
  • Parameter tuning in Simulink

Controller Implementation
Objective:
Discuss steps that might be needed to effectively implement a controller on a real system.

  • Physical and practical limitations of controllers
  • Discretizing a controller
  • Creating more realistic simulations

Day 3

Modeling Complex Logic Flows
Objective: Explains how to implement decision flows with flow diagrams.

  • What is a flow graph
  • Constructing a flow graph
  • Semantics of a flow graph
  • Reusing a flow graph

Modeling State Machines
Objective: Explain how to implement state machines with state diagrams.

  • What is a state machine?
  • Constructing a state machine
  • State actions
  • Semantics of a state transition
  • Inner flow graph

Implementing Hierarchical State Machines
Objective: Explains how to implement hierarchical diagrams to improve clarity of state machine designs.

  • Why use hierarchy?
  • Constructing a multilevel state machine
  • Behavior of a multilevel state machine
  • Recovering active substates
  • Semantics of a cross-level state transition

Using Events in State Charts
Objective: Explains how to use events within a Stateflow chart to affect chart execution.

  • Using events in state charts
  • Broadcasting events
  • Behavior of state charts that contain events
  • Implicit events
  • Temporal logic operators

Day 4

The Roles of Simulink Coder
Objective: This section explains the applications of Simulink Coder and how they fit in Simulink model-based design.

  • Role of Simulink Coder in simulation, prototyping, and Real-time testing applications
  • Simulation and prototyping applications
  • In-the-loop testing applications
  • Simulink Coder code architecture
  • Constraints of Simulink Coder

Real-Time Applications with xPC Target
Objective: This section introduces the use of xPC Target to generate real-time applications.

  • xPC Target product overview
  • Booting the xPC Target kernel
  • Generating an xPC Target application
  • Running a real-time application
  • xPC Target object
  • Accessing signals
  • Tuning parameters in real time

Code Generation and Integration with External Code
Objective: This section introduces the use of Simulink Coder and Embedded Coder to generate code for algorithm export.

  • Generic Real-Time (GRT) target overview
  • Generating GRT code from a model
  • Verifying GRT code
  • Embedded Real-Time (ERT) target overview
  • Generating embedded code from a model
  • Organization of ERT files
  • ERT data structures
  • Integrating code with external execution harness
  • Data logging and verifying ERT code

In-the-Loop Verification and Deployment

Objective: This section introduces the use of the Embedded Coder product for processor-in-the-loop verification and software deployment on the embedded target.

  • Model-Based Design for embedded system development
  • Algorithm simulation
  • Software-in-the-loop (SIL) verification
  • Processor-in-the-loop (PIL) verification
  • Real-time deployment