|
|
/ I c# u1 P# P7 m: h
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
: b7 a4 g: D" ~; j2 T首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。6 w( A0 D a7 X- |
然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果& D( y9 h/ C. T% D, ~
接着我们就可以编程序了,源代码如下:
) o4 i2 V: w. R1 ?2 P. O1 |begin P_process_name arriving
0 N( I/ z2 I3 u# X! P move into Q_queue //load进入队列中
" e) v% Y3 [! g3 [4 \ if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
+ k+ i6 Z' V- f* ^% o/ F( y begin
8 j# c, A- w8 ?2 n order 4 loads from OL_orderlist to die //取其中的4个消失6 m$ ]. Q+ E9 c4 r/ u% `- e! z- B! K0 l
set load type to L_new//设置第5个进来的Load为L_new类型的; D z2 s; q% E' R0 C9 G! S. R
send to P_next//进入后续流程 5 `2 `4 g1 @1 X
end) z$ }3 A' \0 t3 ]6 i' B
else//如果OrderList中的托盘数少于4 则进入3 R/ \1 Q5 W6 U! G' }3 k! _
wait to be ordered on OL_ orderlist
# D" K* Q$ \9 Cend" I! E3 `4 ]. l: N+ ]
这段代码还可以精简为:
- T8 S8 R! k- \begin P_process_name arriving; k' h/ k: w, I& G+ \: j
move into Q_queue //load进入队列中4 J* ^5 ^3 b2 ~( Z6 x- _/ L( {( g
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘
3 i1 @+ ~& }" |! i3 { begin 8 I: W# N8 y, z0 i. a% ^
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
# {& W/ n% } o U create 1 load of load type L_new to P_next //创建一个新的Load; U+ r1 I- p3 h. x4 f. V
end4 P' e- R* B- y
else//如果OrderList中的托盘数少于4 则进入
1 u: u' ]8 x6 D* S( R wait to be ordered on OL_ orderlist- Q% a2 O0 w. i. Y! M
end
( M3 t2 ^" t8 `' s. r t这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|