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

3. Архитектура пакета реального времени Real-Time Workshop и принципы его использования при разработке по для асутп и асни

3.1 External Mode.

Связь с Matlab при работе в External Mode

В режиме External Mode (внешнего исполнения) Simulink загружает потоковые данные всех параметров на целевую платформу. После инициализации загрузки Simulink ожидает, пока модель не изменит параметры.

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

Когда вы изменяете параметры на блок диаграмме, 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.

Использование tcp/ip реализации.

Ниже привёдённый рисунок 3 иллюстрирует использование TCP/IP в канале Ethernet для реализации внешнего исполнения модели для Unix или xPC систем.

Используя External Target Interface dialog box можно:

  • задать имя external interface MEX-file. Изначально - ext_comm

  • сконфигурировать makefile так, что бы он соединялся с целевым файлом, посредством TCP/IP server code, и определял настройки компилятора, когда производится генерация кода.

  • построить External программу

  • запустить External программу

  • установить соединение Simulink с External моделью.

Рисунок 3. TCP/IP-Based Client/Server реализация для External Mode

The External Interface MEX-File

Позволяет задать имя реализующего внешний интерфейс MEX-file’a в строке окна External Target Interface.

Введя имя файла, не нужно вводить расширение mex.

Этот файл может находится в текущей директории, либо в директории Matlab.

По умолчанию используется MEX-file внешнего интерфейса ext_comm. Ext_comm выполняет TCP/IP соединение. ext_comm имеет 3 основные настройки описанные в следующем разделе.

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.

Real-Time Workshop Rapid Simulation Target (rsim)

Содержит набор целевых файлов для nonreal-time создания и выполнения автономных моделей на HOST компьютере. Автономная модель создается путем компиляции из Simulink-модели. Rsim может быть использован для генерации более быстрой (по сравнению с Simulink) автономной модели, которая использует параметры настройки и загрузки новых данных моделирования из стандартного MAT-file'а без необходимости рекомпиляции вашей модели при изменении параметров. С код автономного модуля генерируется RTW оптимизировано к быстрому выполнению дискретных по времени систем или систем, которые используют фиксированный шаг решения. Скорость генерации кода становится идеальной для формирования результата при реализации метода Монте-Карло. При формировании запросов на целевую платформу, как и в обратном порядке, используется стандартный MAT-file, в который и из которого происходит считывание параметров настройки и запись полезной информации, сформированной на целевой платформе.

Процесс быстрого прототипирования можно представить следующей схемой:

Рис 3. Быстрое прототипирование.

The run-time interface for a rapid prototyping target includes:

• Supervisory logic

- The main program

- Execution engine and integration solver

• Supporting logic

- I/O drivers

- Code to handle timing, and interrupts

• Monitoring, tuning, and debugging support

- Data logging code

- Signal monitoring

- Real-time parameter tuning

- External mode communications

Target Tornado for Real-Time Application

Операционная система VxWorks от компании Wind River Systems, Inc. – это Unix-подобная операционная система реального времени с интегрированными возможностями узлов связи и специальных приложений, средств разработки и сервисов.

Архитектуру взаимодействия автономных платформ можно показать так: рис 4. На этом рисунке явно видна структура подсистемы сбора и преобразования данных с объекта (VxWorks Target) и подсистема управления, отображения и обработки принятых с объекта данных.

Рис 4. Схема взаимодействия HOSTTARGET.

Блоки компонентов для построения моделей на основе VxWorks на платформах Tornado представлены в Simulink/Real-Time Workshop/VxWorks support.

На основе встроенных возможностей Matlab for VxWorks rеal-time можно:

  • конфигурировать блоки драйверов устройств и исполняемых файлов

  • создавать программы

  • загружать объектные файлы на целевую платформу (Target) с установленной ОС VxWorks

  • использовать Simulink External Mode для изменения параметров настройки созданных в RTW программ и моделей, предварительно загруженных и автономно работающих на VxWorks target

  • использование StethoScope позволит использовать встроенные VxWorks сервисы для отображения входных данных

Таким образом, если HOST и TARGET платформы поддерживают возможность сетевого соединения, то посредством sockets network API можно реализовать программу реального времени со следующей архитектурой

Рис 5. Структура работы модели реального времени на основе платформы Tornado для операционной системы VxWorks.

Название программного модуля

Примечания

Ext_comm.

формирователь сообщений через транспортный уровень

tExtern

блок приёма переменных управления

tBaseRate

блок обработки данных

tScope

блок формирования собранной информации


Targeting Real-Time System

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

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

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

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

  • написания на интуитивно понятном языке кода модели

  • компилирования файла модели в код С, С++

  • редактирование выполненных моделей

  • создание драйверов для устройств и компилирование их под целевую платформу

  • создания коммуникационных каналов связи с целевой платформой

  • создания посредством интерфейса API всевозможных форм отображения данных

  • комбинирования сложных моделей

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

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

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

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