天天看点

PlantSimulation中4中移动对象的方法对比

insert 移动对象

句法

.insert([Target:any, Position:length, ConveyingDirection:integer]) → boolean

方法 insert 将 指定的 MU 完全放置到参数 any 指定的目标对象上。

• 对于面向点的对象,行为与move 和transfer 方法相同。

• 对于面向长度的对象,MU 也会移动到指定的目标对象上,前提是它提供了足够的空间。如果指定的目标对象没有提供足够的空间,Plant Simulation 会尝试将 MU 的其余部分放置到第一个前置对象上。如果仍然没有足够的空间,Plant Simulation 将再次使用第一个前任,依此类推。

笔记

当使用命令 .insert(TargetObject:any) 或 .insert(Position:integer) 插入失败时,Plant Simulation 将 MU 输入到目标对象的前向阻塞列表中打算搬家。一旦目标对象准备好接受下一个 MU,目标对象就为所有条目(即,前向阻塞列表中的所有 MU)输入 Out 事件。然后目标对象从其转发阻止列表中删除所有条目。

如果您使用参数长度在目标对象上输入某个位置,它不会将 MU 输入到前向阻止列表中,因为 Plant Simulation 无法观察/观察该位置在哪个时间点再次可用。

笔记

如果在为此 MU 处理 Out-event 之前移动了 MU,例如在传感器控件中,并且如果 MU 无法移动并因此进入目标对象的阻止列表,则不会删除 MU从目标对象的阻塞列表中,当阻塞的MU所在的对象发生故障/暂停/停止时。

参数

• 数据类型any 的参数Target 指定目标对象。

相反,您还可以输入位于运动方向上的连接器编号。如果 MU 向后移动,则指令 insert(1) 将 MU 移动到编号为 1 的前驱。

笔记

对于转换器,您不能指定索引。请改用不带参数的方法插入。然后 Plant Simulation 将 MU 移动到目标控件中指定的目标对象上。

• 数据类型length 的参数Position 是面向长度的对象上的位置。

您也可以输入 -1 作为位置。然后插入 MU,使预订点在向前移动时位于位置 0,在向后移动时位于对象的末端。

您也可以在位置 0 插入一个 MU,前提是前任上有足够的空间。

• 数据类型整数的参数ConveyingDirection 指定MU 将要插入到对象上的传送方向/ConveyingDirection。您可以输入 0 到 3 之间的数字。

返回值

返回值具有布尔数据类型。

例子

@.insert(Track,3.3, 1) 
station.cont.insert(?) //可以正常出发前一工位的正常退出程序
           

Move

<MU-Path>.move → boolean
<MU-Path>.move(Target:object[, Position:length]) → boolean
<MU-Path>.move(Target:array[, Position:length]) → boolean
<MU-Path>.move(Index:integer[, Position:length]) → boolean
           

在入口或出口控制中,您可以使用匿名标识符 @ 访问触发 MU(请参阅匿名标识符)。您也可以将其写为缩写,例如@.move。

方法 move 移动 指定的 MU 的前面。

当您为 MU 输入后继时,方法 move 会将 MU 移动到此后继,无论 MU 所在的对象和后继是否与连接器连接。

Plant Simulation 将整个 MU 移动到面向点的对象上,例如 Station 或 ParallelStation。 MU 完全退出第一个对象并完全进入第二个对象,与其长度无关。

方法 move 仅将 MU 的前端立即移动到面向长度的对象,例如 Conveyor 或 Track,而 MU 的其余部分则根据您设置的速度不断移动。为此,一个 MU 可能同时位于多个对象上。它只会显示在其预订点所在的对象上!

笔记

您不能将 MU 移动到 Source 类型的对象。

笔记

您可以使用 transfer 或 insert 方法使 MU 完全退出一个面向长度的对象。

参数

• 当您不输入参数时,Plant Simulation 使用您选择的退出策略将 MU 移动到 MU 所在对象的不同后继对象。

• 当您输入后继者的名称作为数据类型对象的参数目标时,Plant Simulation 会将 MU 移动到该对象。

• 当您输入后继者的名称作为数据类型数组的参数目标时,Plant Simulation 会尝试将 MU 移动到这些对象。当您作为数组成员输入的所有对象都不能接受 MU 时,它将被输入到作为数组成员的每个对象的阻止列表中。

•当您输入后继的索引作为数据类型整数的参数时,Plant Simulation 将MU 移动到该对象。表达式整数是 MU-path.location.succ(integer) 的缩写。请注意,如果 MU 位于另一个 MU 上,则不能使用它。

数据类型整数的参数索引指定位于运动方向的连接器的编号。如果 MU 向后移动,则指令 move(1) 将 MU 移动到编号为 1 的前驱。

笔记

对于转换器,您不能指定索引。请改用不带参数的 move 方法。然后 Plant Simulation 将 MU 移动到目标控件中指定的目标对象上

• 数据类型length 的可选参数Position 指定面向长度的对象上的位置。

笔记

当您将反向行驶的 MU 移动到面向长度的对象上时,Plant Simulation 会自动将此 MU 放置在面向长度的对象的末端。

返回值

返回值具有布尔数据类型:当移动 MU 成功时为真。如果移动不成功,则以下注意事项适用:

笔记

当使用 .move、.move(TargetObjectany) 或 .move(Position:integer) 命令移动对象失败时,Plant Simulation 将 MU 输入 Forward它打算移动到的目标对象的阻止列表/向后阻止列表。一旦目标对象准备好接受下一个 MU,目标对象就为所有条目(即,前向阻塞列表中的所有 MU)输入 Out 事件。然后目标对象从其转发阻止列表中删除所有条目。

笔记

如果您使用数据类型长度的参数输入目标对象上的某个位置,则 MU 不会将自身输入到前向/后向阻塞列表中,因为 Plant Simulation 无法观察/观察该位置何时再次可用。

此外,当 MU 位于移动的运输车上时,Plant Simulation 不会将 MU 输入到向前/向后阻止列表中。

当集装箱/运输车本身移动时,Plant Simulation 从前进/后退阻止列表中删除位于集装箱/运输车装载空间​​上的 MU。

笔记

如果在为此 MU 处理 Out-event 之前移动了 MU,例如在传感器控件中,并且如果 MU 无法移动并因此进入目标对象的阻止列表,则不会删除 MU从目标对象的阻塞列表中,当阻塞的MU所在的对象失败/暂停/停止时。

var ar: object[]
ar := [Station, Station1, ParallelStation, DismantleStation]
ar.append("TwoLaneTrack.A")
if ?.ExitCtrlFront 
   @.move(ar)
end
 
.MUs.Part:1.move(Conveyor)
.MUs.Part:2.move(ParallelStation[2,5])
.MUs.Transporter:3.move(track,3.3)
 
MyConveyor.Cont.move
station.Cont.move(station.succ(2))
 
var i: integer
-- checks all successors
for i := 1 to @.location.NumSucc 
    if @.move(i)  -- if the moving action was successful
        return
    end
next
print "None of the successors is ready."

           

transfer

方法转移将指定的MU转移到下一个物流对象。与 move 方法相反,方法 transfer 将 MU 从活动对象中完全移除。在面向点的对象上,两种方法都显示相同的行为。

在面向长度的对象上,方法传输从活动对象中删除整个 MU。后面不转移到面向长度的对象!

请注意,您不能使用后继索引调用该方法。

笔记

当您将反向行驶的 MU 移动到面向长度的对象上时,Plant Simulation 会自动将此 MU 放置在面向长度的对象的末端。

笔记

当使用 .transfer、.transfer(TargetObject:any) 或 .transfer(Position:integer) 命令传输失败时,Plant Simulation 将 MU 输入 Forward它打算移动到的目标对象的阻止列表。一旦目标对象准备好接受下一个 MU,目标对象就为所有条目(即,前向阻塞列表中的所有 MU)输入 Out 事件。然后目标对象从其转发阻止列表中删除所有条目。

笔记

如果在为此 MU 处理 Out-event 之前移动了 MU,例如在传感器控件中,并且如果 MU 无法移动并因此进入目标对象的阻止列表,则不会删除 MU从目标对象的阻塞列表中,当阻塞的MU所在的对象失败/暂停/停止时。

参数

• 数据类型对象的参数目标指定部件将要移动到的目标对象。

数据类型整数的参数索引指定位于运动方向的连接器的编号。如果 MU 向后移动,则指令 transfer(1) 将 MU 移动到编号为 1 的前驱。

笔记

对于转换器,您不能指定索引。请改用不带参数的方法传输。然后 Plant Simulation 将 MU 移动到目标控件中指定的目标对象上

• 数据类型length 的参数Position 是面向长度的对象上的位置。

返回值

返回值具有布尔数据类型。

@.transfer(Conveyor)
@.transfer(Conveyor, 3.3)
           
PlantSimulation中4中移动对象的方法对比

继续阅读