Доступ к данным модели с помощью беспроводных технологий при помощи наблюдателей

Наблюдатели позволяют вам контролировать динамический ответ своей системной модели при сохранении проекта системной модели и системной целостности результата. Наблюдатели используют два типа блоков, блоков Observer Reference и блоков Observer Port. Блок Observer Reference с помощью беспроводных технологий соединяет системную модель с моделью Observer, которая содержит логику верификации. В модели Observer вы используете блоки Observer Port, чтобы получить доступ к данным из системной модели, чтобы управлять логикой верификации.

Observer reference block and observer model with observer port and test assessment blocks

Типы Simulink® сигналы и данные модели, которые можно наблюдать:

  • Непрерывное время и сигналы Дискретного времени

  • Нулевой порядок содержит сигналы

  • Скалярные сигналы

  • Широкие сигналы

  • Невиртуальные сигналы шины

  • Stateflow® локальные параметры данных, кроме локальных переменных, параметров, сигналов и других данных, заданных в Подсистеме Simulink в состоянии Stateflow.

  • Состояние Stateflow сам действие, кроме того, если то действие находится в Подсистеме Simulink в состоянии Stateflow.

Блок Observer Reference

Блоки Observer Reference с помощью беспроводных технологий соединяют системную модель с моделью Observer. блоки Observer Reference могут только быть в верхнем уровне системной модели и не имеют портов ввода или вывода. Вы сопоставляете свои Сигналы Simulink или другие данные модели с блоками Observer Port, которые содержатся в модели The Observer. Если вы сопоставляете Блокировки порта The Observer с сигналом или данными, можно соединить порты с подсистемой верификации в модели The Observer. Выполнение вашей системной модели также запускает соединенную модель Observer.

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

Добавьте блок Observer Reference

Блок Observer Reference ссылается на отдельную модель верификации, которую вы используете, чтобы проверить вашу системную модель. Добавить блок Observer Reference в вашу системную модель, во-первых, в панели инструментов Simulink, открытых приложениях и нажать Simulink Test в Model Verification, Валидации и Экспериментальном участке. Нажмите Add Observer Reference во вкладке Tests. Альтернативно, щелкните правой кнопкой по верхнему уровню своего холста Simulink и выберите Observers> Add Observer Reference here из контекстного меню. Блок Observer Reference добавляется к вашей системной модели, и модель Observer создана и открыта. Необходимо сохранить модель The Observer в перезаписываемой папке на MATLAB® path.

Observer reference block

Соедините существующую модель наблюдателя

Чтобы соединить блок Observer Reference с, модель Observer, которую вы уже создали, сначала сохраните свою модель Observer в перезаписываемой папке на пути MATLAB. Затем щелкните правой кнопкой по блоку Observer Reference и выберите Block Parameters (ObserverReference).

Block parameters for observer reference block

Введите имя модели The Observer, которую вы хотите соединить со своей системой и выбрать Apply. Когда вы дважды кликаете свой блок Observer Reference, ваша модель Observer открывается в новом окне.

Создайте модель наблюдателя из сигналов или других данных модели

Чтобы создать модель Observer, которая сопоставлена с сигнальной линией или заметными данными в вашей модели, выберите один или несколько сигналов или данные, которые вы хотите наблюдать. Затем нажмите Add Observer Reference во вкладке Tests. Альтернативно, щелкните правой кнопкой по сигналу или данным и выберите Observers, тип изделия, чтобы наблюдать, и New Observer. Simulink создает модель Observer и добавляет блок Observer Reference в вашу системную модель.

Соедините сигналы или другие данные модели Используя блок Observer Port

Каждая модель Observer содержит один или несколько блоков Observer Port. После отображения блока Observer Port к объекту модели или сигналу в системной модели, блок Observer Port выводит тот же выход как свой сопоставленный объект или сигнал. Новый блок Observer Port показывает линию через символ сигнала, показывая, что блок не сопоставлен ни с каким сигналом или объектом.

Observer port block with crossed out signal line on the block icon

Доступ к управлять диалоговому окну наблюдателя

Чтобы сопоставить блок Observer Port с сигналом или объектом в вашей системной модели, откройте диалоговое окно Manage Observer с помощью одного из этих методов:

  • Во вкладке Tests нажмите Manage Observer.

  • Кликните по механизму в нижнем правом углу блока Observer Reference.

  • Щелкните правой кнопкой по блоку Observer Reference и выберите Observers> Manage Observer.

  • В модели The Observer дважды кликните Блокировку порта Наблюдателя.

Manage observer block dialog box showing model block hierarchy

Используя диалоговое окно Manage Observer вы можете:

  • Отфильтруйте и выберите сигналы и объекты для наблюдения

  • Добавьте, удалите или сконфигурируйте блоки Observer Port

  • Проследите сигналы и объекты между портами наблюдателя и моделями

На левой стороне Manage Observer диалоговое окно является Заметной панелью области. Заметная панель области отображает иерархию блока и заметные выходные параметры вашей модели. Наблюдаемые сигналы или объекты кажутся полужирными в иерархии.

Правая сторона диалогового окна Manage Observer показывает панель The Observer. Панель The Observer отображает иерархию блока, включая порты Observer в блоке Observer Reference. Блок Observer Port, который сопоставлен с сигналом или объектом, кажется полужирным и отображает сигнал, к которому это присоединяется. Если Observer Port сопоставлен с сигналом или объектом, его обновления значка блока, чтобы показать, что Observer Port присоединен к сигналу или объекту.

Observer port block with attached object

Чтобы просмотреть полный путь наблюдаемого объекта, укажите на блок Observer Port.

Если вы меняете имя наблюдаемого сигнала или объекта в вашей системной модели, блок Observer Reference обновляет имя выходного сигнала блока Observer Port. Если сигнал не называют и не имеет метки, выход блока Observer Port установлен в пустую строку.

Сопоставьте блок Observer Port с сигналом или объектом

Чтобы сопоставить сигнал или возразить против блока Observer Port, откройте диалоговое окно Manage Observer. В Заметной панели области выберите сигнал или возразите, что вы хотите наблюдать. Чтобы сопоставить сигнал или возразить против нового блока Observer Port, дважды кликните выбранный пункт или нажмите Add New Observer Port icon. Чтобы сопоставить сигнал или возразить против существующего блока Observer Port, выберите Порт The Observer в панели The Observer и кликните по Реконфигурировать значку Observer Port. В модели The Observer можно затем соединить выход от Порта The Observer до подсистемы верификации, чтобы протестировать результаты.

Проследите наблюдаемые элементы до сигналов модели и объектов

Можно проследить наблюдаемые элементы и их порты наблюдателя в диалоговом окне Manage Observer. Можно также проследить элементы между диалоговым окном Manage Observer и системной моделью, и между моделью The Observer и системной моделью.

Чтобы проследить наблюдаемый элемент до его порта наблюдателя в диалоговом окне Manage Observer, используйте один из этих методов:

  • Дважды кликните на элементе ObserverPort в панели The Observer. Наблюдаемый элемент подсвечен в Заметной панели области.

  • Щелкните правой кнопкой по элементу ObserverPort в панели The Observer и выберите Show in left panel. Наблюдаемый элемент подсвечен в Заметной панели области.

Чтобы проследить наблюдаемый элемент или порт наблюдателя между диалоговым окном Manage Observer и системной моделью, используйте один из этих методов:

  • Щелкните правой кнопкой по элементу ObserverPort в панели The Observer или в Заметной панели области и выберите Show in model. Наблюдаемый элемент подсвечен в модели.

  • Щелкните правой кнопкой по наблюдаемому сигналу или объекту в системной модели и выберите Go to associated Observer Ports. Связанные Порты Наблюдателя подсвечены в модели The Observer.

Чтобы проследить порт наблюдателя и наблюдаемый элемент между системной моделью и моделью The Observer, используйте один из этих методов:

  • Щелкните правой кнопкой по Порту The Observer в модели The Observer и выберите Observers> Go to observed <item type>. Наблюдаемый сигнал или объект подсвечены в системной модели.

  • Щелкните правой кнопкой по наблюдаемому сигналу или объекту в системной модели и выберите Observers> Go to associated Observer Ports. Связанные Порты Наблюдателя подсвечены в модели The Observer.

Симулируйте системную модель с блоком Observer Reference

Модель The Observer используется, чтобы контролировать сигналы в вашей системной модели и проверять, что ваша системная модель запускается в заданных параметрах. С или без блока Observer Reference, ваши результаты симуляции системной модели являются тем же самым. Блок Observer Reference не влияет на компиляцию вашей системной модели.

Примечание

И системная модель и модель Observer должны запуститься в нормальном режиме симуляции. Обе модели могут запуститься на фиксированном шаге или уровне переменного шага, или одна модель может запуститься по фиксированной процентной ставке и другому по плавающему курсу. Эти две модели могут также использовать те же или другие решатели. Смотрите Выбирают Решатель.

Проверьте температуру теплового насоса при помощи наблюдателей

В этом примере показано, как использовать блок Observer Reference, чтобы с помощью беспроводных технологий наблюдать сигналы и проверить результаты. В этой системе объект моделируется с помощью Simulink, и контроллер моделируется с помощью Stateflow. Цель примера состоит в том, чтобы контролировать и температуру теплового насоса и когда насос охлаждает или нагревает комнату. Направление, в котором дует вентилятор, указывает на охлаждение или нагревание. Именем данных является pump_dir, и это соединяется, чтобы портировать 3 в диаграмме Stateflow.

  1. Откройте sltestHeatpumpExample модель.

    cd(fullfile(docroot,'toolbox','sltest','examples'))
    open_system('sltestHeatpumpExample')

    Heat pump example model

  2. Во вкладке Apps нажмите Simulink Test в Model Verification, Валидации и Экспериментальном участке. Вкладка Tests открывается

  3. Создайте модель Observer, чтобы измерить температуру насоса.

    Во вкладке Tests нажмите Add Observer Reference. Simulink добавляет блок Observer Reference в вашу системную модель и создает модель Observer под названием sltestHeatpumpExample_Observer1.

  4. Добавьте и сопоставьте Блокировку порта Наблюдателя.

    Откройте подсистему Объекта и щелкните правой кнопкой по T сигнала. Выберите Observers> Observe selected signals> sltestHeatpumpExample/Observer (sltestHeatpumpExample_Observer1). Модель The Observer добавляет блок Observer Port, который сопоставлен, чтобы сигнализировать о T. Сохраните новую модель Observer в перезаписываемой папке.

  5. Добавьте и сопоставьте другую Блокировку порта Наблюдателя.

    В модели The Observer, во вкладке Tests, нажимают Add Observer Port. Дважды кликните новый Observer Port, чтобы открыть диалоговое окно Manage Observer. В панели The Observer, втором Observer Port, ObserverPort1, описан ниже первый порт.

    Сопоставлять ObserverPort1 к данным Simulink pump_dir, нажмите ObserverPort1. В Заметной панели области расширьте Controller и controller_chart, и выберите Outport3. Нажмите значок Reconfigure. ObserverPort1 назовите обновления ObserverPort1 (controller_chart:3).

    Manager observer block dialog box with mapped observer port blocks

    Блокировки порта The Observer находятся в модели The Observer и теперь сопоставлены и готовы быть соединенными с осциллографами или подсистемой верификации.

    Observer port blocks

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

Преобразование Verification Subsystem (Simulink Design Verifier) с блоком Observer Reference является способом устранить помехи системную модель. Выберите подсистему, чтобы преобразовать и, во вкладке Tests, нажать Send to Observer. Альтернативно, щелкните правой кнопкой по подсистеме верификации и выберите Observers> Move selected block to Observer> New Observer. Эта операция не может быть отменена.

Эта модель содержит Подсистему Верификации, Safety Properties.

Basic cruise control harness verification subsystem

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

Verification subsystem converted to observer model

Два сигнала, throt и output1, автоматически сопоставлены с двумя блоками Observer Port в модели The Observer, sltestBasicCruiseControlHarnessModel_Observer1.

Observer ports blocks mapped to observer model

Факторы наблюдателя и ограничения

Симуляция модели

Модель Observer не симулирует если:

  • Модель The Observer содержит корневой уровень блоки Outport или Inport.

  • Модель The Observer является образцом модели подсистемы или библиотекой.

Блоки ссылки наблюдателя

Ссылка Наблюдателя блоки проигнорирована в процессе моделирования если:

  • Вы используете любой режим симуляции кроме режима normal mode (например, акселератор, SIL/PIL).

  • Вы генерируете код.

  • Блок The Observer Reference находится в иерархии модели - ссылки. Блоки Ссылки наблюдателя поддерживаются только в корне топ-модели.

  • Блок The Observer Reference находится в модели Observer. Рекурсия моделей Observer не поддерживается.

Экспорт данных и Выход

  • Логгирование сигналов или памяти хранилища данных и сохранение итоговых рабочих точек поддерживаются для Наблюдателей. Все другие данные экспортируют опции, такие как время, состояние, выход, конечное состояние, и сохраняют в файл, не поддерживаются.

  • С блоками Рабочей области и Инструментальной панели в Наблюдателях не поддерживаются и не производят выход.

Несовпадающие настройки между The Observer и моделью проекта

Когда эти настройки в модели The Observer отличаются от настроек в модели проекта, настройки модели проекта используются, и настройки модели The Observer проигнорированы.

  • Импорт данных или настройки экспорта

  • Настройки покрытия

  • Время остановки решателя

Смотрите также

|