|
% O8 _2 Z3 e+ x我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
, M3 L" t b% q9 [3 ]& [首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
" B) r/ e, j* r然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
- f' Y* g) ?! E4 ~接着我们就可以编程序了,源代码如下:: V1 X: k" d/ f, ~& O
begin P_process_name arriving
F0 B# X8 W9 r" t2 m& L7 j; C/ \ move into Q_queue //load进入队列中
( y) m7 D; {' x- F9 b3 ]1 Z/ l if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
s) g: A2 V4 K8 B begin 1 E# E7 H/ {/ M% R4 M* ?
order 4 loads from OL_orderlist to die //取其中的4个消失6 t+ p: O9 d1 K3 R1 E+ e% c- q, N
set load type to L_new//设置第5个进来的Load为L_new类型的) i. @' u4 \6 U* g
send to P_next//进入后续流程 8 d5 j) h. r; B& ~
end
( C6 J1 e: \# |6 D: y2 G2 X9 R, O else//如果OrderList中的托盘数少于4 则进入! k3 |" z+ r$ x# \% U; j
wait to be ordered on OL_ orderlist8 q9 w1 \1 g- o8 L
end
, i) q1 f: S' f3 s6 E这段代码还可以精简为:" k: ]' d" c7 O3 [- \( m$ e/ g
begin P_process_name arriving
$ D( I0 K9 s5 M$ @+ w( K- L! O move into Q_queue //load进入队列中- \( B- E6 P- X6 \
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- i1 S; p# K6 X" Y7 h
begin 2 w) ?& Z; ?1 q1 h' ^. S, `( S
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失3 E/ @) O& U( o7 M
create 1 load of load type L_new to P_next //创建一个新的Load
2 J. {: J$ \" L' y% b7 p end
, w2 d; _# B$ J9 ~ else//如果OrderList中的托盘数少于4 则进入3 p( H. v1 m1 ^$ W
wait to be ordered on OL_ orderlist0 K! Q5 \0 c0 n% S
end2 O- s8 J: R+ T& U: b) D: _
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|