Запуск блока Графика дискретного события при поступлении сообщения

В этом примере показов, как запустить График Discrete-Event Block при поступлении сообщения при генерации деталей в объекте и выполнении проверки качества. В примере сравнивается поведение блоков Discrete-Event Chart и Stateflow ® Chart. Для обоих блоков требуется лицензия Stateflow ®. Пример показывает, что блок Графика Discrete-Event выполняется немедленно по прибытии сообщения и не ждет следующего шага расчета хита.

В этом примере деталь генерируется в блоке «Генерация детали» и отправляется в блок «Обеспечение качества» для контроля качества детали. После оценки блок «Обеспечение качества» выводит проверенную деталь.

Модель далее изменяется, чтобы отправить проверенную деталь обратно в блок Генерация детали, из которого она поставляется клиенту. Для обеих моделей в этом примере решатель установлен в Fixed-step с размером шага 1, и для всех блоков Stateflow ® Chart, Enable Super Step Semantics выбрана опция. Для получения дополнительной информации смотрите Супер Семантика Шага (Stateflow).

Описание модели

В PartQualityEvaluationModel модель, Генерация Детали моделируется блоком Диаграммы Дискретных Событий, а График Генерации Детали моделируется блоком Графика Stateflow ®. Оба блока содержат одну и ту же логику перехода состояния, включая два состояния, CreatePart и WaitForQA.

  • The CreatePart состояние представляет производство Part в pi секунд.

  • The WaitForQA состояние представляет ожидание отдела контроля качества для Partвалидация.

Аналогично, Quality Assurance моделируется блоком Discrete-Event Chart, а Quality Assurance Chart моделируется с помощью блока Stateflow ® Chart. Оба блока содержат одну и ту же логику перехода состояния, включая три состояния, WaitForPart, Evaluating, и Finished.

  • The WaitForPart состояние представляет ожидание сгенерированной детали.

  • Когда деталь приходит, блок переходит к Evaluating состояние для представления начала процесса оценки.

  • После 1 во-вторых, оценка завершена, и блок переходит к Finished состояние.

  • Деталь отходит от блока, и блок переходит назад к WaitForPart состояние.

Результаты симуляции

Симулируйте модель. Наблюдайте блок Scope, соединенный с блоком Quality Assurance. Блок выводит деталь после 4.14 секунд, что является суммой 3.14 секунд, необходимых для генерации и 1 Детали s для его контроля качества.

Наблюдайте блок Scope, который соединяется с блоком Quality Assurance Chart. Блок выводит деталь после 5 секунд, что является суммой 4 секунды для генерации и 1 Детали второй для его контроля качества в результате фиксированного размера шага 1. Это различие основано на свойстве точной синхронизации графика Discrete-Event. Для получения дополнительной информации см. «Дискретное событие Графика точное время».

Дальнейшее изменение модели

Откройте PartQualityControlShip, который является измененной моделью, отправляющей обработанную деталь обратно в блок Генерация детали для отгрузки. В PartQualityControlShip модель, измененные блоки Генерация детали и График генерации детали содержат один и тот же набор дополнительных состояний и переходов.

В Генерацию детали и Генерации детали Графика блоки:

  • The Review состояние представляет проверку отчета о контроле качества для ProcessedPart. Когда ProcessedPart возвращается, блок переходит к Review состояние.

  • Когда проверка будет завершена после sqrt(2) секунд, блок переходит к Ship состояние.

  • Когда обработанная Позиция отгружается клиенту, блок переходит назад к CreatePart состояние для генерации новой детали.

Результаты симуляции

Симулируйте измененную модель. Заметьте, что обработанная деталь покидает блок «Генерация детали» после 5.55 секунд, что является суммой 4.14 требуется для генерации деталей и контроля качества и 1.41 для проверки перед отгрузкой.

Заметьте, что обработанная деталь покидает график генерации детали после 8 секунд, что является суммой 5 требуется для генерации деталей и контроля качества, 2 для проверки перед отгрузкой и 1 для статического планирования блока.

Наблюдайте за блоком Sequence Viewer. Каждая временная строка сетки, окаймленная двумя синими линиями, содержит события, которые происходят в одно и то же время симуляции. Окно Sequence Viewer показывает события вертикально, упорядоченно по времени и использует комбинацию линейных и нелинейных отображений. Дополнительные сведения см. в разделе Использование Sequence Viewer для визуализации сообщений, событий и сущностей.

The ProcessedPart передается от блока обеспечения качества к генерации детали в 4.1 и прибытие Детали немедленно запускает блок Графика Дискретного События. Во время 5, а ProcessedPart отправляется из графика контроля качества на график генерации деталей. Однако График Part Generation ждет следующего шага расчета хита в 6 после получения сообщения для выполнения.

В порядке, график генерации детали выполняет первую, а график обеспечения качества выполняет вторую в одном шаге расчета хита. Это причина, по которой Part Генерации Графика блок ожидает, когда следующий шаг расчета хит будет выполнен как первый блок в порядке.

См. также

Похожие темы