Académique Documents
Professionnel Documents
Culture Documents
R2013b
Roni Peer, M.E. Senior Applications Engineer Systematics, Ltd. ronip@systematics.co.il http://www.linkedin .com/in/ronipeer
Reduce the amount of time it takes to run simulations, test designs, and generate code Improve iteration, verification, and configuration management Facilitate collaboration, especially for modeling large systems
Increase the scope of the Simulink modeling language to expand what problems it can be used to solve Improve the efficiency of the Simulink modeling language and generated code Increase control over design tradeoffs and look of generated code
2
So is R2013a/b!
Simulink & Stateflow
Managing design variants Authoring MATLAB IP Hardware support The new editors Native Single Precision
Control Design
Automated tuning of gainscheduled controllers
V&V
New Polyspace products Linking requirements to MATLAB code
Physical modeling
Next generation of Power Systems modeling New thermal liquids library Size actuators using SimMechanics
Code Generation
Xilinx Zynq (C and HDL) ARM Cortex-M Safety-critical
CO NFI DE NT I A L |
44
Simulink
The New Editors Managing design variants Authoring MATLAB IP Hardware support LCC 64-bit
Simulink Editor
Ability to add rich controls, links, and images to customized block interfaces using the Mask Editor Content preview for subsystems and Stateflow charts Comment-through capability to temporarily delete blocks and connect input signals to output signals Visual cues for signal lines that cross UTF-16 character support for block names, signal labels, and annotations in local languages
6
System objects
Work in MATLAB and Simulink Foundation for System Toolboxes Generate code
classdef RemoveMean < matlab.System % Remove estimated running mean. properties % Memory weighting Weight = 0.8 end properties (DiscreteState) Mean = 0 % Initial value end methods (Access=protected) function out = stepImpl(obj,in) out = in - obj.Mean; obj.Mean = in - out*obj.Weight; end end
How do you design software for all Different power/ efficiency tunings these different alternatives?
Different transmission options Different chassis mounts
10
Model 2
12
13
Why is this important? 40% adoption of Mac at top universities Arduino is a popular target Is this just for edu? No, it intrigues all engineers accessibility, teaching, learning MBD
Arduino
Gumstix Overo
Raspberry Pi
14
Hardware Connectivity
15
Modeling Concurrency
F1 F2 F3 F4
Simulink Model Target Specification
Core
F5
F6
Task
Task
Task
Scheduler
Core
V&V
New Polyspace products Linking requirements to MATLAB code
17
Polyspace
New products
Polyspace Bug Finder Polyspace Code Prover MATLAB is required for Polyspace in R2013b
18
19
Red: faulty
out of bounds error
Gray: dead
unreachable code
Orange: unproven
may be unsafe for some conditions
Purple: violation
MISRA-C/C++ or JSF++ code rules
}
Range data
tool tip
20
21
Used by: Systems engineers tracking design or requirement changes Design engineers who rely heavily on MATLAB code DO-178 mandates traceability to ALL parts of the design Used How? Link requirements to MATLAB code for
Parameter definition Algorithms Test cases etc.
Highly requested ability
22
23
Code Generation
Xilinx Zynq (C and HDL) ARM Cortex-M
24
Interface
FPGA
HDL Code Hardware
FPGA Designers not familiar with programming processors DSP/Processor programmers not familiar with FPGAs What should run on the FPGA vs. what should run on the ARM? No established rules for hooking up the interface between FPGA and ARM processor 25
Interface
FPGA
HDL Code Hardware
Established workflow with Embedded Coder Established workflow with HDL Coder Guided Workflow for HDL code generation Automatic Interface Generation
26
27
28
30 ...
29
Roni Peer, M.E. Senior Applications Engineer Systematics, Ltd. ronip@systematics.co.il http://www.linkedin .com/in/ronipeer
30
Controls
31
32
R2013a:
for ct1 = 1:numel(P1) for ctN = 1:numel(PN) T() = linearize(mdl,io_T); end end
R2013b:
[P1val,..,PNval] = ndgrid(P1,..,PN); params(1).Name = 'P1' params(1).Value = P1val; ... params(N).Name = 'PN'; params(N).Value = PNval; T = linearize(mdl,io_T,params);
1 model compilation!
33
T = getIOTransfer(lin,'r','y')
L = getLoopTransfer(lin,'u')
S = getSensitivity(lin,'y') 34
35
36
38
Physical Modeling
Next generation of power systems modeling New thermal liquids library Size actuators using SimMechanics
39
SimDriveline SimMechanics
Simscape
SimElectronics
dt
41
SimPowerSystems
Third Generation Technology
42
Simscape
Thermal Liquid Library
43
SimMechanics
Prescribed Motion, Actuation Forces
New 44
www.systematics.co.il/mathworks/
"
www.mathworks.com
Information & downloads Training schedule
Solution database Documentation MATLAB based books File exchange Newsgroup Webinars Newsletters
45
46