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

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

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

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

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 (To Target и From Target) заданный теговыми параметрами блоков и блоками-сигналами в модели приложения реального времени.

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

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

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

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

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

Блок To Target

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

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

Примечание

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

Блок From Target

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

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

Примечание

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

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

Модель приложения реального времени является моделью 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;

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

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

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

    xPCTag (2,4) =label_1 label_2;

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

    xpctank1

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

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

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

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

Совет

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

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

  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.

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

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

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

    xPCTag (2,4) =label_1 label_2;

    Примечание

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

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

    xpc_tank1

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