|
|
3 q6 h4 K/ h+ C# |" r) Y0 I我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。# W# l7 p# z4 J& p3 l( |
首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
8 F4 ]9 c( X; V3 |+ q然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
: P7 x2 K; A6 K接着我们就可以编程序了,源代码如下:
! l2 _- a" N, f; o+ q# Gbegin P_process_name arriving8 j6 }; T0 O/ r) T
move into Q_queue //load进入队列中
( _$ u$ N) G: g, E if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘- @0 g/ }0 T @
begin / K6 F9 i7 r) ?9 V" }) ~
order 4 loads from OL_orderlist to die //取其中的4个消失0 x" n" D& B `. i$ P& o8 H2 ^
set load type to L_new//设置第5个进来的Load为L_new类型的
! k, l# n. `, p6 o5 j# E send to P_next//进入后续流程 ) }5 {5 F) N8 J& |. \' ]/ l
end
& ]- m% d0 K# T; G, c6 M else//如果OrderList中的托盘数少于4 则进入8 Q4 _3 b% r7 b! J3 R4 L" K, R
wait to be ordered on OL_ orderlist
1 B. Q3 b: F6 H' |8 S' \end
2 \2 V+ Q& q5 ^3 A! b这段代码还可以精简为:
: q! y" e! W) b9 t. F) Ybegin P_process_name arriving
5 S( T" c) K3 Z6 }: l I move into Q_queue //load进入队列中5 J N) Z, t0 @7 Y& u0 m9 e
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘5 z5 I& ]4 \6 Q( C# o
begin
3 n: ~# Q7 S) t; Y- q order 5 loads from OL_orderlist to die //OrderList中的5个全部消失; A( @* h7 J0 m) R/ L+ O' z
create 1 load of load type L_new to P_next //创建一个新的Load! j. V3 k3 w( Y$ k6 i
end4 |" ]( ?# F) Q* d& L( F. ~" A
else//如果OrderList中的托盘数少于4 则进入. ?3 Z; R' M, Y X$ Z1 Z8 c; B& \
wait to be ordered on OL_ orderlist& O8 [# u6 B# [* o+ `) W, Z
end' a6 _2 R8 e' O) \! I
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|