|
|
) [1 }* s2 u% |, h
我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
, W+ z) z2 u" |5 |首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
, y/ t3 \+ s( p) S5 r5 k; @; q然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果2 \* f% M2 n( Y$ e5 H" U4 ^
接着我们就可以编程序了,源代码如下:
; [/ f7 Z3 n i! O% \begin P_process_name arriving
( u2 A% i: C% z$ Y' d! @- `3 g, Z move into Q_queue //load进入队列中2 ~0 M4 P5 B$ {8 s7 Q
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘2 {" x. z9 \$ A I8 N
begin ( Q! N5 [& J# x7 X# J" ^
order 4 loads from OL_orderlist to die //取其中的4个消失
8 [4 c- S6 W* N4 p, s- e! B' J5 s$ S set load type to L_new//设置第5个进来的Load为L_new类型的! q- O/ L; E$ c0 i+ R
send to P_next//进入后续流程
6 c) e/ @5 I- w end+ \8 n \; X; `" u
else//如果OrderList中的托盘数少于4 则进入
9 _; `/ Z, R/ k) ~+ g+ n, Q/ l8 q wait to be ordered on OL_ orderlist, A6 L" b; e1 P0 {) x
end% T2 ^% p6 l0 ~
这段代码还可以精简为:8 n0 p2 U: f- t4 c! g$ c8 p
begin P_process_name arriving) O( R9 R3 s7 } e, i
move into Q_queue //load进入队列中
2 J# H3 w, J# g" I5 y5 e! @5 D: } if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘* G: L: H( Q( x4 R! Z, g, ?
begin ' r/ h6 V, L3 j' M# p O
order 5 loads from OL_orderlist to die //OrderList中的5个全部消失
3 G8 g) u$ M5 Q8 ^ create 1 load of load type L_new to P_next //创建一个新的Load3 W) j2 [8 H, _7 a
end7 p6 H, I+ T$ i
else//如果OrderList中的托盘数少于4 则进入! D* w# Z0 B$ t7 m! q/ R
wait to be ordered on OL_ orderlist
$ z; _" `0 y% c2 I$ \# |, Eend
8 v ^8 _8 V- Z1 z$ D; H6 m* F; Y这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|