|
|
6 c. _7 T6 e% f, _' x+ ~- ?. p2 b6 U我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
2 _, V9 h0 t. l8 l+ _首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。' ]6 l: w/ A. _, A+ f3 [
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果; N2 X( ^+ K+ G! [8 z/ }4 E
接着我们就可以编程序了,源代码如下:
. r% ~& A5 D) P9 i pbegin P_process_name arriving: r7 \' \8 O5 K7 R
move into Q_queue //load进入队列中; O& X% E' B' q% F Y o
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
) W# T$ I$ d/ O+ k+ a begin
9 \5 [& W4 F8 U; d3 v# O* R. j4 z order 4 loads from OL_orderlist to die //取其中的4个消失
: G W$ M& g( C3 E set load type to L_new//设置第5个进来的Load为L_new类型的4 l1 Y6 R! Z2 e4 y* @6 m7 I6 M3 e
send to P_next//进入后续流程 ; u7 D) r) Y: B# V
end
! v# B( i' I: t! U& J& ]( k else//如果OrderList中的托盘数少于4 则进入' o3 [% }& T% s: o
wait to be ordered on OL_ orderlist
4 E- M0 W& P+ U$ q- t Yend
( H; Y! t k8 {/ G6 N, c这段代码还可以精简为:# F( I% T4 ^" f
begin P_process_name arriving
2 d$ n' n% e6 {: ? y$ l move into Q_queue //load进入队列中; d( z0 b6 d4 E$ k b; N" ]
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘7 H# N+ c- C' ^1 D
begin
2 _8 E$ B2 v/ s! C. @ order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
a- s# ]. R* `7 ^5 e) R2 C create 1 load of load type L_new to P_next //创建一个新的Load
! z5 @/ R& T: A9 d end5 Z; }) Z0 c4 d! z$ T
else//如果OrderList中的托盘数少于4 则进入
' {# C# _5 L( K. ~% B1 b8 w; K6 A wait to be ordered on OL_ orderlist
* ]4 l! g7 i" O/ k% |end7 O4 a3 G+ P/ M5 R
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|