메시지를 사용하여 분산 교통 제어 시스템 모델링하기
이 예제에서는 일방통행 도로의 교차로에 대한 분산 제어 시스템을 모델링하는 방법을 보여줍니다. 신호등의 상태를 조정하기 위해 두 차트는 메시지를 사용하여 서로 통신합니다. 두 차트의 설계는 동일합니다.
MATLAB® UI를 통해 신호등과 상호 작용할 수 있습니다. 보행자 신호를 요청하려면 교통 표지판의 하단에 있는 진한 회색 요청 버튼 중 하나를 클릭합니다.
각 도로에 대한 제어기는 신호등 제어기 서브시스템 Traffic Light 1과 Traffic Light 2에 의해 구현됩니다.
각 서브시스템에서 Controller 차트는 신호등의 여러 상태를 통해 교통 제어기의 기본 논리를 설명합니다.
이 모델은 메시지의 다음 의미 체계 특징을 활용합니다.
즉시 조치를 취하지 않아도 메시지가 폐기되지 않습니다. 예를 들어, 이 모델에서 신호등이 빨간색으로 바뀌면 제어기가 요청에 반응할 수 있을 때까지 보행자 요청이 대기 상태로 유지됩니다.
여러 컴포넌트 간에 메시지 루프를 설정할 수 있습니다. 이러한 루프는 모델에서 대수 루프를 생성하지 않습니다.
일반적으로 입력 메시지는 평가되는 시간 스텝이 끝날 때 제거됩니다. 그러나 이러한 입력 메시지를 로컬 "보류 중" 대기열에 일시적으로 전달하여 나중에 사용할 수 있도록 보존할 수 있습니다. 예를 들어, Controller 차트가
Go
상태를 종료하면 로컬 대기열pedRequestLocal
을 사용하여 다른 도로에서 발생한 보행자 요청을 저장합니다. 차트는PrepareToStop
상태를 종료할 때 나중에 이러한 요청을 확인합니다.
시뮬레이션 속도를 변경하려면 시뮬레이션 탭에서 실행 > 시뮬레이션 속도 조절을 선택합니다. 시뮬레이션 속도 조절 옵션 대화 상자에서 슬라이더 설정을 조정합니다. 자세한 내용은 Simulation Pacing Options (Simulink) 항목을 참조하십시오.
참고 항목
Simulation Pacing Options (Simulink)