|
. Q. S# ~. W, ]3 B5 a$ f我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
. Q6 {" L! ~* B$ C首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
) B* j# F- w2 w4 W: c然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果
* B' ~4 n# j6 [3 n5 g接着我们就可以编程序了,源代码如下:8 ]. _9 |6 A# N# P9 a! _1 Z
begin P_process_name arriving5 S0 m& Y# d$ p2 w3 @4 N& v
move into Q_queue //load进入队列中) M$ B* n6 X! I5 z
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘 ?9 s2 ~& l# P" B
begin ; ?. v9 n' ?7 w# K9 K1 Z
order 4 loads from OL_orderlist to die //取其中的4个消失! T- m- ~, D" l; X. q( \
set load type to L_new//设置第5个进来的Load为L_new类型的9 I$ |. M; e5 Z3 o( C' K
send to P_next//进入后续流程 8 L; o+ A% q) b1 W1 f4 _) N
end0 G: d/ w4 I5 I
else//如果OrderList中的托盘数少于4 则进入
$ j3 p. ~( x1 a* c) b/ {, V wait to be ordered on OL_ orderlist1 |) ~# }1 s* ^; I: t9 z$ j
end
6 R3 k" ?5 O! [2 x5 t4 Z这段代码还可以精简为:) r& W' n, ^9 H& W
begin P_process_name arriving+ H( v0 V( l: b
move into Q_queue //load进入队列中
, h. ` m! w! H if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
/ e+ k3 ?6 E! e9 ?' ~8 U( o. j* { begin 6 C& y* j6 q9 K g) ?( L
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
6 F8 R: o7 z! {+ k create 1 load of load type L_new to P_next //创建一个新的Load2 {1 @9 a5 F- O' F3 x. W, k4 B! ?
end
0 P) i& q0 e; j else//如果OrderList中的托盘数少于4 则进入
# X' j7 o V8 ^6 i wait to be ordered on OL_ orderlist
$ C5 E; y/ @: [, Qend
7 E1 @1 B/ Q; j2 a( C5 G$ U这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|