|
|
g4 `) S4 D* q0 ~6 |我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
4 V8 _: }) { M/ Z( P8 \首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。* W) K$ J) z, G# F1 V8 a* E! A
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果. c! K, T" K" V
接着我们就可以编程序了,源代码如下:
/ X2 J2 y* G4 X8 b7 Gbegin P_process_name arriving; p, U& Y& |, h
move into Q_queue //load进入队列中
: r# B8 O. D$ w1 x2 M, U4 i- \9 t if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
2 q1 O4 S8 k6 w+ p) u5 H* Q begin , F9 _' A: I% M+ x
order 4 loads from OL_orderlist to die //取其中的4个消失' U; |( O% T3 R$ M) w
set load type to L_new//设置第5个进来的Load为L_new类型的, F- M m. j* ]* X; b
send to P_next//进入后续流程
: z$ t8 T/ a& G S! L$ b9 _7 \ end% P! i* h2 U7 c0 M0 U. k
else//如果OrderList中的托盘数少于4 则进入% F. m1 d1 m# u7 R% n
wait to be ordered on OL_ orderlist
, Z5 a" y$ u5 W' }" hend
$ a4 K4 Q$ ^4 }* {7 q! Z5 E5 B/ f: g这段代码还可以精简为:: q# {, q0 N# T& N. p- [
begin P_process_name arriving
' o. B, [% v0 S- E move into Q_queue //load进入队列中
* e2 `% g! j) `* f8 i1 m# z3 I if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* j+ j$ K; j1 J3 y5 X
begin
; O7 k2 j% K" I' e$ U- l* c4 U/ | order 5 loads from OL_orderlist to die //OrderList中的5个全部消失; I$ r- i9 e- O" E4 k
create 1 load of load type L_new to P_next //创建一个新的Load/ Z2 r1 A* J+ y0 ?
end+ h# i8 ~% G7 a' `0 n
else//如果OrderList中的托盘数少于4 则进入
7 m# Z) d3 p4 x4 W( `0 U o$ h wait to be ordered on OL_ orderlist
2 H- |- t" O: s Jend, ^- |9 e o3 | Y" |8 o4 }
这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|