西门子*处理器模块西门子CPU416-3*处理器西门子CPU代理商西门子CPU代理商
西门子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”。
词条
词条说明
CPU标准型6ES72881ST600AA1S7-200 SMART,CPU ST60,标准型 CPU 模块,晶体管输出,24 V DC 供电,36 输入/24 输出 ④控制线路的“互锁”当两个电器执行元件(如电机正/反转控制接触器)同时动作,可能引起电源短路、机械部件损坏的,为了保证控制系统的工作可靠性,在继电器-接触器控制系统中,需要通过接触器触点进行可靠的电气"互锁"。在使用PLC
新乡西门子S7-1200供应新乡西门子S7-1200供应新乡西门子S7-1200供应新乡西门子模块代理商新乡西门子模块代理商新乡西门子模块代理商西门子CPU模块代理商西门子CPU模块代理商SIMATIC S7-200 (Mao, Dong)小型可编程控制器SIMATIC S7-200 (Mao, Dong)小型可编程控制器6ES7214-1BD23-0XB8S7-200CN CPU224,AC/D
作为一家专业的西门子S7-300模块代理商,我们供应各种CPU模块,电缆和触摸屏等。我们能保证每个产品都是经过严格测试和质量检验的,以确保客户能够获得较好的体验。品牌:西门子西门子是一家****的**品牌,在工业控制方面拥有广泛的经验和专业知识。现在,我们可以为客户提供较新的西门子S7-300模块系列,可靠稳定且**。货期:现货我们拥有丰富的库存,可以立即提供现货服务。我们的订单处理时间非常短
晋中西门子S7-200模块代理商 晋中西门子S7-200模块代理商晋中西门子S7-200模块代理商晋中西门子S7-200模块代理商晋中西门子S7-200模块代理商【21】外部输入信号X0 在1秒钟内有10次输入,这个情况下,是不是需要使用高速计数器?答:是不是需要使用高速计数器,决定PLC的扫描周期。计数器输入脉冲信号的频率不能过高,如果在一个扫描周期内,输入的脉冲信号多过
公司名: 浔之漫智控技术(上海)有限公司
联系人: 颜经理
电 话:
手 机: 15021292620
微 信: 15021292620
地 址: 上海松江小昆山 广富林4588弄52号3楼
邮 编:
网 址: yan6789.b2b168.com
公司名: 浔之漫智控技术(上海)有限公司
联系人: 颜经理
手 机: 15021292620
电 话:
地 址: 上海松江小昆山 广富林4588弄52号3楼
邮 编:
网 址: yan6789.b2b168.com