- •Разработка по реального времени для асутп и асни
- •Томск 2008 г.
- •Содержание
- •2. Назначение пакета реального времени Real-Time Workshop
- •3. Архитектура пакета реального времени Real-Time Workshop и принципы его использования при разработке по для асутп и асни
- •Связь с Matlab при работе в External Mode
- •Механизм загрузки.
- •Tcp/ip реализация.
- •Использование tcp/ip реализации.
- •Подготовка к проектированию модели реального времени.
- •4. Типовой пример разработки по реального времени в пакете Real-Time Workshop
- •Настройка параметров связи
- •5. Задания на лабораторную работу.
2. Назначение пакета реального времени Real-Time Workshop
Real-Time Workshop позволяет на основе моделей, разработанных в Simulink, генерировать оптимизированный код для выбранной аппаратной платформы, отвечающий требованиям пользователя.
Диаграмма процесса разработки и прототипирования программного обеспечения в Matlab с использованием Real Time Workshop представлена на Рисунке 1.
Рисунок 1. Диаграмма процесса разработки ПО в Real-Time Workshop
На схеме показано, как последовательно происходит формирование построения модели, её верификация, тестирование и исполнение. Для создания модели вначале используется Matlab или Simulink совместно с Matlab. Simulink предоставляет визуальный интуитивно понятный для разработчика интерфейс, что во многих случаях облегчает и ускоряет разработку модели. Процесс моделирования может выполняться непосредственно в Matlab и Smulink, однако для увеличения скорости моделирования предусмотрены дополнительные возможности, в частности режим быстрого симулирования (Rapid Simulation). Процесс тестирования модели Simulink в режиме быстрого симулирования включает прохождение блоков Simulink Code Generator - Rapid simulation, изображенных на диаграмме процесса разработки. При этом блок Rapid simulation выступает в качестве эмулятора оперативного кода С. Для компилирования визуального кода модели Matlab'a ( *.mdl ) существует блок Simulink Code Generator. Далее, на этапе готовности модели, её безошибочной компиляции в режиме быстрого моделирования, модель может быть подвержена прототипированию, - созданию локальной модели, подобной той, что мы будем использовать при локализации разработанного кода в tagret системе. Этот процесс производится через шаблон процесса - Makefile. Makefile позволяет создать автономную модель с установлением соединения через TCP/IP протокол локально или по сети Ethernet. В данном случае обязанностями блока Raped Prototyping Target является отработка модели реального времени в режим эмуляции межпроцессорного взаимодействия двух различных систем в архитектуре клиент/сервер. Это позволяет быстро обнаружить ошибки и исправить их. Результатом работы данного процесса становится блок External Mode, - полный аналог кода, который будет работать на целевой платформе. В режиме внешнего исполнения (External Mode), скомпилированная модель в процессе работы позволяет отрабатывать запросы на изменение параметров (через recompiling) и отображение процессов протекающих в модели при изменении параметров с использованием всё того же Simulink. Следует отметить, что при изменении параметров настройки модели, вышеописанный цикл повторяется. После завершения цикла настройки модели и проверки всех её режимов работы становится возможным создать так называемый встраиваемый код для индивидуальной автономной работы на целевой платформе. При этом на этапе компиляции в блоке Simulink Code Generator используется специальное приложение, - Real-Time Workshop Embedded Coder, которое функционально производит ответвление протекания процесса на Рисунке 1 в блок Production Target. Это заключительный этап в проектировании. Основное отличие Embedded Code от External Code в том, что первый, уже не требует для своего исполнения дополнительных программных приложений либо специальной операционной системы, он работает с любыми по сложности структурами как с относительными образцами, эталонами сигналов. При этом все прерывания выполняются посредством работы таймера ISR, вызываемого функцией rt_OneStep. В зависимости от функций model_step, вписанной в вашу модель, и от сложности системы (single-rate or multirate), функция rt_OneStep либо просто вызывается, либо становится в очередь на выполнение в буфер задач в соответствии с приоритетом. Таким образом, если ваше устройство содержит блоки драйверов различных устройств (ЦАП, АЦП …) функция model_step будет в фоновом он-лайн режиме производить запись и чтение данных с/в устройства.
Резюмируя, отметим, что результатами работы Real-Time Workshop могут являться программы, предназначенные для решения следующих задач:
Созданной программы для работы в режиме внешнего исполнения External Mode
Создание программы являющейся пользовательской S-функцией S-Function Target
Создание программы для выполнения Simulink-модели в режиме быстрого моделирования Real-Time Workshop Rapid Simulation Target
Кросс-платформенная разработка программного обеспечения для операционной системы VxWorks Target Tornado for Real-Time Application
Кросс-платформенная разработка программного обеспечения для целевой системы реального времени Targeting Real-Time System
