exponenta event banner

Для мониторинга модели SimEvents используйте класс Reserver

Класс CounterObserver

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

  • Помогите понять влияние очереди, визуализировать объекты, перемещающиеся по модели во время моделирования.

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

  • Отладка и проверка активности объекта.

  • Проверьте содержимое очереди.

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

  • Создание объектов-наблюдателей или анимации.

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

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

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

Модели 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

Дескриптор возвращаемого блока для заданного пути блока.

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

Дополнительные сведения см. в разделе Использование пользовательской визуализации для объектов.

Использование наблюдателя для мониторинга модели

  1. Откройте модель для наблюдения.

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

    >> obj=seRestaurantAnimator;

  3. Моделирование модели.

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

Примечание

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

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

  1. Остановите моделирование.

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

    clear obj;

См. также

Связанные темы