Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1 © 2012 The MathWorks, Inc.
Real Time Testing of PMSM
Controller using xPC Target
Turnkey solution
August 08, 2012
Prasanna Deshpande
Application Engineering
MathWorks India
3
What is real time testing – Rapid Prototyping
Wiring and
Signal Conditioning
xPC Target System Production Plant Hardware
Code
Generation Execution
• Host/Target
• Real-time
4
What is real time testing – Hardware in the
loop simulation
Wiring and
Signal Conditioning
ECU or MicroController Real-time System
Execution
• Host/Target/Target
• Real-time
Code
Generation
Code
Generation
6
– IO Driver in the form of Simulink library
– Interface the model with a real time kernel
– Execute the model with a specific sample time
– A scalable, flexible hardware platform – for expansion
– Robust hardware – should be able to sustain in plant – noisy
environment
Challenges or needs faced by the RP engineer
7
Today’s Agenda
Converting simulation model to a real time application
– Configuring I/Os
– Choosing the right target hardware
– Preparing the model for code generation
– Build and Download
Interfacing with real time application
– MATLAB Scripts
– xPC target explorer
– Simulink external mode
– xPC target API
Converting a physical system model to real time
application for HIL simulation
Wrap-up
8
Starting point: Simulation Model of PMSM
Controller
+ u y s1 s2
s3
9
Today’s Agenda
Converting simulation model to a real time application
– Configuring I/Os
– Choosing the right target hardware
– Preparing the model for code generation
– Build and Download
Interfacing with real time application
– MATLAB Scripts
– xPC target explorer
– Simulink external mode
– xPC target API
Converting a physical system model to real time
application for HIL simulation
Wrap-up
10
Converting the simulation model to a real time
application: Configuring I/Os
s1 s2
s3
PWM A
PWM B
PWM C
I B
I A
A
B
Index
11
Choosing the right target hardware: Mobile
Real-Time Target Machine
Performance : – 2GHz Dual Core Intel processor
– 2GB RAM, 100GB HD
– Gigabit Ethernet
Expandable : 5 PCI Slots
Digital and Analog I/O, CAN, Serial, etc.
FPGA Expansion Card : – High-speed PWM and Quadrature generation and decoding
– High-frequency control loops
– Programmable with MathWorks HDL Coder
This is the xPC Target Turnkey Computer
12
Hardware Detailed Block Diagram
Power
Electronics
PMSM
Motor
Encoder
PWM A
PWM B
PWM C
A
B
Index
I A
I B IO 101
AI Card
IO 313
FPGA Card
xPC Target Turnkey Mobile Machine
P
C
I
x86
CPU
13
Converting the simulation model to real time
application: Preparing model for code
generation
Solver settings
Code Generation Settings
xPC target options
Hardware
Implementation
- Fixed step
- xPC target “tlc”
- Execution Options
- HW device type
14
Host computer
with MATLAB
xPC Target Turnkey
computer
Ethernet or RS 232
1
2
3
An environment that allows the real-time execution of Simulink
models on a separate xPC Target Kernel compatible PC.
Simulink
Coder
Build the application and download to the
target hardware
15
Today’s Agenda
Converting simulation model to a real time application
– Configuring I/Os
– Choosing the right target hardware
– Preparing the model for code generation
– Build and Download
Interfacing with real time application
– MATLAB Scripts
– xPC target explorer
– Simulink external mode
– xPC target API
Converting a physical system model to real time
application for HIL simulation
Wrap-up
16
Interfacing with the real time application:
Logging data and tuning parameters
From standard MATLAB interface
Define signals to log
Add file scope without modifying the model
Define the parameters to tune
Connect and run
Tune parameters
Stop the application, retrieve data from target and
plot
17
MATLAB Scripts Example – using the “tg” Object properties
>> tg = xpc; % Create xPC Target object
>> tg.load('mct_xpcClosedLoop'); % Load application
>> tg.start; % Start application
>> Amp=tg.getparamid('Signal Generator', 'Amplitude');
>> tg.setparam(Amp,2) % Change Amplitude value
ans =
parIndexVec: 2
OldValues: 0.5000
NewValues: 2
>> tg.stop; % Stop application
>> plot(tg.TimeLog,tg.OutputLog(:,[1 2])) % Plot data
18
Parameters
Signals
Double-click
to edit
xPC Target Explorer – xpcexplr Example – tune parameters, monitor & plot signals
19
Simulink External Mode Example – Simulink model is the interface to the target real-time application
External Model
20
xPC Target APIs Example – Create & Edit Custom UIs
.NET, C, COM APIs
Drag-and-drop controls
Program callbacks with ease using
Intellisense
Drag and drop
controls
Graphical interface design
Define callbacks
and GUI behavior
Instant access to all
API objects
21
3rd Party Solutions GUI/HMI Tools
OpenSim
Altia Design
VISUALCONNX
22
Host Computer
with MATLAB
xPC Target Turnkey
Computer
Ethernet or RS 232
An Environment that provides interactive access between the
real-time application and the host computer
Allows live parameter tuning, control from the original Simulink
model and offline analysis support in MATLAB.
Host computer
with MATLAB
xPC Target Turnkey
computer
Ethernet or RS 232
Revisit: What is xPC Target?
23
Host computer
with MATLAB
xPC Target Turnkey
computer
Ethernet or RS 232
3
An Environment that provides interactive access between the
real-time application and the host computer
Allows live parameter tuning, control from the original Simulink
model and offline analysis support in MATLAB.
1
2
4
2
Revisit: What is xPC Target?
24
xPC Target Turnkey PC
Host computer
with MATLAB
xPC Target Turnkey
computer
Ethernet or RS 232
An Environment that provides numerous I/O device driver blocks
Blocks are easily configurable within the Simulink model and
communicate with actual hardware in real-time.
Revisit: What is xPC Target?
25
xPC Target
Turnkey computer
An Environment that provides numerous I/O device driver blocks
Blocks are easily configurable within the Simulink model and
communicate with actual hardware in real-time.
Revisit: What is xPC Target?
26
xPC Target Turnkey
Target Hardware partnership with Speedgoat
Hardware customized to fit your performance and I/O needs
Saves you time and hassle of acquiring, installing, configuring, and testing
Commercial Version : http://www.mathworks.com/products/xpctarget/supported-hardware
Academia Version : http://www.mathworks.com/academia/xpctarget-turnkey
27
– IO Driver in the form of Simulink library
– Interface the model with a real time kernel
– Execute the model with a specific sample time
– A scalable, flexible hardware platform – for expansion
– Robust hardware – should be able to sustain in plant – noisy
environment
Challenges or needs faced by the RP engineer
28
Today’s Agenda
Converting simulation model to a real time application
– Configuring I/Os
– Choosing the right target hardware
– Preparing the model for code generation
– Build and Download
Interfacing with real time application
– MATLAB Scripts
– xPC target explorer
– Simulink external mode
– xPC target API
Converting a physical system model to real time
application for HIL simulation
Wrap-up
29
Must find combination of model fidelity
and solver settings that permits real-time
execution and delivers accurate results
Simulation
Execution
Processing
I/O and
Other Tasks
Idle
Safety Margin Affected by
step size
Step Size
Minimum Possible Step Size Smaller step sizes result in overrun
Execution Time Affected by solver choice,
# of iterations and model fidelity
Chosen Step Size
Trapezoidal
Rule
ode14x
explicit
Backward
Euler
Solver Choice
Maximum Possible Step Size
High Low
Model Fidelity
Many Few
# of Iterations
Large Small
Step Size
Larger step sizes result in poor accuracy and robustness
Affected by solver choice, # of nonlinear iterations, and model fidelity
Converting a physical system model to real
time application for HIL Simulation
30
Steps For
Moving to
Real-Time
Simulation
Flowchart describes
steps engineers take
1. Obtain reference results
2. Check if real-time capable
3. Configure for fixed-step,
fixed cost simulation
4. Find settings that deliver
acceptable results and speed
5. Test on real time platform
6. Adjust if necessary
New results
match reference
results?
Acceptable
simulation
speed?
Executes
in real time with
accurate results?
N
Y
N
Y
Y N Success
N
Is the solver
taking too many
small steps?
2
Simulate with
fixed-step,
fixed-cost solver
3
Simulate on
real-time platform
5
Obtain reference results
and estimate step size
with variable-step solver
1
4
Adjust model
to make it
real-time capable
6
Decrease iterations
and/or increase
step size
Increase iterations
and/or decrease
step size
N
Y
N
31
Configuring Local Solvers
In Simscape
Configure per physical network
– Choose solver and sample time
– Sample rates can be different
Must be integer multiple of
global sample time
Backward Euler
– Designed for robustness
– Tends to damp oscillations
Trapezoidal Rule
– Designed for accuracy
– Tends to capture oscillations
Controller
Simscape
Physical
Network
Simscape
Physical
Network
Local fixed-step
implicit solver #1 Fixed-step
explicit solver
Local fixed-step
implicit solver #2
32
Today’s Agenda
Converting simulation model to a real time application
– Configuring I/Os
– Choosing the right target hardware
– Preparing the model for code generation
– Build and Download
Interfacing with real time application
– MATLAB Scripts
– xPC target explorer
– Simulink external mode
– xPC target API
Converting a physical system model to real time
application for HIL simulation
Wrap-up
33
Training Services Exploit the full potential of MathWorks products
Flexible delivery options:
Public training available in several cities
Onsite training with standard or
customized courses
Web-based training with live, interactive
instructor-led courses
More than 30 course offerings:
Introductory and intermediate training on MATLAB, Simulink,
Stateflow, code generation, and Polyspace products
Specialized courses in control design, signal processing, parallel computing,
code generation, communications, financial analysis,
and other areas
www.mathworks.in/training
34
Public Trainings in the next Few Months
Course Dates Location
Simulink for System and Algorithm Modeling 20 Aug 2012 – 21 Aug 2012 Bangalore
Embedded Coder for Production Code Generation 22 Aug 2012 – 24 Aug 2012 Bangalore
MATLAB Fundamentals 03 Sep 2012 – 05 Sep 2012 Bangalore
MATLAB Programming Techniques 06 Sep 2012 – 07 Sep 2012 Bangalore
MATLAB Fundamentals 24 Sep 2012 – 26 Sep 2012 Pune
Simulink for System and Algorithm Modeling 27 Sep 2012 – 28 Sep 2012 Pune
Statistical Methods in MATLAB 15 Oct 2012 – 16 Oct 2012 Bangalore
MATLAB Based Optimization Techniques 17 Oct 2012 Bangalore
Stateflow for Logic-Driven System Modeling 18 Oct 2012 – 19 Oct 2012 Bangalore
Email: [email protected] URL: http://www.mathworks.in/services/training Phone: 080-6632-6000
35
MathWorks India Contact Details
URL: http://www.mathworks.in
E-mail: [email protected]
Technical Support: www.mathworks.in/myservicerequests
Tel: +91-80-6632 6000
Fax: +91-80-6632 6010
• MathWorks India Private Limited Salarpuria Windsor Building Third Floor, 'A' Wing No.3 Ulsoor Road Bangalore - 560042, Karnataka India
Thank You for Attending
Talk to Us – We are Happy to Support You