|
v9 I5 _( D# b, O4 R. k我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
1 z/ y$ n9 U" s/ E+ w! z首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。0 V j r( m% d7 G
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
1 U6 j- v1 {: ?$ W/ @9 `接着我们就可以编程序了,源代码如下:; L$ t3 U! u. {. o
begin P_process_name arriving
7 G* r- f8 V+ H) } move into Q_queue //load进入队列中8 k4 x4 q) \" I1 {
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘5 N0 l5 V6 p2 e8 e: ?. J8 G
begin * V3 s& x4 `* |# R% d4 d
order 4 loads from OL_orderlist to die //取其中的4个消失
) Z5 Z" u' B4 R# Y: s/ b set load type to L_new//设置第5个进来的Load为L_new类型的
' l5 S: l" @4 t4 O J6 @" m send to P_next//进入后续流程 D' _8 I' A8 `
end& |7 ~8 Q( q6 q4 t6 H4 j! m
else//如果OrderList中的托盘数少于4 则进入
" m3 d& l! U( e0 P& r wait to be ordered on OL_ orderlist
9 D# C* p% z5 _2 _& oend, x% M& y! W) H2 C: }- \' l/ N
这段代码还可以精简为:* |1 B3 g: k3 I
begin P_process_name arriving( F/ E2 z, A |
move into Q_queue //load进入队列中
. m, v6 s% B L- e! [5 { if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
3 l, L& z8 } [: J1 e l begin & y8 Q7 ]- y+ g6 I
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
& {7 U3 |2 g* H& K& U% k" G# P' n create 1 load of load type L_new to P_next //创建一个新的Load
/ G! G0 _2 n' e: v end2 ?% T& R5 E! A8 g
else//如果OrderList中的托盘数少于4 则进入, s6 [" p8 A7 U; `
wait to be ordered on OL_ orderlist) v4 d% e3 N3 H- U* t2 X
end
8 |, N/ R# c( X; }& K5 C I! q9 Q, p这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|