|
|
?5 p2 L) e, Y8 L' h我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。- K* o+ N" h: T3 f4 u# S! G
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
" _- u% f6 T$ d) D% d4 d5 D, h然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
* ?$ o% ~6 m# ~- l& I1 P接着我们就可以编程序了,源代码如下:
" z/ {5 y0 w) E# V; B6 ?begin P_process_name arriving
1 f8 T! H3 ~" w3 g$ b0 T9 q9 y move into Q_queue //load进入队列中! b4 U6 C3 b6 f1 K* Z' o. z) `
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘7 M0 x6 r0 b7 e6 S3 |+ D7 Y" V
begin ! G$ l7 y/ ]# @; o
order 4 loads from OL_orderlist to die //取其中的4个消失
6 e- |; B) l4 o/ R' ? set load type to L_new//设置第5个进来的Load为L_new类型的/ Q. T" |- P9 b4 ?8 a$ f. b
send to P_next//进入后续流程 1 N) t, I5 I1 Y% F6 a
end R- H* ^) Y- l! i, _
else//如果OrderList中的托盘数少于4 则进入
' D# u7 Y6 t5 G0 n wait to be ordered on OL_ orderlist3 A9 T; S. t9 S; p |( u9 R0 f
end
+ d3 ^! z* e \7 U这段代码还可以精简为:! f" B* G" s9 _1 i5 W8 ]. Y
begin P_process_name arriving
0 b: G9 ^) g, K( `. g3 S8 F4 z move into Q_queue //load进入队列中+ M9 K) P: E) a9 k, M- b& d
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘3 ` H: Q6 Y4 C
begin
! U/ M; {5 E$ J8 T order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
' a& n7 }0 e/ f5 J1 x create 1 load of load type L_new to P_next //创建一个新的Load n) Y4 }( \9 ?5 B" S
end
1 u8 o& i" K: q, M; P2 A else//如果OrderList中的托盘数少于4 则进入( P6 ~" @' w7 _" I* v$ w
wait to be ordered on OL_ orderlist4 N/ T3 r; ?9 `) b2 f
end, }% J" Y/ x9 E4 ^
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|