вгу презентация
TRANSCRIPT
1 © 2011 The MathWorks, Inc.
MATLAB и Simulink в образовании (от составления уравнений к пониманию фундаментальных принципов)
Александр Ефремов [email protected]
аспирант ИПУ РАН
инженер департамента MathWorks, Softline
Воронеж, ВГУ, 2012
2
Семейство продуктов Mathworks
MATLAB®
Simulink® Application
Development Tools
Toolboxes
Data Access Tools
Stateflow ®
Blocksets
Code Generation
Независимые
приложения
Источники
данных
C Code
3
План доклада
Создание модели
Синтез алгоритма управления
Проверка на всех этапах разработки
6
В какой стадии проекта дороже всего
находить ошибки?
Стадия создания
требований
Стадия
проектирования
Стадия написания
кода
Стадия
тестирования
Отн
оси
тел
ьн
ая
сто
им
ость
исп
рав
лен
ия
ош
иб
ки
Стадия в которой ошибка исправлена
Ошибки сделанные в ранних и
исправленные в поздних стадиях
самые дорогие!
стадии создания требований
стадии проектирования
Ошибки сделаные в:
стадии написания кода
Return on Investment for Independent
Verification & Validation, NASA, 2004.
INCOSE (International Council on
Systems Engineering).
3–6x
20–100x
500–1000x
7
Embedded
Software
C/C++
Control
Algorithms
Control
Design
Mechanical
Components
MCAD/MCAE
Electrical
Components
EDA
Электронные
компоненты
EDA
INTEGRATION AND TEST
Спецификации
Механич.
компоненты
САПР
Проектирование и внедрение
Исследования Требования
Алгоритмы
управления
Системы
управления
Встраиваемое
ПО
C/C++
Традиционный процесс разработки
Более сложные устройства
требуют более сложного
управления
Возникают проблемы срыва
сроков или низкого качества
– снижение доходности
Настройка алгоритмов
управления вручную на
прототипах или реальной
системе
Программирование
микроконтроллеров или PLC
на основании спецификаций
Разные инструменты не
обязательно хорошо
работают друг с другом.
8
Проектирование
Embedded
Software
Control
Algorithms
Mechanical
Components
Electrical
Components
Модельно-ориентированное проектирование Описание динамики системы
Поведение системы
описывается математически
в виде блок-схем.
Система разрабатывается с
учетом требований к ее
поведению
9
Модельно-ориентированное проектирование Разработка и тестирование с использованием моделирования
Проектирование
Модели среды
Алгоритмы управления
Механика Электрика
Контролирующая логика
Требования жестко связаны
с моделью
При необходимости
увеличивается точность
модели.
Использование разработок
специалистов , например
механических моделей,
вычислений с
использованием конечных
элементов, моделей SPICE.
Проверка алгоритмов
проводится с
использованием модели.
Исследования Требования
10
Тестирование в реальном времени
MCU DSP
C, C++
FPGA ASIC
VHDL, Verilog
Модельно-ориентированное проектирование Тестирование и валидация в реальном времени
Проектирование
Модели среды
Алгоритмы управления
Механика Электрика
Контролирующая логика
Автоматическая генерация
кода из моделей для
тестирования алгоритмов в
реальном времени
Исследования Требования
Автоматическая генерация
кода из моделей для
моделирования в реальном
времени для тестирования
микроконтроллеров, ПЛИС
или PLC.
11
Внедрение
Реализация
Тести
ро
ван
ие и
вер
иф
икац
ия
Модельно-ориентированное проектирование Встроенное программное обеспечение
Проектирование
Модели среды
Алгоритмы управления
Механика Электрика
Контролирующая логика
Автоматическая генерация
кода из моделей для
реализации алгоритмов на
целевых платформах::
• микроконтроллеры
• ПЛИС
• PLC
Исследования Требования
MCU DSP
C, C++
FPGA ASIC
VHDL, Verilog
12
Автоматизированные инженерные работы (CAE) для разработки контроллеров систем, сочетающих различные инженерные сферы
Использование модели для математического описания комплексных систем
Автоматическая генерация кода непосредственно из модели для тестирования в реальном времени и аппаратной реализации
Непрерывное тестирование на протяжении всего процесса разработки
Модельно-ориентированное проектирование
Design
with
Simulation
Executable
Specifications
Continuous
Test and
Verification
Automatic
Code Generation
Models
16
Физическое моделирование
17
Объект Регулятор
Регулятор Объект
Регулятор Объект
Физическое моделирование
18
Оптимизация поведения всей системы
Моделирование регулятора и объекта в единой
среде позволяет оптимизировать поведение всей
системы.
– Автоматическая настройка с применением алгоритмов
оптимизации
– Параллельные вычисления
Объект
+ u y
Регулятор
s1 s2
s3
System
Actu
ato
rs
Sen
so
rs
19
Plant
Model
Plant
Specification
Обнаружение проблем на ранних стадиях
Объект
+ u y
Регулятор
s1 s2
s3
Разработчики систем управления и проектировщики систем могут работать совместно, чтобы обнаружить проблемы во время моделирования – Генерация кода для программно-аппаратного
моделирования
– Передача моделей пользователям без лишних лицензий
– Передача моделей сторонним пользователям, защита интеллектуальной собственности
System
Actu
ato
rs
Sen
so
rs
20
Создание модели объекта Моделирование динамических систем в Simulink
На основе данных На основе принципов работы
SimMechanics
SimDriveline
SimPowerSystems
SimHydraulics
SimElectronics
System Identification
Toolbox
Simulink Design Optimization
Simulink Simscape
Подходы к созданию моделей
Symbolic Math
Model Based Calibration
Neural Network Toolbox
21
Simulink Ведущая среда для моделирования и разработки динамических систем
Блок-схемы
Иерархическое
моделирование
Большой расширяемый
набор готовых блоков
Открытый интерфейс
разработчика (API)
Моделирование различных
сигналов, элементов,
работающих на разных
частотах
Интеграция с MATLAB
22
Физическое моделирование
Physical Modeling
MATLAB, Simulink Модель
объекта Знание об объекте Программирование
Прогр-е Знание
об объекте
Mechanical
Electronic
Multidomain
Hydraulic
Сп
ец
иф
ика
ци
я
объ
ект
а
Fortran, C++
Знание об объекте Программирование
Создание более точных моделей за меньший срок Нет необходимости в исчерпывающих знаниях об объекте или
высоких навыков программирования
23
Физическое моделирование
Sim
Mech
an
ics
Механические системы (3-D)
Sim
Dri
velin
e
Трансмиссии (1-D)
Sim
Hyd
rau
lics
Гидравлика и пневматика
Различные инженерные
сферы деятельности Силовая электроника
Sim
Po
werS
yste
ms
MATLAB, Simulink
Simscape
Sim
Mech
an
ics
Sim
Dri
velin
e
Sim
Hyd
rau
lics
Sim
Po
werS
yste
ms
Sim
Ele
ctr
on
ics
Sim
Ele
ctr
on
ics
Электромеханические и
электронные системы
Simscape
24
SimPowerSystems:
ключевые особенности
Полная библиотека блоков для
детального моделирования систем
силовой электроники
Подробные модели электродвигателей
постоянного и переменного тока
Различные режимы исполнения
моделей, ускоряющие вычисления
Алгоритм моделирования идеальных
переключений, ускоряющий исполнение
моделей силовой электроники
PowerGUI — набор инструментов
первой необходимости для анализа
схем
Большой набор демонстрационных
цепей и схем
3.125 MVA, 2.4kV
25kV
2250 HP
нагрузка
размыкатель
25
Работа с SimPowerSystems
SimPowerSystems позволяет:
– быстро создавать модели систем
силовой электроники;
– моделировать синхронные
и асинхронные электродвигатели;
– анализировать схемы и цепи;
– разрабатывать и тестировать
системы управления;
– генерировать код для увеличения
быстродействия.
SimPowerSystems — инструмент для моделирования
генераторов, линий электропередачи, распределения
и потребления электроэнергии
26
Быстрое создание моделей систем
силовой электроники
Создание моделей, выглядящих как
принципиальные схемы системы:
– трехфазные компоненты;
– подробные модели электродвига-
телей;
– гибкие системы передачи элект-
роэнергии переменным током
(FACTS).
Параметризация моделей с исполь-
зованием переменных MATLAB®;
Использование источников
и датчиков в Simulink;
Сохранение подсистем для повтор-
ного использования в моделях.
27
Моделирование электродвигателей
Редактируемые модели, позволяющие
учитывать механическое вращение
Графический интерфейс для задания
параметров двигателя,
преобразователя и регулятора
Известные методы управления
скоростью и крутящим моментом
Известные типы двигателей,
используемые в качестве генераторов:
– с постоянным магнитом;
– синхронные, асинхронные;
– индукционные;
– однофазные и трехфазные.
28
Анализ систем
Инструмент PowerGUI позволяет
быстро анализировать схему:
– отображение значений напряжения
и тока в состоянии устойчивого
равновесия;
– отображение и модификация
начальных состояний;
– потокораспределение нагрузки;
– измерение полного сопротивления;
– FFT анализ (быстрое
преобразование Фурье);
– генерация отчета.
Дискретный режим и режим
фазовращателя позволяют ускорить
вычисления.
>> Vector Control of AC Motor Drive (power_acdrive)
29
Построение линейной схемы
30
Уравнения и их реализация в Simulink
31
Реализация в SimPowerSystems
33
Сравнение Simulink и SimPowerSystems
34
Сравнение Simulink и SimPowerSystems
Обратите внимание
на увеличившуюся
сложность модели
Simulink
35
Конечные автоматы
Задача: Спроектировать алгоритм
управления, имеющее несколько
рабочих состояний
Модель
Решение: Использовать
Stateflow для проектирования
алгоритма, основанного на
состояниях
wind > cut in speed &&
wind < cut out speed
turbine >
min speed
wind spd < min spd
|| wind spd > max spd
|| turbine spd < min spd
|| turbine spd > max spd
Turbine spd
< park spd
park brake = 0
pitch brake = 0
generator = 0
Startup park brake = 0
pitch brake = 0
generator = 1
Generating
park brake = 0
pitch brake = 1
generator = 0
Brake park brake = 1
pitch brake = 0
generator = 0
Park
36
План доклада
Создание модели
Синтез алгоритма управления
Проверка на всех этапах разработки
Великий пример
37
Терминология Система управления с обратной связью
Объект управления
- u y
Регулятор
s1 s2
s3
System
Actu
ato
rs
Sen
so
rs
38
Среда разработки
- u y s1 s2
s3
System
Actu
ato
rs
Sen
so
rs
Наглядное представление всей системы
Работа в единой среде
Изучение одного инструмента
Подсистемы и библиотеки
39
План доклада
Создание модели
Синтез алгоритма управления
Проверка на всех этапах разработки
Великий пример
40
Simulink, Stateflow
Test Bench or
Plant Model Algorithm or
Controller Model
Simulation
Simscape, Sim#
41
Simulink, Stateflow
Software-In-the-Loop
Simscape, Sim# C
od
e
Ge
ne
ration
Compiled C-code
S-Function (Dynamic Link Library)
Simulink
Coder Запуск на рабочем ПК
Не Real-Time
Без плат ввода/вывода
Test Bench or
Plant Model Algorithm or
Controller Model
S-f
un
ction
42
Simulink, Stateflow
Processor-In-the-Loop
Simscape, Sim# C
od
e
Ge
ne
ration
Запуск на микропроцессоре
Не Real-Time
Встраиваемое устройство
Embedded
Coder
Test Bench or
Plant Model Algorithm or
Controller Model
Dire
ct In
terf
ace
43
Автоматическая генерация кода
Быстрое прототипирование Controller to ANSI C/C++/PLC Code Production Code, TI C2000 etc.
Программно-аппаратное моделирование (HIL)
Plant to ANSI C/C++ Code
Plant
+ u y
Controller
s1 s2
s3
System
Actu
ato
rs
Sen
so
rs
44
Simulink, Stateflow
Программно-аппаратное моделирование
Simscape, Sim# C
od
e
Ge
ne
ration
I/O
Embedded Target C
od
e
Ge
ne
ration
MATLAB Coder
Simulink Coder
xPC Target
Test Bench or
Plant Model Algorithm or
Controller Model
Embedded
Coder
PC Target (from SI)
45
Simulink, Stateflow
Быстрое прототипирование с объектом
Simscape, Sim# C
od
e
Ge
ne
ration
I/O Plant Model
Embedded Target Plant / Prototype
Test Bench or
Plant Model Algorithm or
Controller Model
Embedded
Coder
46
Simulink, Stateflow
Быстрое прототипирование
Simscape, Sim# C
od
e
Ge
ne
ration
I/O Plant Model
PC Target (from SI) Plant / Prototype
Test Bench or
Plant Model Algorithm or
Controller Model
Embedded
Coder
49
Continental: разработка пневмоподвески с
электронным управлением для грузовых
автомобилей
Challenge Разработка пневмоподвески с электронным
управлением для грузовых автомобилей (40 т)
Solution Применение инструментов MathWorks для
отслеживания требований, заложенных в
спецификации, создание
и исполнение моделей, автоматическая генерация
кода
Results Проект закончен на полгода раньше
запланированного
В два раза сокращено время верификации
90 процентов кода сгенерировано автоматически
“Инструменты Mathworks для
модельно-ориентированного
проектирования позволили нам
использовать одну и ту же среду от
начала и до конца проекта. Мы
смогли четко отслеживать
требования. Обслуживать
программное обеспечение стало
значительно проще, потому что оно
реализовано в виде модели, из
которой автоматически генерируется
код."
Thomas Ehl
Continental Link to user story
Illustration of a heavy-duty truck highlighting
the electronically controlled air suspension.
50
Challenge Разработка и внедрение круиз-контроля в
микроконтроллере блока управления двигателем
Solution Модельно-ориентированное проектирование с
использованием инструментов Mathworks –
разработка, тестирование и реализация встроенного
ПО в блоке управления двигателем
Results Компактный, эффективный код
Гибкое тестирование
Быстрая разработка
“Инструменты MathWorks
позволили быстро и без
задержек разработать и
протестировать алгоритм круиз-
контроля, что в итоге позволило
завершить проект в течение 18
месяцев”
Mario Wunsche
DaimlerChrysler
Разработка круиз-контроля в
DaimlerChrysler для грузовиков
Mercedes-Benz
Mercedes-Benz truck.
Link to user story
51
Разработка стенда HIL для департамента
транспорта США (Vehicle System
Integration)
Challenge Разработка стенда для программно-аппаратного
моделирования, который помог бы проверить главные
электронные компоненты грузовиков
Solution Использование Simulink для разработки и валидации
моделей объектов, Real-Time Workshop для
автоматической генерации кода и xPC Target для
исполнения кода в реальном времени
Results Сроки разработки сокращены на месяцы
Быстрая разработка
Сокращение стоимости разработки благодаря
определению проблем в лаборатории
“Simulink, Real-Time Workshop,
and xPC Target exceeded our
expectations for this project. The
speed with which we designed
and ran our models on our target
hardware was astonishing!”
Larry Long
Vehicle Systems Integration
Hardware-in-the-loop truck simulator.
Link to user story
52
Контактная информация департамента
MathWorks
www.sl-matlab.ru
www.mathworks.com
E-mail: [email protected]
Phone: 8-800-1-0000-23 доб.0609