Transporter自动寻址方法
自动寻址方法简介:
在 Plant Simulation 中Transporter具有自动寻址的功能,无需手动判断路径。
Auto routing即为自动寻址的选项,默认为勾选状态。
Destination为目的地,Transporter会根据Destination的值寻找到达目的地的最短路。
Rout weighting attribute为可选项,可以定义轨道的权重。
详细说明:
基础用法:
勾选Auto routing(默认即为勾选状态,无需修改),然后填入Destination,如果Transporter当前位置有到目的地的路径,Transporter会自动生成最短路,并沿生成的路径运行。当Transporter到达目的地之后会触发Transporter中Controls选项卡中的Destination的控制方法。
推荐用法:
如果使用轨道直接连接Buffer的方法,可以寻找到路径,但是当路径和轨道布置较为复杂时无法找到相应的路径。
如上图,在Track上的Transporter无法找到到达Buffer1的路径。所以建议使用Sensor的Destination方法。
- 在需要设置目的地的轨道上创建一个Sensor
- 选择Sensor的Active为”Only when Destination”
- 在Destination处填入Sensor的目的地。
轨道权重设置:
- 在需要设置权重的轨道上添加统一名字的自定义属性,代表轨道权重,数据类型为 real 。(必须为real型数据)
- 给轨道赋相应的权重,没有代表权重的自定义属性时默认权重为1,寻址时按照轨道长度×权重的方法计算最短路。权重为-1时代表轨道不可用。
- 在 Rout weighting attribute 中填写代表权重的自定义属性名称。
- 最后填写Destination即可寻找带有权重的最短路。
自动寻址相关函数:
hasRouteToDestination
判断是否存在可行路径。
示例:local HasRout := .MUs.transporter:1.hasrouteToDestination //返回值HasRout 为boolean型
getRouteToDestination(DestinationObjects:<table>)
也可以返回是否存在可行路径,如果存在可行路径则将路径写入传入的表格中。
示例:local HasRout := .MUs.transporter:1.getRouteToDestination( TableFile ) //返回值HasRout 为boolean型,路径会写入TableFile中,并自动将TableFile格式化为合适的格式。
getRouteLength(DestinationObject:<object> [,TargetTable:<table>])
可以返回当前Transporter位置到达目的地的距离,目的地不可达时返回 -1 。同时也可将搜索到的路径写入传入的表格中。
示例:local Len := .MUs.transporter:1.getRouteLength( SingleProc, TableFile ) //返回值Len为real型,数据为当前transporter到SingleProc的距离(无法到达返回-1),同时将路径会写入TableFile中(TableFile位置也可不填,只获取路径距离)。
RouteWeightingAttr
当需要给轨道赋予权重时可利用该属性。该属性值即为轨道的权重属性名称,然后在相应的轨道上添加该名称的属性,并赋予相应的权重。没有该属性,权重默认为1.0,权重为-1时任务该轨道不可用。寻址时计算权重×轨道长度获取最短路。
示例:见上方轨道权重设置。
zan