这个例子展示了如何为一个单行道交叉路口的分布式控制系统建模。为了协调交通灯的状态,这两个图表通过消息相互通信。这两个图表的设计是相同的。
您可以通过MATLAB®UI与交通信号交互。要请求行人过街,请单击交通信号底部的深灰色请求按钮之一。
每条道路的控制器由交通灯控制器子系统traffic light 1和traffic light 2实现。
在每个子系统中,控制器图通过交通信号的各种状态来描述交通控制器的主要逻辑。
这个模型利用了消息的这些语义特征:
如果消息没有被立即处理,则不会被丢弃。例如,在这个模型中,行人请求排队,直到当交通灯变红时控制器可以对请求作出反应。
您可以在不同组件之间设置消息循环。这些循环不会在你的模型中导致代数循环。
通常,输入消息在计算它们的时间步结束时销毁。但是,您可以通过临时将这些输入消息转发到本地“保存”队列来保留这些输入消息,以备以后使用。例如,当Controller图退出去
状态,它使用本地队列pedRequestLocal
存储在另一条路上的行人请求。控件退出时,图表将检查这些请求PrepareToStop
状态。
要改变模拟的速度,在模拟选项卡上,选择运行>模拟踱来踱去.在“模拟步调选项”对话框中,调整滑块设置。有关详细信息,请参见模拟踱来踱去(金宝app模型).