|
|
2 x2 ~% }; T' w7 T我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。* `5 } S! C$ H* |
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
3 _6 Z( j2 H3 q然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果4 W- U* g" F3 B8 Z- S, L
接着我们就可以编程序了,源代码如下:9 F6 u# G& V0 e
begin P_process_name arriving7 ~# ]! w" d( B) }* m
move into Q_queue //load进入队列中! L' j5 v2 K' P! M5 Z9 c- O H
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* R/ b/ e) }8 e6 o) B* N! S
begin
/ _9 }# a1 q- Q; L" G) } order 4 loads from OL_orderlist to die //取其中的4个消失
6 t6 w, @% K/ f set load type to L_new//设置第5个进来的Load为L_new类型的: h/ |& J# L" i* l& ]4 }4 I! h
send to P_next//进入后续流程 # {* O0 v- P* ]3 Q
end% ~# O( q! Z7 `. o) G9 J
else//如果OrderList中的托盘数少于4 则进入" |! P& ?5 S/ d: X9 Q
wait to be ordered on OL_ orderlist
4 T2 Z1 D) {% H- dend0 s- f9 [ V4 V; }: b! \8 g* t
这段代码还可以精简为:$ |7 c- }" ? O, L) O' i
begin P_process_name arriving
- A% A( y6 S. S! K* n move into Q_queue //load进入队列中8 G6 I. v2 X/ F* F0 o" @; w# v5 w
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘' h; S) i) Y" s2 o
begin
( m2 y7 H( O" p' v2 D% s0 }3 j) l order 5 loads from OL_orderlist to die //OrderList中的5个全部消失+ O, G# b1 u. O1 E) v- o+ `, t/ U
create 1 load of load type L_new to P_next //创建一个新的Load$ z( K3 r, s; N( T6 a6 S' b* n! z
end6 h: r! ^% _; @
else//如果OrderList中的托盘数少于4 则进入
4 o. q. Y; r! w& |6 v( N wait to be ordered on OL_ orderlist
, j% M; T6 M$ Y- w3 k3 _4 |end& A/ @; p8 p% o+ L
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|