|
|
0 @" \" C; z% Q- @; h
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
) r' H% t: n7 q首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
$ Y4 r1 _0 u0 p0 a9 ]9 t然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
0 C1 S* t% m7 N接着我们就可以编程序了,源代码如下:6 b+ x3 D; R* A+ I3 i1 F) z% I
begin P_process_name arriving& \) q$ p7 F+ x
move into Q_queue //load进入队列中
9 v2 _9 s6 g- C# `% A if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘9 T' D( R$ z: r! U: T( c/ K9 R/ v: N
begin
/ U& ~6 k9 S- h/ P2 S order 4 loads from OL_orderlist to die //取其中的4个消失
0 {! K! g5 k" C- g. y set load type to L_new//设置第5个进来的Load为L_new类型的
4 t( l# _7 V$ W0 T5 B- B send to P_next//进入后续流程 : S! G8 K. B4 I
end: F- B+ {7 C9 l4 N) j- L
else//如果OrderList中的托盘数少于4 则进入
, ]" I: L/ D6 d wait to be ordered on OL_ orderlist
8 y( x* K6 K% J/ C0 Qend8 h+ U1 b% I7 D8 v
这段代码还可以精简为:
% t8 C, Q7 ^( m5 B2 k! Z6 gbegin P_process_name arriving6 S3 Z8 E2 @: p* J
move into Q_queue //load进入队列中1 @) H" X) i+ V, y7 X# p
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘% `: Q) P- ~8 ~; l, ]1 P
begin " s6 O8 k I/ G( M" r7 L0 }$ h
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
N/ I$ X: L( b9 \* g) f create 1 load of load type L_new to P_next //创建一个新的Load
- i) M! n' x" O! ]3 G G! b end
9 H- q1 u- p, l) j! m2 X# ^ else//如果OrderList中的托盘数少于4 则进入
" B6 C4 k$ G6 r7 ~% D$ \$ L4 ^7 Q& K wait to be ordered on OL_ orderlist
% z1 i* G Q* G6 {5 x! q) ]: V7 Hend* w: k3 u# d/ b/ @5 Z
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|