|
|
* I( E6 _5 O! z4 ?- w我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
/ N* I8 n2 k# x1 Q9 J8 O) g2 q首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。* b- g, {1 q2 o+ P7 ^5 K
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果$ b: X6 h; _+ ?3 C
接着我们就可以编程序了,源代码如下:
l9 H/ L I' [4 O H- S! N* ]begin P_process_name arriving1 ?+ F) F& N9 A2 n
move into Q_queue //load进入队列中$ [) c& H. b f. g! j3 y- v3 V
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
& H1 J3 P: H7 X1 U3 ^7 p begin
& b5 @( b1 R! I" e$ S" Q5 R, k( @ order 4 loads from OL_orderlist to die //取其中的4个消失 V4 `1 ^# \3 U: K2 i' I! \
set load type to L_new//设置第5个进来的Load为L_new类型的
" Y B7 {; m- U& o/ Z9 c" x send to P_next//进入后续流程
* H9 G' H! ~( Q6 r. m% a& F6 E: {; _7 b end
% S9 q4 M3 R6 T1 P- N* Q else//如果OrderList中的托盘数少于4 则进入+ z* \( f3 P/ `# t v
wait to be ordered on OL_ orderlist0 h% G8 N) c1 O/ m z, p M
end
1 F" ~# ~. u6 j这段代码还可以精简为:
/ O8 g/ t, r2 D8 L1 m" mbegin P_process_name arriving% f2 F$ D4 ~3 Y8 I2 N) w
move into Q_queue //load进入队列中8 c6 d; c$ l0 l$ d& c E4 R
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
7 z9 \% d' i9 ~ M( F: |! R begin b: M: J8 L6 W1 J% v
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
4 `0 Q; S- Y. p1 n: F/ E* V( G create 1 load of load type L_new to P_next //创建一个新的Load) B% j3 O& {' i& l; o9 T
end
+ w, B4 }) R9 T) G9 Z" Z. k# x: | else//如果OrderList中的托盘数少于4 则进入
2 S; V3 r0 T, E9 k# J2 O; t1 R- W wait to be ordered on OL_ orderlist9 n* y% \' c/ |$ q3 @" d' n& i
end" F; G) ?" i, d% S
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|