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)