- •Разработка по реального времени для асутп и асни
- •Томск 2008 г.
- •Содержание
- •2. Назначение пакета реального времени Real-Time Workshop
- •3. Архитектура пакета реального времени Real-Time Workshop и принципы его использования при разработке по для асутп и асни
- •Связь с Matlab при работе в External Mode
- •Механизм загрузки.
- •Tcp/ip реализация.
- •Использование tcp/ip реализации.
- •Подготовка к проектированию модели реального времени.
- •4. Типовой пример разработки по реального времени в пакете Real-Time Workshop
- •Настройка параметров связи
- •5. Задания на лабораторную работу.
Подготовка к проектированию модели реального времени.
Пакет Matlab, разработанный для проектирования и исследования различного типа систем, содержит, в том числе, возможности создания программного обеспечения реального времени. для осуществления функций реального времени необходимо установить ядро реального времени для вашей системы (Unix, Windows, …). Пакет "Лаборатория реального времени" или Real-Time Workshop содержится в блоке Simulink. Если ядро реального времени на вашем ПК ещё не установлено, то необходимо это сделать следующим образом: в меню пуск, приложения Matlab(левый нижний угол экрана) выбрать пункт Simulink>Средства Windows реального времени>Установить ядро реального времени.
Рис 6. Вид меню пуск.
Для работы компилятора необходимо установить тип компилятора. Пакет Matlab поддерживает работу с 3 типами компиляторов. Для инициализации компилятора воспользуемся функцией "mex -setup".
NOTE: Команда mex –setup, пишется с пробелом перед "-", после знака "-", пробела нет! |
Наберите в поле окна команд, запущенyого пакета Matlab, команду mex –setup. далее система выведет запрос на тип компилятора, который вы хотели бы использовать:
Рис 7. Формирование запросов на инициализацию компилятора.
Далее система попросит вас выполнить 2 команды:
cd prefdir; // выводит наиболее предпочтительный путь папки, для оптимальной работы системы.
mccsavepath; // компилятор сохраняет путь.
Теперь вы готовы к моделированию. Для создания модели необходимо использовать поле новой модели. Выберите меню файл>новый>модель.
Рис 8. Создание нового документа Simulink.
Для создания модели в приложении Simulink, пакета Matlab разработаны стандартные блоки. для создания модели, вам могут потребоваться как специализированные, так и общие типы блоков. Библиотеку блоков Real-Time Workshop можно загрузить через меню пуск: пуск>Simulink>Средства Windows реального времени>Библиотека блоков.
Рис 9. Библиотека блоков для Real-Time Workshop.
Так
же, эту библиотеку и все остальные
библиотеки можно найти в обозревателе
библиотек. перейти к нему можно по
кнопке:
или
из окна "Запустить редактор":
Рис 10. Запуск библиотеки компонентов.
4. Типовой пример разработки по реального времени в пакете Real-Time Workshop
Воспользуемся готовой моделью, созданной разработчиками пакета Matlab.
Рис 11. Модель "Станция управления полётами".
Выберем
модель "aero_ats.mdl".
Для этого в строке адреса необходимо
ввести путь
"C:\matlab\toolbox\simulink\simdemos\aerospace\aero_atc.mdl".
После этого в окне откроется сама
модель, окно аннотации и окно отображения
графиков (если требуется для работы
модели). для проверки работоспособности
модели, нужно запустить её при помощи
кнопки
.
При нормальной работоспособности
модели, можно приступать к созданию
автономного EXE файла.
Для создания автономной модели, необходимо задать параметры модели. Для этого в меню Simulation выберем Simulation Parameters.. либо комбинацией клавиш Ctrl+E. На экране это выглядит так:
Рис 12. Изменение параметров моделирования.
После этого на экране появится окно параметров. Для задания параметров используем окно решателя (Solver) и окно лаборатории реального времени (Real-Time Workshop), которые выглядят так:
Рис 13. Окна параметров компилятора.
Для компилятора важными являются следующие параметры:
время моделирования (старт и стоп)
тип шага (выбираем фиксированный шаг)
подробнее: (Real-Time Windows Target: Preface: Simulink)
(Using Simulink: How Simulink Works: Determining Step Size for Discrete Systems)
значение шага (задаём 0.01)
режим работы модели (выбираем авто)
алгоритм работы решателя (выбираем ade5)
Время моделирования – это время в течение которого работает модель. При этом можно задать значение шага при фиксированном типе шага. В данном случае выбираем шаг 0.01 с. Так же можно выбрать режим работы модели. Доступные режимы: автоматически выбирается моделью, однозадачный и многозадачный В зависимости от типа и сложности решаемой задачи выбирается алгоритм работы решателя. В данном случае алгоритм работы решателя выбираем ade5 это основной алгоритм для расширенного круга задач. Данное меню предлагает 6 типов алгоритмов, основанных на различных формулах (на основе формулы Dormand-Prince, формулы Runge-Kutta и.т.д.)
NOTE:
|
Рис 14. Используемые типы шага при построении модели.
Второе, рассматриваемое окно, предлагает задать параметры Real-Time Workshop. В данном окне необходимо задать настраиваемую категорию и затем параметры этой категории.
В списке пользователю предлагается настроить 6 категорий:
конфигурация модели
TLC отладка
общие параметры генерации кода объекта
основные опции вида выходного кода
опции генерации кода GRT
В разделе "конфигурация модели" задаются параметры:
системный целевой файл
шаблон исполняемого файла
формат команды make
В данном случае, при нажатии на кнопку "просмотреть" выводится список всех доступных целевых конфигураций системы. В этом разделе необходимо выбрать grt.tlc это стандартная конфигурация для генератора реального времени.
После выбора целевого файла для генератора реального времени, остальные параметры автоматически заполняются.
Шаблон исполняемого файла – это необходимый для компилятора параметр при построении рабочей директории и системных файлов. (выбирается системой автоматически)
Формат команды make - это стандартная команда, поставляемая вместе с пакетом Matlab для лаборатории реального времени она находится в одной из системных директорий Matlab с именем make_rtw.m.(выбирается системой автоматически)
подробнее: Real-Time Workshop: Code Generation and the Build Process: Target Configuration Options
После настройки, окно параметров выглядит так:
Рис 15. Окно настройки параметров конфигурации цели для RTW.
В разделе "TLC отладка" настраивается конфигурация процесса построения кода и работы компилятора, а так же имеется возможность включения режима диалога при построении кода.
Требования к этому разделу: необходимо, что бы все флажки были сняты.
После настройки, окно параметров выглядит так:
Рис 16. Окно настройки параметров TLC отладки для RTW.
В разделе "Общие параметры генерации кода объекта" нужно поставить флажки в пунктах:
подробные построения
генерация отчёта
локальный вывод блока
По показаниям отчёта, после генерации кода можно видеть полный результат работы компилятора. Это созданные *.с и *.h файлы. версию компилятора, некоторые настройки модели и время создания файла. Так же отчёт содержит полный путь к рабочей директории созданных им файлов. Это должна быть созданная вами рабочая директория.
После настройки, окно параметров выглядит так:
Рис 17. Окно настройки общих параметров генерации кода для RTW.
Рис 18. Пример отчёта о выполненной работе.
Следующий раздел, с аналогичным названием, так же содержит настройки генерации модели. В этом разделе все флажки должны быть выставлены.
После настройки, окно параметров выглядит так:
Рис 19. Окно настройки общих параметров генерации кода для RTW
В разделе "Основные опции вида выходного кода" флажки должны быть выставлены в пунктах "Ставить имя модели перед глобальными идентификаторами" и "Генерировать комментарии", как это показано ниже. Эти опции позволят прослеживать работу компилятора при построении кода.
После настройки, окно параметров выглядит так:
Рис 20. Окно настройки параметров выходного кода для RTW.
В последнем разделе "опции генерации кода GRT" указываются параметр MAT-файла (rt_, _rt, non), модель внешнего уровня и игнорировать хранение классов.
А так же необходимо указать External mode для внешнего исполнения нашей модели.
После настройки, окно параметров выглядит так:
Рис 21. Окно настройки генератора реального времени.
По окончании конфигурирования модели и процесса работы компилятора можно приступать к генерированию кода. Запуск компилятора производится кнопкой "Построить". После чего в окне команд компилятор начинает выводить комментарии о производимых операциях. Так как мы задали автоматическое построение кода, то компилятор не использует диалоговый режим. по окончании процесса выводится сообщение:
### Successful completion of Real-Time Workshop build procedure for model: aero_atc
>>
которое говорит о том, что процесс успешно завершён. Так как мы задали параметр вывода отчёта, то в окне "Help" должен быть сконфигурирован полный отчёт о проделанной работе, а заданной вами рабочей директории создан файл aero_atc.exe.
Данный файл при его запуске, входит в режим внешнего выполнения (выполняется автоматически без участия Matlab), как и ставилось целью данной работы. Однако, для представления результатов, необходим Matlab, который используется как редактор исходной модели и среда для вывода визуальной информации. Также существует дополнительная возможности настройки внешнего управления и представления результатов на другой рабочей станции, возможность настройки связи с Matlab по цифровым интерфейсам периферийных устройств или по протоколу TCP/IP. Для примера работы модели, воспользуемся протоколом TCP/IP в рамках вашего рабочего ПК.
Для этого необходимо запустить созданный вами файл aero_atc.exe в командной строке. Вызов командной строки может осуществляться следующим образом: Меню Пуск->Выполнить-> набрать cmd -> нажать ОК. Для запуска модели в командной строке появившегося окна набрать: aero_atc.exe –tf inf –w. Для работы в команднойстроке смотрите ПАМЯТКУ ПО СЁРФИНГУ В DOS
