主要内容

基于消息的分布式交通控制系统建模

此示例演示如何为单向道路交叉口的分布式控制系统建模。为了协调交通灯的状态,两个图表通过使用消息相互通信。这两个图表的设计是相同的。

您可以通过MATLAB®UI与交通信号交互。要请求行人过街,请单击交通信号灯底部的一个深灰色请求按钮。

每条道路的控制器由交通灯控制器子系统交通灯1和交通灯2实现。

在每个子系统中,控制器图通过交通信号的各种状态描述交通控制器的主要逻辑。

该模型利用了消息的这些语义特征:

  • 如果不立即对消息采取行动,消息不会被丢弃。例如,在此模型中,行人请求将排队,直到交通灯变红时控制器可以对请求作出反应。

  • 您可以在不同组件之间设置消息循环。这些循环不会在模型中产生代数循环。

  • 通常,在对输入消息进行评估的时间步结束时,输入消息会被销毁。但是,您可以通过将这些输入消息临时转发到本地“保留”队列来保留这些消息以供以后使用。例如,当控制器图表退出状态,它使用本地队列pedRequestLocal存储在另一条道路上的行人请求。图表稍后在退出时检查这些请求准备停止状态

要更改模拟的速度,请在模拟选项卡,选择>模拟起搏. 在“模拟起搏选项”对话框中,调整滑块设置。有关详细信息,请参阅模拟起搏(金宝appSimulink).

相关话题