|
& @' D+ @% C- ^/ n5 H
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
$ ?& Z: u. O3 _+ t" b5 C首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
5 O; W Q: U: ^- V* U# G1 r' {然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
2 o! G! C; L2 p6 b. |1 O4 \2 O接着我们就可以编程序了,源代码如下:# ?1 y8 V8 ^ ~" z5 a+ a
begin P_process_name arriving' R; i) l$ X+ V2 D$ X$ i
move into Q_queue //load进入队列中
3 ]8 F/ E$ f; D4 E! ]8 h7 I: o if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
- S* r2 O5 K4 r" b6 p9 X begin ^$ L& I+ q7 A
order 4 loads from OL_orderlist to die //取其中的4个消失
; n2 ? r& K$ R, ^7 @$ x9 t Y set load type to L_new//设置第5个进来的Load为L_new类型的: f+ n) G: W# y( O! F+ q# i
send to P_next//进入后续流程 6 Q" @+ X0 f6 J6 L
end
8 ^: {' P% [- [ else//如果OrderList中的托盘数少于4 则进入
8 t1 m8 `4 e9 D, s2 {2 s" w1 m9 P# L wait to be ordered on OL_ orderlist
- g6 ]6 F# x9 i7 _6 q: Q2 P0 `end
- b4 }8 `. \0 a4 k+ `" a, g这段代码还可以精简为:
* ]' j4 l- d, |% Gbegin P_process_name arriving+ D4 i& o( o# J( }2 n& K" _
move into Q_queue //load进入队列中( w. K5 M6 Z+ v! n% G: l
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘" G4 |0 m$ I ]" W$ K) o8 h
begin
! _! |4 _$ g% x$ Y order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
! h0 a8 U$ U3 \% A8 V; D1 T+ \0 M create 1 load of load type L_new to P_next //创建一个新的Load: Q! u4 F) I8 B1 D0 A
end& I @% U4 p/ V$ I3 H4 ]2 X" z
else//如果OrderList中的托盘数少于4 则进入
* V' k! Q* [5 `4 I9 L4 {7 n+ q! U wait to be ordered on OL_ orderlist- c2 c9 H& Q3 r9 L! ?$ b* z! |, E. m
end
& U8 [* n" [- Z! o# U" n A1 {( E这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|