西门子CPU416-3中央处理器
西门子CPU416-3中央处理器西门子CPU416-3中央处理器西门子CPU416-3中央处理器
西门子CPU416-3中央处理器西门子CPU416-3中央处理器西门子CPU416-3中央处理器西门子CPU416-3中央处理器西门子CPU416-3中央处理器
Track(轨道)和TwoLaneTrack(双通轨道)的所有长度将与指定给用户定义属性的值相乘。其实这个相乘得到的值才是决定小车路径选择的关键,小车会选择该值*小的路径行驶向目的地。我个人人文,这其实就是路径的拥堵情况吧,这仅是我个人的理解。
那接下来我们就通过一个案例讲解一下:
案例讲解:
建模如下:
小车(Transporter)的路由权重属性定义:
轨道自定义属性的定义:
上方三条带有显示面板的轨道分别为:蓝色(Highway)、绿色(CountryRoad)、灰色(CityRoad2)。它们的自定义属性分别为:
蓝色(Highway)
绿色(CountryRoad)
灰色(CityRoad2)
剩下的其它轨道的自定义属性都为:
我们在小车中定义的路由权重属性为“CurrentTraffic”,对应用户定义属性中“CurrentTraffic”,我们就且称其为“当前权重系数”;“BasicWeight”则是我们定义的轨道上的“基础权重系数”。
我们还定义了两个方法,首先看到方法“reset”,代码如下:
其中“reset”是系统中定义好的方法,它的触发方式是:重置仿真。
只要我们重置仿真,该方法就会被触发一次。每次我们重置仿真时,我们就将“基础权重系数”赋值给“当前权重系数”。
再看方法“CheckTraffic”,代码如下:
该方法中,用对应轨道上的小车数量除以双通轨道A侧的长度,得出一个结果,可以视为该轨道的车辆密度(与人口密度的计算方法类似),再用该结果与“基础权重系数”相加得到“当前权重系数”。每当小车进入或退出一条轨道,轨道的“当前权重系数”必然是发生改变的。所以这个方法顾名思义,就是用来检查交通,重新计算轨道的交通情况,只不过它的表现形式是轨道的“当前权重系数”而已。
所有轨道对象的“CheckTraffic”方法的代码都是一样的,并且全都通过入口和出口控件来触发,因为车辆进入道路和驶出道路,道路的交通情况都发生了改变,所以都要触发一次方法来重新计算轨道的“当前权重系数”。
要注意的是,默认情况下,我们创建的轨道的控件中,入口和出口的触发,都勾选的是“前面”,这里我们要都修改为“后面”,这样不仅符合实际。小车只有完全进入了轨道,或者完全退出了轨道,才会使“当前权重系数”的值发生改变。
而且我们在该方法中,没有使用“move”指令,如果在出口前面触发代码,因为前面触发的控件优先级比连接器的优先级要高,小车触发控件后没有得到“move”指令,小车就不会继续运行到下一个轨道对象。而如果我们勾选了“后面”,连接器的优先级则比后面触发的控件优先级更高,所以小车能正常行驶到下一个轨道对象。
Tip:因为所有轨道对象的“CheckTraffic”方法的代码都一样,所以其实可以写好一个“CheckTraffic”方法放在模型框架中,再将该方法拖入到每个轨道对象的控件A中的入口、出口处即可。又或者我们先新建一个工具条,将我们需要用的对象拖入到工具条中,定义好相关的属性,再使用这些对象。养成这样一些好的习惯能大大减少我们修改模型的时间。
目的地设置及其他一些设置:
在“CityRoad1”的靠近出口处创建一个传感器,并在传感器中添加方法“SetTarget”,代码如下:
该方法用于计算每条轨道的加权系数乘以长度,并且给车辆定义一个目的地“CityRoad6”,因为车辆开启了自动路由,会根据路径权重,计算出后续三条路线的总体的长度与加权系数之积,并选择该值*小的路径驶向目的地。
我们在还框架中添加了三个实数类型的全局变量“WeightBlue”、“WeightGreen”、“WeightGrey”分别用来计算小车三条行驶路线的总体的长度与加权系数之积。
但比较重要的,大家要注意的是:这三个全局变量仅仅是用来做展示,方便我们观察计算的值,而不是影响我们小车做路径选择的因素,我们即使把这三个全局变量删除,也不会影响我们小车的行驶路径。
关于显示面板:
而模型中的位于轨道上方的“CurrentTraffic”属性我们没有使用到全局变量做展示,那么究竟是如何让它在对应的位置显示出来的呢?
右键单击对应的轨道,在弹出的选项中选择“编辑显示面板”,如图:
会弹出编辑窗口(这是CityRoad2的显示面板编辑窗口,我每个显示面板的Y坐标相差)
使用方法:
(1)勾选“活动的”,激活显示面板的使用;
(2)修改“位置”里的X、Y坐标,可调整显示面板的位置;
(3)修改“大小”里的高度和宽度,可调整显示面板的大小;
(4)可修改边框颜色和背景色;
(5)点击“元素”后方的“新建”,“编辑”会弹出下方的对话框,在对话框中能选择我们需要显示的值,值的位置,类型、位置、颜色等;
定义的两个元素为:
以下是我的模型中三个显示面板的位置,大家可以借鉴来进行调整到合适的位置:
Transfer Station没有特别的定义,不进行仔细讲解:
仿真结果:
当我们启动仿真时,每次小车经过传感器触发“SetTarget”,模型中的三个图形变量“WeightBlue”、“WeightGreen”、“WeightGrey”都会重新计算,发生相应的改变。我们通过观察这三个值就可以知道,小车是选择值*小的那条路径通往目的地。并不是取决于当前权重系数“CurrentTraffic”。
- 荆门西门子电缆电线一级代理商 2023-11-04
- 西门子CPU224CN中央处理器模块 2023-11-04
- 德国触摸屏供应6AV2124-0QC02-0AX1 2023-11-04
- 6AV2124-0QC02-0AX1一级代理商 2023-11-04
- 西门子授权CPU供应416-3模块 2023-11-04
- 宜昌西门子触摸屏一级代理商 2023-11-04
- 西门子CPU模块224CNDC/DC/DC 2023-11-04
- 6AV2124-0MC01-0AX0一级代理商 2023-11-04
- 西门子CPU一级代理224CN模块 2023-11-04
- 怀化西门子S7-1200代理商 2023-11-04
- 西门子CPU416-3中央控制器 2023-11-04
- 荆州西门子变频器一级代理商 2023-11-04
- 西门子CPU416-3中央控制单元 2023-11-04
- 永州西门子S7-1200代理商 2023-11-04
- 郴州西门子S7-1200代理商 2023-11-04
联系方式
- 地址:上海 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 邮编:201600
- 电话:15021292620
- 销售:颜娟
- 手机:15021292620
- 传真:021-33556143
- 微信:X15021292620
- QQ:2799536152
- Email:2799536152@qq.com