Блоки интерфейса Simulink Real-Time к моделям Simulink

Модель пользовательского интерфейса Simulink

Модель пользовательского интерфейса является моделью Simulink®, содержащей блоки Simulink от продуктов дополнения и интерфейсные блоки от библиотеки блоков Simulink Real-Time™. Эта модель пользовательского интерфейса может соединиться с пользовательским графическим интерфейсом с помощью продуктов Altia® или Simulink 3D Animation™. Модель пользовательского интерфейса работает на компьютере разработчика и связывается с вашим приложением реального времени, работающим на использовании целевого компьютера, Чтобы Предназначаться и От Целевых блоков.

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

Simulink 3D Animation — продукт Simulink 3D Animation позволяет вам отобразить модель пользовательского интерфейса Simulink в 3-D. Это обеспечивает блоки Simulink, которые связываются с блоками интерфейса Simulink Real-Time. Эти блоки затем связываются с графическим интерфейсом. Этот графический интерфейс является миром языка моделирования виртуальной реальности (VRML), отображенным с веб-браузером с помощью плагина VRML.

Проект Altia — Altia также обеспечивает блоки Simulink, которые связываются с блоками интерфейса Simulink Real-Time. Эти блоки затем связываются с графическим интерфейсом Алтии или с веб-браузером с помощью плагина Altia ProtoPlay.

Создание пользовательского графического интерфейса

Библиотека блоков Simulink Real-Time обеспечивает блоки интерфейса Simulink, чтобы соединить элементы графического интерфейса с вашим приложением реального времени. Шаги для создания вашего собственного пользовательского интерфейса:

  1. В модели приложения реального времени Simulink решите, какие параметры блоков и блоки-сигналы, что вы хотите получить доступ посредством управления пользовательским интерфейсом и дисплеев.

  2. Пометьте параметры блоков в модели Simulink, что вы хотите быть соединенными с управляющим устройством. Смотрите отмечающие Параметры блоков.

  3. Пометьте сигналы в модели Simulink, что вы хотите быть соединенными с дисплеем. Смотрите отмечающие Блоки-сигналы.

  4. В интерфейсе MATLAB® запустите функциональный SimulinkRealTime.utils.createInstrumentationModel, чтобы создать модель шаблона пользовательского интерфейса. Эта функция генерирует новую модель Simulink, содержащую только блоки интерфейса Simulink Real-Time (Чтобы Предназначаться и От Цели) заданный теговыми параметрами блоков и блоками-сигналами в модели приложения реального времени.

  5. К модели шаблона пользовательского интерфейса добавьте блоки интерфейса Simulink от продуктов дополнения (Simulink 3D Animation, Проект Altia).

    • Можно соединить блоки Altia с блоками интерфейса Simulink Real-Time To PC Target. Соединитесь, Чтобы Предназначаться для блоков слева к управляющим устройствам.

    • Можно соединить Altia и блоки Simulink 3D Animation к блокам интерфейса Simulink Real-Time From Target. Соединитесь От Целевых блоков справа к дисплеям.

    Можно расположить эти блоки в симпатию.

  6. Запустите и приложение реального времени и модель пользовательского интерфейса Simulink, которая представляет приложение.

Предназначаться для блока

Этот блок ведет себя как приемник и обычно получает свои входные данные от управляющего устройства. Цель этого блока состоит в том, чтобы записать новое значение в определенный параметр в приложении реального времени.

Этот блок реализован как S-функция MATLAB. Блок только изменяет параметр на приложении реального времени, когда входное значение отличается от значения, которое существовало на последнем временном шаге. Этот блок использует функцию загрузки параметра интерфейса командной строки Simulink Real-Time. Этот блок доступен от подбиблиотеки блока slrtlib/Displays and Logging. Смотрите, Чтобы Предназначаться для дальнейших деталей настройки.

Примечание

Использование Предназначаться для блоков требует связи между разработкой и целевыми компьютерами. Открытие модели, которая содержит эти блоки или копирование их к другой модели, занимает больше времени, чем нормальный без связи между разработкой и целевыми компьютерами.

От целевого блока

Этот блок ведет себя как источник. Как правило, вы соединяете его вывод с входом дисплея.

Поскольку только одно числовое значение на сигнал загружается во время временного шага, номер выборок объекта scope определяется к 1. Блок использует возможность интерфейса командной строки Simulink Real-Time и реализован как S-функция MATLAB. Этот блок доступен от подбиблиотеки slrtlib/Displays and Logging. Смотрите От Цели для дальнейших деталей настройки.

Примечание

Использование От Целевых блоков требует связи между разработкой и целевыми компьютерами. Открытие модели, которая содержит эти блоки или копирование их к другой модели, занимает больше времени, чем нормальный без связи между разработкой и целевыми компьютерами.

Создание модели приложения реального времени

Модель приложения реального времени является моделью Simulink, которая описывает вашу физическую систему, контроллер и ее поведение. Вы используете эту модель, чтобы создать приложение реального времени и задать параметры, и сигнализирует, что вы хотите соединиться с пользовательским графическим интерфейсом.

Смотрите отмечающие Параметры блоков и отмечающие Блоки-сигналы для описаний того, как отметить свойства блока и блоки-сигналы.

Отмечание параметров блоков

Маркировка параметров в вашей модели Simulink позволяет функциональному SimulinkRealTime.utils.createInstrumentationModel создавать блоки интерфейса To Target. Эти интерфейсные блоки содержат параметры, которые вы соединяете с управляющими устройствами в своей модели пользовательского интерфейса.

После того, как вы создадите модель Simulink, можно отметить параметры блоков. Эта процедура использует модель xpctank в качестве примера.

Совет

Блоки модели xpctank и сигналы содержат теги заполнителя, иллюстрирующие синтаксис. Замените эти теги на свои новые теги или добавьте, что новые теги с помощью нескольких маркируют синтаксис.

  1. Откройте модель Simulink. Например, в Окне Команды MATLAB, ввести

    xpctank
  2. Укажите на блок Simulink, и затем щелкните правой кнопкой.

  3. Из меню нажмите Properties.

    Диалоговое окно Block Properties открывается.

  4. В поле Description удалите существующий тег и введите тег в параметры для этого блока.

    Например, блок SetPoint является константой с одним параметром, который задает уровень воды в корпусе. Введите тег:

    xPCTag(1)=water_level;

    Тег имеет следующий синтаксис:

    xPCTag(1, . . . index_n)= label_1 . . . label_n;

    Для одного портов размерности следующий синтаксис также допустим:

    xPCTag=label;

    Индекс index_n -- параметров блоков. Начните нумеровать параметры с индексом 1.

    Имя label_n -- для параметров блоков, которые соединяются с блоком To Target в модели пользовательского интерфейса. Разделите метки пробелом, не запятую.

    label_1 . . . label_n должен состоять из тех же идентификаторов, как C/C++ раньше называл функции, переменные, и т.д. Не используйте имена как -foo.

  5. Повторите шаги 1 - 3 для остающихся параметров, которые вы хотите пометить.

    Например, для блока Controller, введите тег:

    xPCTag(1,2,3)=upper_water_level lower_water_level
         pump_flowrate;

    Для PumpSwitch и блоков ValveSwitch, введите следующие теги соответственно:

    xPCTag(2)=pump_switch;
    xPCTag(1)=drain_valve;

    Чтобы создать, Чтобы Предназначаться для блоков в модели пользовательского интерфейса для блока с четырьмя свойствами, используйте следующий синтаксис:

    xPCTag(1,2,3,4)=label_1 label_2 label_3 label_4;

    Чтобы создать, Чтобы Предназначаться для блоков для вторых и четвертых свойств в блоке по крайней мере с четырьмя свойствами, используйте следующий синтаксис:

    xPCTag(2,4)=label_1 label_2;

  6. Из меню File нажмите Save as. Введите имя файла для своей модели. Например, войти

    xpctank1

Если вы уже не отметили блоки-сигналы, ваша следующая задача состоит в том, чтобы отметить блоки-сигналы, и затем создать модель шаблона пользовательского интерфейса. Смотрите отмечающие Блоки-сигналы и Создание Пользовательского Графического интерфейса.

Отмечание блоков-сигналов

Маркировка сигналов в вашей модели Simulink позволяет функциональному SimulinkRealTime.utils.createInstrumentationModel создавать блоки интерфейса From Target. Эти интерфейсные блоки содержат сигналы, которые вы соединяете с дисплеями в своей модели пользовательского интерфейса.

После того, как вы создадите модель Simulink, можно отметить блоки-сигналы. Эта процедура использует модель xpctank1 (или xpctank) как пример. Смотрите Создание Модели Приложения реального времени.

Совет

Блоки модели xpctank и сигналы могут содержать теги заполнителя, иллюстрирующие синтаксис. Замените эти теги на свои новые теги или добавьте, что новые теги с помощью нескольких маркируют синтаксис.

Вы не можете пометить сигналы на выходных портах виртуальных блоков, таких как блоки Мультиплексора и Подсистема. Кроме того, вы не можете пометить сигналы на инициированных программным обеспечением выходных портах сигнала.

  1. Откройте модель Simulink. Например, в Окне Команды MATLAB, введите:

    xpctank

    или

    xpctank1
  2. Укажите на строку Сигнала Simulink, и затем щелкните правой кнопкой.

  3. Из меню нажмите Properties.

    Диалоговое окно Signal Properties открывается.

  4. Выберите вкладку Documentation.

  5. В поле Description введите тег в сигналы для этой строки.

    Например, блок маркировал TankLevel, интегратор с одним сигналом, который указывает на уровень воды в корпусе. Замените существующий тег на тег:

    xPCTag(1)=water_level;

    Тег имеет следующий синтаксис формата:

    xPCTag(1, . . . index_n)=label_1 . . . label_n;

    Для одного портов размерности следующий синтаксис также допустим:

    XPCTag=label:
    • index_n — Индекс сигнала в векторной сигнальной линии. Начните нумеровать сигналы с индексом 1.

    • label_n — Назовите для сигнала, который соединяется с блоком From Target в модели пользовательского интерфейса. Разделите метки пробелом, не запятую.

    label_1 . . . label_n должен состоять из тех же идентификаторов как использование C/C++, чтобы назвать функции, переменные, и т.д. Не используйте имена как -foo.

    Чтобы создать Из Целевых блоков в модели пользовательского интерфейса для сигнальной линии с четырьмя сигналами (размерность порта 4), используйте следующий синтаксис:

    xPCTag(1,2,3,4)=label_1 label_2 label_3 label_4;

    Чтобы создать Из Целевых блоков для вторых и четвертых сигналов в сигнальной линии по крайней мере с четырьмя сигналами, используйте следующий синтаксис:

    xPCTag(2,4)=label_1 label_2;

    Примечание

    Только пометьте сигналы от невиртуальных блоков. Виртуальные блоки являются только графическими средствами (см. Невиртуальные и Виртуальные Блоки (Simulink)). Например, если ваша модель комбинирует два сигнала во входные параметры блока Mux, не помечайте выходной сигнал блока Mux. Вместо этого пометьте исходный сигнал от вывода инициирующего невиртуального блока.

  6. Из меню File нажмите Save as. Введите имя файла для своей модели. Например, войти

    xpc_tank1

Если вы уже не отметили параметры блоков, ваша следующая задача состоит в том, чтобы отметить их. Смотрите отмечающие Параметры блоков. Если вы уже отметили блоки-сигналы, возвратитесь к Созданию Пользовательского Графического интерфейса для дополнительного разъяснения при создании модели шаблона пользовательского интерфейса.