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

С сигналами трафика можно взаимодействовать через интерфейс пользователя MATLAB ®. Чтобы запросить пешеходный переход, нажмите одну из темно-серых кнопок запроса внизу светофора.

Контроллер для каждой дороги реализуется подсистемами контроллера светофора 1 и светофора 2.

В каждой подсистеме диаграмма контроллера описывает основную логику контроллера трафика через различные состояния сигнала трафика.

Эта модель использует следующие семантические особенности сообщений:
Сообщения не отбрасываются, если они не обрабатываются немедленно. Например, в этой модели запросы пешеходов ставятся в очередь до тех пор, пока контроллер не сможет отреагировать на запрос, когда светофор станет красным.
Можно настроить циклы сообщений между различными компонентами. Эти контуры не приводят к алгебраическим контурам в модели.
Как правило, входные сообщения уничтожаются в конце временного шага, на котором они оцениваются. Однако эти входные сообщения можно сохранить для использования позднее, временно переадресовав их в локальную очередь «удержания». Например, когда диаграмма Controller выходит из Go state, он использует локальную очередь pedRequestLocal хранить запросы пешеходов, сделанные на другой дороге. Диаграмма проверяет эти запросы позже, когда она выходит из PrepareToStop состояние.
Чтобы изменить скорость моделирования, на вкладке Моделирование (Simulation) выберите команду Выполнить (Run) > Шаг моделирования (Simulation Pacing). В диалоговом окне «Параметры размещения моделирования» отрегулируйте настройку ползунка. Дополнительные сведения см. в разделе Simulation Pacing (Simulink).