Разработка ПО реального времени для асутп и асни 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка ПО реального времени для асутп и асни



РАЗРАБОТКА ПО РЕАЛЬНОГО ВРЕМЕНИ ДЛЯ АСУТП И АСНИ

методическое пособие к выполнению лабораторной работы по дисциплинам “Модульные системы автоматизации физических экспериментов» и «Автоматизация проектирования» для студентов специальности 140306 “Электроника и автоматика физических установок” физико-технического факультета

 

 

 

 

Томск 2008 г.

 


УДК 681.32(075)

РАЗРАБОТКА ПО РЕАЛЬНОГО ВРЕМЕНИ С ИСПОЛЬЗОВАНИЕМ REAL-TIME WORKSHOP. Методическое пособие к выполнению лабораторной работы по дисциплинам “Модульные системы автоматизации физических экспериментов» и «Автоматизация проектирования» для студентов специальности 140306 “Электроника и автоматика физических установок” физико-технического факультета. - Томск: Изд-во ТПУ, 2008.- 32 c.

Разработали: ассистент кафедры ЭАФУ ФТФ А.В Шарнин

 

ассистент кафедры ЭАФУ ФТФ А.А. Мезенцев

 

 

Рецензенты: доцент кафедры ИКСУ, АВТФ, к.т.н. Е.И. Громаков

 

доцент кафедры ЭАФУ, ФТФ, к.т.н. А.А. Лысенок

 

 

Методическое пособие рассмотрено и рекомендовано к изданию методическим семинаром кафедры ЭАФУ ФТФ «___» ________ 2008г.

 

Зав. кафедрой ЭАФУ___________________ доцент С.Н.Ливенцов

 

 

Зарегистрировано в редакционно-издательском отделе ТПУ

№_______от ”___”________2008г.

 

Председатель учебно-методической комиссии ФТФ,

_____________________к.т.н., доцент В.Д. Каратаев

Содержание

1. Цель работы  
2. Назначение пакета реального времени Real-Time Workshop  
3. Архитектура пакета реального времени Real-Time Workshop и принципы его использования при разработке ПО для АСУТП и АСНИ  
3.1. External Mode.  
Связь с Matlab при работе в External Mode  
Механизм загрузки  
TCP/IP реализация  
Использование TCP/IP реализации  
The External Interface MEX-File  
MEX-File Optional Arguments  
3.2. S-Function Target  
3.3. Real-Time Workshop Rapid Simulation Target (rsim)  
3.4. Target Tornado for Real-Time Application  
3.5. Targeting Real-Time System  
4. Типовой пример разработки ПО реального времени в пакете Real-Time Workshop  
4.1. Описание структурной схемы лабораторного стенда  
4.2. Настройка пакета Real-Time Workshop  
4.3. Пример проектирования  
4.4. Настройка параметров связи  
5. Задания на лабораторную работу  
6. Список контрольных вопросов  
7. Порядок выполнения работы  
8. Содержание отчета  
9. Список дополнительной литературы  
10. Глоссарий  

Цель работы

Целью лабораторной работы является изучение технологии проектирования и разработки ПО реального времени для АСУТП и АСНИ с использованием пакета Real-Time Workshop; приобретение навыков практического применения современной технологии для реализации функций контроля и управления объектом в реальном масштабе времени.

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

 

 


External Mode.

 

Механизм загрузки.

Когда вы изменяете параметры на блок диаграмме, Simulink вызывает MEX-file и посылает новые параметры как переменные, вместе с другой информацией. Еxternal interface MEX-file содержит код, который выполняет задачи передачи данных через канал межпроцессорного взаимодействия во внешнюю программу. Передача информации производится в рамках архитектуры клиент/сервер (сторона Simulink – клиент, сторона External Mode – сервер). При этом, когда клиент и сервер локализованы на одной ЭВМ обмен данных производится с использованием общей памяти системы, когда разделены, - по протоколу TCP/IP.

 

 

TCP/IP реализация.

Real Time Workshop использует протокол TCP/IP для взаимодействия серверной и клиентской частей ПО. Это сопряжение можно выполнить используя специальную структуру - socket, реализующую сетевую передачу сообщений на транспортном уровне. Обе стороны в этом взаимодействии независимы от транспортного уровня. Транспортный уровень и код модели интегрированы в одном модуле, выполняющем форматирование, передачу и приём сообщений или пакеты данных. Архитектура взаимодействия для различных устройств может осуществляться с использованием различных типов транспортных уровней. Например, grt, grt_malloc и Tornado targets поддерживают соединение через TCP/IP, в то время как xPC target поддерживает соединение через RS232 (serial) и TCP/IP.

Рисунок 2. Архитектура External Mode.

 

MEX-File Optional Arguments

В External Target Interface dialog box вы можете указать опции, которые будут посланы в MEX-file:

  • сетевое имя компьютера на котором запускается external program. Имя может быть:

- слово с разделителями, такое как: 'myPuter'

- или IP address с разделителями, такой как: '148.27.151.12'

контроль уровня детализации информационного отображения в процессе передачи данных. значения:

0 — no information

1 — detailed information

TCP/IP server port number: default значение 17725. Вы можете выбрать номер порта в пределах 256 and 65535 во избежании конфликта.

 

S-Function Target

 

Используя S-Function Target, можно создавать S-Function компоненты и использовать их как блоки для разработки программ в Simulink. S-function code format используется приложением S-function target, генерирующим код, который объединяет Simulink C MEX S-функции через API.

При помощи этого приложения можно:

· генерировать блоки S-Function и использовать их при разработке Simulink-моделей

· выполнить конверсию подпрограмм в компоненты

· увеличивать скорость моделирования. (во многих случаях S-Function, генерируемая из выполняемой программы, намного эффективнее чем оригинальная модель)

· многократно использовать код.

 

S-function target генерирует не встраиваемыеS-функции. То есть можно генерировать исполняемый файл из модели, которая содержит генерируемую S-функцию, используя generic real-time or real-time malloc targets, но нельзя воспользоваться для этих целей приложением Real-Time Workshop Embedded Coder target.

Targeting Real-Time System

 

Встроенные возможности Matlab для построения систем реального времени – это:

· огромное количество модулей поддержки устройств (плат), производимых компаниями, а также драйверов к ним

· большое количество приложений созданных для полнофункциональной работы с устройствами построения, отображения и обработки информации, формируемой на TARGET платформе.

 

Благодаря такой программной поддержке разработчику предоставляется возможность:

  • написания на интуитивно понятном языке кода модели
  • компилирования файла модели в код С, С++
  • редактирование выполненных моделей
  • создание драйверов для устройств и компилирование их под целевую платформу
  • создания коммуникационных каналов связи с целевой платформой
  • создания посредством интерфейса API всевозможных форм отображения данных
  • комбинирования сложных моделей
  • запуска модели реального времени на целевой платформе и управления её параметрами посредством Matlab, через созданные коммуникационные каналы.

 

Все перечисленные возможности при targeting'e систем реального времени выполняются посредством множества приложений Matlab and Simulink рассмотрение которых отдельная тематика, однако, некоторые из них выше изложены в этом документе.

Посмотреть возможности rtw, в частности блоки, предоставляемые для разработки можно тут: C:\matlab\toolbox\rtw\rtw\rtwlib.mdl

 


 

 

Подготовка к проектированию модели реального времени.

 

Пакет 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 выберем SimulationParameters.. либо комбинацией клавиш 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

Настройка параметров связи

После того, как вы запустите exe файл, программа начнёт выполняться. Для связи с TARGET платформой, необходимо создать и запустить соединение. Для настройки соединения, требуется вызвать окно канала связи в меню Tools/External mode control panel… (Рисунок 22)

Рис 22. Запуск меню настройки канала.

 

Для рассматриваемой модели используются параметры заданные по умолчанию. После этого необходимо ввести модель в режим внешнего исполнения, меню в верхней-средней части (рис 23)экрана и нажать на кнопку Соединение.

Рис 23. Запуск связи с объектом

 

Затем соседней кнопкой передадим команду «запуск» программе aero_atc.exe. В результате на экране начнётся отображение процессов, протекающих в модели. Напомню, что в данном случае используется протокол TCP/IP для реализации механизмов межпроцессного взаимодействия в пределах одной ЭВМ – HOST-компьютера. Однако, модель будет работать аналогично и в случае когда внешняя программ будет запущена на другом компьютере (TARGET платформе).


Задания на лабораторную работу.

 

Вариант № Задание
  В Simulink создать модель, состоящую из генератора синусоидального сигнала и 2х усилителей с коэффициентом усиления 2 и 4 соответственно. Выполнить визуализацию используя виртуальные приборы типа «Осциллоскоп». Настроить параметры компиляции и сгенерировать код для запуска в режиме внешнего исполнения Matlab для двух случаев: 1) запуск кода и визуализация в Simulink на одном компьютере; 2) запуск кода и визуализация в Simulink на разных компьютерах. Провести эксперимент. Проанализировать полученные результаты. Оформить отчет о проделанной работе.
  Используя блоки Simulink выполнить модель     Сгенерировать код для запуска модели в режиме внешнего исполнения в соответствии с порядком выполнения лабораторной работы.  
  Используя блоки Simulink выполнить модель Сгенерировать код для запуска модели в режиме внешнего исполнения в соответствии с порядком выполнения лабораторной работы.

 

6. Список контрольных вопросов


7. Порядок выполнения работы

 

1. В Simulink создать модель в соответствии с индивидуальным заданием.

Настроить параметры компиляции и сгенерировать код для запуска в режиме внешнего исполнения Matlab для двух случаев: 1) запуск кода и визуализация в Simulink на одном компьютере; 2) запуск кода и визуализация в Simulink на разных компьютерах.

Провести эксперимент.

РАЗРАБОТКА ПО РЕАЛЬНОГО ВРЕМЕНИ ДЛЯ АСУТП И АСНИ

методическое пособие к выполнению лабораторной работы по дисциплинам “Модульные системы автоматизации физических экспериментов» и «Автоматизация проектирования» для студентов специальности 140306 “Электроника и автоматика физических установок” физико-технического факультета

 

 

 

 

Томск 2008 г.

 


УДК 681.32(075)

РАЗРАБОТКА ПО РЕАЛЬНОГО ВРЕМЕНИ С ИСПОЛЬЗОВАНИЕМ REAL-TIME WORKSHOP. Методическое пособие к выполнению лабораторной работы по дисциплинам “Модульные системы автоматизации физических экспериментов» и «Автоматизация проектирования» для студентов специальности 140306 “Электроника и автоматика физических установок” физико-технического факультета. - Томск: Изд-во ТПУ, 2008.- 32 c.

Разработали: ассистент кафедры ЭАФУ ФТФ А.В Шарнин

 

ассистент кафедры ЭАФУ ФТФ А.А. Мезенцев

 

 

Рецензенты: доцент кафедры ИКСУ, АВТФ, к.т.н. Е.И. Громаков

 

доцент кафедры ЭАФУ, ФТФ, к.т.н. А.А. Лысенок

 

 

Методическое пособие рассмотрено и рекомендовано к изданию методическим семинаром кафедры ЭАФУ ФТФ «___» ________ 2008г.

 

Зав. кафедрой ЭАФУ___________________ доцент С.Н.Ливенцов

 

 

Зарегистрировано в редакционно-издательском отделе ТПУ

№_______от ”___”________2008г.

 

Председатель учебно-методической комиссии ФТФ,

_____________________к.т.н., доцент В.Д. Каратаев

Содержание

1. Цель работы  
2. Назначение пакета реального времени Real-Time Workshop  
3. Архитектура пакета реального времени Real-Time Workshop и принципы его использования при разработке ПО для АСУТП и АСНИ  
3.1. External Mode.  
Связь с Matlab при работе в External Mode  
Механизм загрузки  
TCP/IP реализация  
Использование TCP/IP реализации  
The External Interface MEX-File  
MEX-File Optional Arguments  
3.2. S-Function Target  
3.3. Real-Time Workshop Rapid Simulation Target (rsim)  
3.4. Target Tornado for Real-Time Application  
3.5. Targeting Real-Time System  
4. Типовой пример разработки ПО реального времени в пакете Real-Time Workshop  
4.1. Описание структурной схемы лабораторного стенда  
4.2. Настройка пакета Real-Time Workshop  
4.3. Пример проектирования  
4.4. Настройка параметров связи  
5. Задания на лабораторную работу  
6. Список контрольных вопросов  
7. Порядок выполнения работы  
8. Содержание отчета  
9. Список дополнительной литературы  
10. Глоссарий  

Цель работы

Целью лабораторной работы является изучение технологии проектирования и разработки ПО реального времени для АСУТП и АСНИ с использованием пакета Real-Time Workshop; приобретение навыков практического применения современной технологии для реализации функций контроля и управления объектом в реальном масштабе времени.

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

 

 



Поделиться:


Последнее изменение этой страницы: 2016-06-19; просмотров: 461; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.179.186 (0.211 с.)