自动寻址方法简介:

在 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方法。

  1. 在需要设置目的地的轨道上创建一个Sensor
  2. 选择Sensor的Active为”Only when Destination”
  3. 在Destination处填入Sensor的目的地。

轨道权重设置:

  1. 在需要设置权重的轨道上添加统一名字的自定义属性,代表轨道权重,数据类型为 real 。(必须为real型数据)
  2. 给轨道赋相应的权重,没有代表权重的自定义属性时默认权重为1,寻址时按照轨道长度×权重的方法计算最短路。权重为-1时代表轨道不可用。
  3. 在 Rout weighting attribute 中填写代表权重的自定义属性名称。
  4. 最后填写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时任务该轨道不可用。寻址时计算权重×轨道长度获取最短路。

示例:见上方轨道权重设置。

 

 

 

1 对 “Transporter自动寻址方法”的想法;

发表评论