|
|
/ \( q# X( X3 m
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。 ?& V$ B7 A9 J1 A; N8 E1 l; F
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。" ?9 C1 c0 F! T) z, o9 |
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果: H" ?" J1 a" D \( }
接着我们就可以编程序了,源代码如下:* e1 i8 u( m6 M9 H
begin P_process_name arriving7 X7 |: H6 w1 T! H1 h# ^
move into Q_queue //load进入队列中8 J7 x: b, ?% }4 t7 o( Q$ e, G
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
, S: P1 m' Y% H begin 4 H5 q8 D6 ^& t/ L! N- g
order 4 loads from OL_orderlist to die //取其中的4个消失
- s2 Y" O5 p2 v$ v: q set load type to L_new//设置第5个进来的Load为L_new类型的6 \8 G! q: D) y( O/ A% i F2 U0 W
send to P_next//进入后续流程 6 ]" M# T8 b" F
end
% |3 @5 c( ^2 J5 w `0 }7 `" M else//如果OrderList中的托盘数少于4 则进入% p2 Q& T; [$ E4 M* u
wait to be ordered on OL_ orderlist
: J E; R; l' @! W9 K5 V- T# @end# m. X( U+ N- R! {
这段代码还可以精简为:
) N3 D/ A3 G' S' E+ ` @# ~3 Sbegin P_process_name arriving4 _2 M# l- W% b/ T
move into Q_queue //load进入队列中
; a; D. j4 Q& M( {- B if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘" m* F2 v1 @' i* O6 Q
begin
, L' \" j2 P2 N% V; E5 ` order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
7 z* S) Q: F3 _8 g$ W0 s, Q create 1 load of load type L_new to P_next //创建一个新的Load
9 \9 c! F& M0 A+ w* S. u2 i end( L0 S1 F" M) A( ~
else//如果OrderList中的托盘数少于4 则进入
7 Y+ m, f6 p; P# H9 _* e# z wait to be ordered on OL_ orderlist, r0 I% C, I+ r5 [$ \
end8 J X; f8 o: C2 m, @! e& N/ h
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|