|
( [! _+ h& d; n我是Automod 初学者,在做某项目仿真时需要仿真叠盘系统,而叠盘系统在Automod中是没有现成的东西可用的,必须通过编程来实现。现在把这个方法和大家分享一下,献丑了,如果有什么更好的办法希望大家一起分享交流。
2 X' E! B% e" V: l! K$ V+ V, ^首先,在输送线的叠盘系统位置建立一个Queue,在Queue中建立一个Container,这样你的托盘进入到队列才能显示出来。
6 y9 [+ \6 L& n# m& ~. u然后 建一个OrderList,详细设置我在这里就不赘述了,你可以每项都试一试看看是什么效果6 Q. k. y9 q- I
接着我们就可以编程序了,源代码如下:
1 \% }/ R+ h T( k8 ?5 g1 |" e' @begin P_process_name arriving6 k; |: O% F }+ o2 B* x B( A
move into Q_queue //load进入队列中
$ K m/ n J3 D' S if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘% S7 T; m i- e7 x: C) R O6 v
begin
4 u3 v7 ?6 g. p3 z+ ` order 4 loads from OL_orderlist to die //取其中的4个消失1 H2 s# ^3 e3 c6 n9 ~2 R
set load type to L_new//设置第5个进来的Load为L_new类型的
: I" }- H5 x F y- E) H8 J. x send to P_next//进入后续流程 4 c% k+ U* N% a3 G; Q2 v
end% [' O5 S# N) H1 x
else//如果OrderList中的托盘数少于4 则进入
/ A) L7 t; ]2 }9 h7 L wait to be ordered on OL_ orderlist
( b/ {% h# |( \% o# oend3 @& g9 c I& X( R
这段代码还可以精简为:! Z* a7 g3 _8 m, j/ U# m$ Z- |
begin P_process_name arriving/ l' j, \% v2 B
move into Q_queue //load进入队列中( b' ?, m: p8 n2 A
if OL_ orderlist current loads =4 then //判断OrderList中是否有四个托盘5 L/ L7 q2 z# A$ C7 ]7 l! e
begin
; V" ]& Z" t. {& F) X& u3 D$ } order 5 loads from OL_orderlist to die //OrderList中的5个全部消失- K* g- K# n1 s
create 1 load of load type L_new to P_next //创建一个新的Load
! L# F+ K. O& V( B6 w end9 U- C3 X: G' [5 V7 s3 _; X& z
else//如果OrderList中的托盘数少于4 则进入- i M( {% B' c# M
wait to be ordered on OL_ orderlist& {& E- r. D, ~, I. i0 `: c
end
* b' f9 T5 ]2 ] G4 t. S9 N这段代码不但可以用于构建叠盘系统,还可以应用与装配工位,机器人码垛等! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|