|
|
3 K7 g, x, Q& P! }1 n我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
# d. J/ E3 G. n) k首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
/ R `7 F" c( u+ K( K$ T然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
; u, H+ Y8 _# O1 g" ^3 v3 u: `接着我们就可以编程序了,源代码如下:
5 W% o& }. U8 D# Q2 b5 xbegin P_process_name arriving
) N9 y5 Q8 c# A5 l+ X move into Q_queue //load进入队列中
! c5 H% U7 e" u5 N/ a( x1 Q* Z3 r4 }( O if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘0 h) s3 z, V3 J. L- X
begin ' V% \8 D! j7 G; v
order 4 loads from OL_orderlist to die //取其中的4个消失& h3 E& f( D+ x- V/ U, `% O
set load type to L_new//设置第5个进来的Load为L_new类型的. Q. e! \# n; b1 ]9 a
send to P_next//进入后续流程
9 N/ i) j2 @& j# c9 [ } end7 }3 H& N; r, P! `+ N2 o$ {
else//如果OrderList中的托盘数少于4 则进入 [! j$ w& {+ F$ m- A1 ?
wait to be ordered on OL_ orderlist
! h5 E' J0 \0 }0 l4 N6 ?7 Rend
; K4 p' p# [' O, Y7 c% n, b" ~这段代码还可以精简为:
2 i4 w t' |' B+ n; L% J/ T9 wbegin P_process_name arriving# {; p2 a. i& M$ v2 |- m
move into Q_queue //load进入队列中7 O5 u5 A& l" S1 b% T4 l
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
* t+ O! O9 y5 X$ @" U$ U9 J+ y begin 8 F1 m* N9 q/ ]# C
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
6 e0 ^6 Q" Q% z5 W( a3 m create 1 load of load type L_new to P_next //创建一个新的Load1 ~3 _- |. R ^" c7 a( Z4 o) J$ n* q
end o; }! Y4 I/ @, D
else//如果OrderList中的托盘数少于4 则进入
9 I; K5 g! u1 `3 q& }/ ? wait to be ordered on OL_ orderlist8 V" B9 R* ]. |
end
" z- F. ]1 o* x, l* F" u: Z l0 D这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|