Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб4_ПО_реального_времени.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
4 Мб
Скачать

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]