天天看點

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中移動對象的方法對比

繼續閱讀