Используйте класс SimulationObserver, чтобы контролировать модель SimEvents

Класс SimulationObserver

Чтобы создать наблюдателя, создайте класс, который выводит из simevents.SimulationObserver объект. Можно использовать наблюдателей для:

  • Справка изучает удар очереди, визуализирует сущности, перемещающиеся через модель в процессе моделирования,

  • Разработайте инструменты презентации, показывающие симуляцию модели через прикладной интерфейс, такие как действие очереди ресторана.

  • Отладьте и исследуйте действие сущности.

  • Исследуйте содержимое очереди.

simevents.SimulationObserver объект предоставляет методы, которые позволяют вам:

  • Создайте наблюдателя или объекты Animation.

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

  • Взаимодействуйте с календарем событий.

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

SimEvents® модели вызывают эти функции во время симуляции модели.

Пользовательский рабочий процесс визуализации

  1. Создайте файл приложения.

    1. Задайте класс, который наследовался simevents.SimulationObserver класс.

    2. Создайте объект наблюдателя, который выводит из этого класса.

    3. От simevents.SimulationObserver методы, реализуйте функции, которые вы хотите для своего приложения. Это приложение включает вашего наблюдателя.

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

  3. Создайте экземпляр своего класса.

  4. Запустите модель.

Для получения дополнительной информации о пользовательской визуализации, смотрите, Создают Пользовательскую Визуализацию.

Создайте приложение

Можно использовать эти методы в реализации производного класса simevents.SimulationObserver.

ДействиеМетод

Задайте поведение, когда симуляция запустится.

simStarted

Задайте поведение, когда симуляция сделает паузу.

simPaused

Задайте поведение, когда симуляция возобновится.

simResumed

Задайте поведение наблюдателя, когда симуляция завершит работу.

simTerminating

Задайте список блоков, которые будут уведомлены относительно событий входа и выхода сущности.

getBlocksToNotify

Задайте, хотите ли вы уведомление для всех событий в конечном счете календарь.

notifyEventCalendarEvents

Задайте поведение после того, как сущность вводит блок, который имеет устройство хранения данных сущности.

postEntry

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

preExit

Задайте поведение перед выполнением события.

preExecute

Добавьте блок в список блоков, которые будут уведомлены.

addBlockNotification

Удалите блок из списка уведомляемых блоков.

removeBlockNotification

Получите указатели на календари событий.

getEventCalendars

Получите список блоков то хранилище сущности.

getAllBlockWithStorages

Возвратите указатель блока для данного блока path.

getHandleToBlock

Возвратите указатели устройства хранения данных заданного блока.

getHandlesToBlockStorages

  1. В MATLAB® Командное окно, выберите New> Class.

  2. В первой строке файла наследуйтесь simevents.SimulationObserver класс. Например:

    classdef seRestaurantAnimator < simevents.SimulationObserver

    seRestaurantAnimator имя нового объекта наблюдателя.

  3. В properties разделите, введите свойства для своего приложения.

  4. В methods разделите, реализуйте функции для своего приложения.

  5. Чтобы создать объект наблюдателя, введите линию как следующее в methods раздел файла:

    function this = seRestaurantAnimator
                % Constructor
                modelname = 'seCustomVisualization';
                this@simevents.SimulationObserver(modelname);
                this.mModel = modelname;
            end

Для получения дополнительной информации смотрите Используя Пользовательскую Визуализацию для Сущностей.

Используйте The Observer, чтобы контролировать модель

  1. Откройте модель, чтобы наблюдать.

  2. В командной строке MATLAB, чтобы включить аниматору для модели:

    >> obj=seRestaurantAnimator;

  3. Симулируйте модель.

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

Примечание

В результате инструментирования, чтобы визуализировать симуляцию, симуляция медленнее, чем без инструментирования.

Остановите симуляцию и отключите модель

  1. Остановите симуляцию.

  2. В командной строке MATLAB очистите аниматора от модели. Например:

    clear obj;

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

Похожие темы