|
1 Y4 W* a4 r- L& [% q5 Q v
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
6 l$ v; O) l, t- L首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。# k& n$ l* b) f& j/ {* P7 b1 }' c
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果3 j, @4 E, u, w; Y( D' M# x
接着我们就可以编程序了,源代码如下:
7 x9 M; r; @- J; i% [1 @; L: hbegin P_process_name arriving
' K, u0 p: K- B: d- x move into Q_queue //load进入队列中
+ t! I& E( C' g7 v+ R/ G if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
& N3 i7 x2 G9 l' P begin
$ X- K( A+ g( _. @% _% B. B) _/ k order 4 loads from OL_orderlist to die //取其中的4个消失6 j; J3 b) J" B
set load type to L_new//设置第5个进来的Load为L_new类型的2 l% ]/ v, g, p% E4 n% t
send to P_next//进入后续流程 , ^( [7 M3 [: [/ L% n! ~
end7 P" a1 \* m! l
else//如果OrderList中的托盘数少于4 则进入
" l H& c# C/ P' k5 g$ P% P. t wait to be ordered on OL_ orderlist+ T8 h( [. t0 H. e& ]
end
8 f( ]6 I( L5 K& q这段代码还可以精简为:' f2 d4 e, R4 G, H" B( X- J
begin P_process_name arriving* G# M$ E0 J" t7 `! O z
move into Q_queue //load进入队列中4 p v8 D; K. S* b) Z- ]
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
& \" ]. P0 O. D begin : [6 Z; ]8 M$ W: t r# @; f- P
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失% E( W/ l. E# h' g' B
create 1 load of load type L_new to P_next //创建一个新的Load7 ^" s" w, b: d( _
end
6 Q0 |4 j: C4 O! b" Z5 i else//如果OrderList中的托盘数少于4 则进入
; b8 S' }0 `; ?4 ^- f wait to be ordered on OL_ orderlist7 I G2 ` E# f; }) l
end
$ M2 o. ^+ m, O这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|